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.

9 pensieri su "SharePoint Designer — Attività personalizzata per eseguire funzioni definite dall'utente c#

  1. Gerry Whitworth
    Ho seguito le sue indicazioni e tutto sembrava funzionare fino a quando scelgo l'azione nella progettazione di SP. Il designer ha fatto non incollare il codice nel flusso di lavoro. Ho inviato questo ragazzo un'e-mail e credo che lui è troppo occupato per rispondere.
    Risolto il problema me stesso.
    Passato le azioni da SpdGenericInterface.actions"" nella WSS.actions"" file e tutto ha funzionato. Spero che questo aiuta gli altri.
    Risposta
  2. Marco mancinelli
    Ciao a tutti,
    qualcuno può spiegare la cui è necessario modificare il file Web. config? si prega di rispondere presto.
    Risposta
  3. Marco mancinelli
    suona bene, ma non riesco a installare l'estensione =(
    mio progettista imbroglione vedere esso ma quando clicco su di essa nulla appaiono… per favore aiutatemi… tnx.
    Risposta
  4. Bernard Lambeth

    Sto usando questa attività personalizzata per sostituire() funzione. L'agriturismo è SharePoint 2007, con front-end web di bilanciamento del carico. Ricevo un errore intermittente per avviare errori, ma i flussi di lavoro in genere riavviare in 5 – 15 min. Credo che i processi timer del flusso di lavoro e flusso di lavoro di Failover riavvia i flussi di lavoro. Ho rivisto i registri di SharePoint, e finalmente catturato questo errore.

    RunWorkflow: Microsoft.SharePoint.SPException:
    presso Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Stringa assmNameIn, SPWeb web)
    presso Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, Flusso di lavoro SPWorkflow)
    presso Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService host, Flusso di lavoro SPWorkflow, Eventi di raccolta 1, TimeSpan timeOut)
    presso Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, Flusso di lavoro SPWorkflow, Eventi di raccolta 1, SPRunWorkflowOptions runOptions)

    Ho trovato un riferimento a questo errore su un altro blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. L'autore indicato che stava usando il nterno personalizzato Sostituisci(), pure. Avete visto questo errore? Avete qualche suggerimento su come risolvere il problema?

    Risposta
    1. Paul Galvin Messaggio autore

      Mi dispiace non ho mai risposto. Al punto di thi, è probabilmente discutibile. Spero che sei riuscito a risolverlo.

      Risposta

Lasciare una risposta a Marco mancinelli cancella risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *