archivi categoria: SharePoint Workflow

Attivazione del flusso di lavoro precoce — Una soluzione Non-medici

AGGIORNAMENTO: Vedi questa discussione di MSDN, soprattutto l'ultima voce: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Esso descrive una condizione che potrebbe provocare un cortocircuito tutto questo. In breve, può essere semplice come fare almeno uno dei campi obbligatori.

Io sono una raccolta di documenti che supporta otto tipi di contenuto.

Ho un flusso di lavoro SharePoint Designer che vuole calcolare e assegnare una data promemoria"" sottraendo semplicemente 30 giorni da un'altra colonna, "data di scadenza". Questo dovrebbe accadere solo per uno dei tipi di contenuto, "Assicurazione". L'obiettivo aziendale è quello di produrre un indicatore KPI che mostra due categorie di documenti assicurativi: "sta per scadere" e "scaduto." (Potete leggere di più su questo genere di KPI e più sostanziale drill-down qui).

Ho configurato il flusso di lavoro quando viene creato un nuovo elemento e quando viene modificato un elemento fuoco. L'idea è che quando viene caricato un documento assicurativo, Calcoliamo una data di avviso"" base alla data di scadenza. Un paio di visite di lavoro in relazione a un elenco di KPI per evidenziare queste condizioni quando gli utenti hanno colpito la loro home page.

Questa strategia non funziona quando carica un documento.

Caricare il documento e sono presentati con la schermata di immissione dati meta. A questo punto, Sono già nei guai. SharePoint ha già, prematuramente dalla mia prospettiva, licenziato il flusso di lavoro. Io non ho avuto la possibilità di scegliere il tipo di contenuto corretto né assegnare una data di scadenza. Allo stesso tempo, il flusso di lavoro non viene generato quando premo il pulsante di invio in questo momento. C'è una logica incorporata che "ritiene" che presentare prima fa parte della "crea" evento. Così … ha licenziato il mio flusso di lavoro e quando è eseguita, passò i valori predefiniti meta dati.

Il work-around migliori che conosco è per inserire una pausa"fino al" attività del flusso di lavoro. Ho la pausa del flusso di lavoro per 1 minuto. Mentre esso è la pausa, Selezionare il corretto tipo di contenuto, inserire i meta dati e presentare. La pausa viene completata e il flusso di lavoro procede secondo le necessità. (Notare che nel mio ambiente, attività relative ai timer del flusso di lavoro da SPD non funzionano fuori dalla scatola. Si può avere lo stesso problema. Vedere qui per maggiori dettagli).

Non mi piace "magia ritardo" nei dintorni di lavoro. Cosa succede se l'utente carica un documento e il telefono squilla e la conseguente conversazione dura più a lungo la pausa? Posso fare la pausa più lunga, ma io ancora non piace.

Scritto su questo sul forum di MSDN: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Semplice e veloce: Inviare una mail con collegamento ipertestuale incorporato dal flusso di lavoro SharePoint Designer

Una o due volte al mese, qualcuno invia una domanda forum: "Come io includere collegamenti ipertestuali a URL che sono cliccabili da una email di SharePoint Designer?"

Presentato senza ulteriori commenti: (bene, in realtà c'è ulteriore commento dopo l'immagine):

immagine

Becky Isserman segue con una spiegazione utile su come incorporare un collegamento a un elemento nell'email: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Semplice e veloce: Abilitare il flusso di lavoro SharePoint Designer aggiornare un modulo di InfoPath

Scenario: Ho un modulo di InfoPath che front-end un processo del flusso di lavoro implementato tramite SharePoint Designer. A un certo punto, un manager deve approvare il modulo. Da allora non posso contare su storia del flusso di lavoro per soddisfare la mia revisione requisiti, Decido di memorizzare il mio messaggio di controllo direttamente sul modulo stesso.

Panoramica:

Progettare il modulo e pubblicarlo come un tipo di contenuto e il modulo stesso in una raccolta documenti. Marco desiderato campi modulo come essendo aggiornabile da MOSS. La forma è legata al tipo di contenuto e il tipo di contenuto è "collegato" in una libreria di forme (o molti, Se vuoi). Scrivere un flusso di lavoro che aggiorna il campo.

Passaggi specifici:

  1. Creare una raccolta documenti. Questo terrà il vostro modello di InfoPath.
  2. Creare una libreria di moduli.
  3. Creare il modulo di InfoPath. Includere un campo di testo, "Messaggio di controllo".
  4. Pubblicare il modulo come tipo di contenuto (NON un documento).
  5. Durante la compilazione le finestre di dialogo editrice:
    un) Salvare il file con estensione xsn nella raccolta documenti (passo #1).
    b) Pubblicare il messaggio di Audit"" Campo e segnare vero: "Consenti agli utenti di modificare i dati in questo campo utilizzando una pagina di proprietà o foglio dati".
    c) Creare un nuovo tipo di contenuto e dargli un nome appropriato.
  6. Accedere alla libreria di forme.
    un) Vai alle impostazioni avanzate e attivare la libreria di forme gestire i tipi di contenuto.
    b) Selezionare il tipo di contenuto appena creato (5c di cui sopra). Si saranno raggruppata sotto "Microsoft InfoPath" (o simili).
    c) Rimuovere il valore predefinito "forma" tipo di contenuto dalla libreria.
    doppie) Mark la libreria a "Visualizza come pagina web" affinché il modulo lancerà da SharePoint e non il client workstation di InfoPath.
  7. Tornare alla libreria di forme corretta e fare clic su "nuovo" semplicemente verificare che il modulo è inviato correttamente e recitazione come volete.
  8. Fuoco su SharePoint Designer e spostarsi al sito che ospita la tua libreria di forma (dal passo 2).
  9. Creare un nuovo flusso di lavoro associato alla libreria di forme.
  10. Aggiungere una singola azione "Imposta campo in elemento corrente". Si dovrebbe aspettare SharePoint Designer alla lista sei il campo, "Messaggio di controllo". Assegnare un valore.
  11. Fare clic su fine e tornare alla libreria di forma.
  12. Creare un nuovo modulo e mettere qualche valore di prova nel messaggio Audit"" Campo.
  13. Salvarlo e tornare alla libreria di forma.
  14. Tasto destro del mouse, selezionare "Workflow" e iniziare il vostro flusso di lavoro.
  15. Dovrebbe funzionare quasi immediatamente. Tirare verso l'alto il modulo (dal passo 12) e se tutto è andato per pianificare, "Il messaggio di controllo" è stato assegnato il valore fornito nel passaggio 10.

Note:

Non tutti i controlli possono configurato per questa comunicazione bi-direzionale. Per esempio, non sembra per implementare un flusso di lavoro SPD che modifica i campi di testo avvolti all'interno di sezioni ripetute.

Uno del chiave take-away qui è che abbiamo davvero creato un tipo di contenuto con un modello associato. Questo permette anche di memorizzare più modelli di modulo di InfoPath nella stessa raccolta moduli.

Questo richiede forme server. Certamente non sta a lavorare in un WSS 3.0 ambiente e probabilmente anche richiede un ambiente SharePoint Enterprise.

SharePoint Designer — Attività personalizzata per eseguire funzioni definite dall'utente c#

AGGIORNAMENTO: Questo è stato rilasciato in CodePlex qui: http://www.codeplex.com/spdwfextensions

AGGIORNAMENTO: Si veda qui per le ultime note di rilascio: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

AGGIORNAMENTO: Vedi qui i miei pensieri sulla commercializzazione di questo progetto: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Questo progetto prevede un'attività personalizzata in SharePoint Designer. Utilizzare questa attività personalizzata per richiamare (spedizione) qualsiasi funzione in c# che è incorporato nell'assembly collegati.

Come di fine ottobre, 2007, Questo è solo una versione iniziale del progetto. Ho in programma di espandere il nodo con un numero di funzioni aggiuntive, compresa la sottostringa, indice, sostituire, richiamo di servizi web e tutto ciò che sembra utile o interessante. Ho anche intenzione di questo post di codeplex, una volta che ho il mio agire insieme su questo fronte. Anche questo potrà essere distribuito come una soluzione ad un certo punto.

Se avete dei commenti da fare, domande o suggerimenti, si prega di lasciare commenti o scrivermi.

Dichiarazione di non responsabilità:

Io assolutamente non fanno reclamo dell'idoneità di questo per qualsiasi scopo. Utilizzare a proprio rischio.

Procedura di installazione (da seguire per ogni Web front-end della farm):

1. Scaricare il. zip ed estrarre.

2. Installare il file dll nella GAC. Apro di solito c:\windowsassembly usando il windows explorer e copia esso ci.

3. Modificare il file Web. config per aggiungere l'assembly ai controlli di sicurezza:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Assembly = "SpdGenericInterface, Version = 1.0.0.0, Cultura = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorizzato = "True" />

4. Copia "SpdGenericInterface.actions" a c:\Programma FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Si noti che la posizione di cui sopra è specifica per installazioni di lingua inglese.

5. Chiudere SharePoint Designer (Se è già aperto).

6. iisreset

7. Aprire SPD e creare un nuovo flusso di lavoro.

Se tutto va bene, si dovrebbe essere ricompensati con una nuova categoria di azione:

immagine

Note:

Vedere qui (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) per una panoramica terrificante del processo per la creazione di, installazione e configurazione di una soluzione come questa.

Il. zip è stato progettato per estrarre direttamente a voi c:\ in auto. Se si esegue questa operazione, è possibile aprire il progetto e tutti i percorsi sarà coerenti.

Per utilizzare questo in visual studio, probabilmente è necessario installare "Estensioni per Windows WF".

Il caricamento iniziale contiene solo una "funzione dispatcher", "ToLower()". Per aggiungere ulteriori funzionalità, aggiungere al metodo Execute come illustrato:

 protetti eseguire l'override ActivityExecutionStatus
          Eseguire(ActivityExecutionContext classe executionContext)
        {

            stringa functionToDispatch;
            functionToDispatch = Questo.DispatchFunction.ToLower();

            interruttore (functionToDispatch)
            {
                caso "tolower()":
                    {
                        Questo.OutResult1 = Questo.InParam1.ToLower();
                        pausa;
                    }

                impostazione predefinita:
                    {
                        Questo.OutResult1 = "Funzione sconosciuta: [" + Questo.DispatchFunction + "].";
                        pausa;
                    }
            }

            ritorno ActivityExecutionStatus.Chiuso;
        } // ActivityExecutionStatus

    }

Poi, ri-costruire il progetto e copiare l'assembly nella global assembly cache. Mi aspettavo che un iisreset sarebbe necessario.

Azione personalizzata SPD Workflow – ottenere il <WorkflowInfo> diritto di tag per evitare la frustrazione

Parte del processo per la creazione di un'azione personalizzata per SharePoint Designer comporta creare un .actions"" file.

Ho trovato e provato ad utilizzare un modello di esempio che inizia come:

<?XML Versione="1.0" codifica="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Azioni Sequenziale="poi" Parallelo="e">

Tuttavia, tale attributo xmlns previene il mio ambiente di lavoro. Le mie azioni non vengono visualizzati in SPD.

La soluzione è quella striscia fuori l'attributo xmlns, fare un iisreset e Chiudi/re-open SPD.

SharePoint Designer, “Raccogliere dati da utente” e l'utilizzo di tali risultati.

Utilizzare la "raccolta di dati da utente" azione per creare e assegnare un'attività a un utente che chiede di dati. Tra le altre cose, Io l'ho usato per richiedere un utente di approvare o rifiutare una richiesta e inserire alcuni commenti.

Questa azione assume la forma di:

Raccogliere dati Da Questo utente (Uscita a Variabile: collect1)

Facendo clic su dati tira su una serie di finestre di dialogo in cui è possibile specificare quali dati l'utente deve fornire quando completamento dell'attività e Questo utente è ovvio.

La parte di output (Variabile: collect1) Salva l'ID dell'attività. Si utilizza questo nel vostro flusso di lavoro per estrarre la risposta dell'utente effettivo tramite "confrontare qualsiasi origine dati" condizione.

Tale condizione viene illustrato come

Se Campo è uguale a valore

Fare clic su Campo e poi la f(x) icona e si tira su un'altra finestra di dialogo. Utilizzare questa finestra di dialogo generalizzata per SPD due le cose;

1. Che cosa è la lista e la colonna cui valore che si desidera confrontare.

2. Come il motore di workflow deve individuare la riga specifica in tale elenco?

Per fare questo:

  1. Cambiare la sorgente"" l'elenco a discesa scegliere la lista di attività corretto. Si noti che nella finestra di dialogo si espande per mostrare una "trovare la voce di elenco" sezione.
  2. Nell'elenco a discesa del campo di ricerca particolari, Selezionare il nome del campo cui valore desiderato (questo mappe a ciò che è chiamato nella finestra di dialogo raccolta di dati dall'alto).
  3. A "trovare la voce di elenco" sezione, selezionare "attività:ID" nell'elenco a discesa del campo..
  4. Nel campo valore, fare clic sul f(x). Verrà visualizzata un'altra finestra di dialogo.
  5. Modificare l'origine dati di flusso di lavoro""
  6. Selezionare la variabile del flusso di lavoro che corrisponde alla "uscita alla variabile" dall'azione di raccolta di dati.
  7. Fare clic su OK/OK e hai finito.

Sembra che questo per me:

immagine

A questo punto, ora è possibile utilizzare tale valore nel vostro flusso di lavoro come richiesto.

Note aggiuntive:

Come un breve inciso, Sempre creare una variabile di nome appropriato flusso di lavoro di tipo "List Item ID" e l'uso che invece l'auto-generato "collect1".

Questo "confrontare qualsiasi origine dati" finestra di dialogo set è utilizzato in diversi luoghi diversi in SPD e vale la pena di mastering.

= = fine

Technorati Tags: