Categorie Archieven: SharePoint-werkstroom

Voortijdige Workflow activeren — Een niet-medische oplossing

UPDATE: Zie dit MSDN-discussie, vooral de laatste post: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Het beschrijft een aandoening die kan kort dit hele ding circuit. In het kort, het kan zijn zo eenvoudig als het maken van ten minste één van de velden verplicht.

Ik heb een documentbibliotheek die acht inhoudstypen ondersteunt.

Ik heb een SharePoint Designer workflow die wil om te berekenen en een "herinneringsdatum toewijzen" door gewoon af te trekken 30 dagen van een andere kolom, "vervaldatum". Dit moet alleen gebeuren voor een van de typen inhoud, 'Insurance'. De business-doelstelling is het produceren van een KPI waarin twee soorten autoverzekeringsdocumenten: "zowat voor vervallen" en 'verlopen." (U kunt lees meer over dit soort KPI en meer substantiële drill-down Hier).

Ik hebt geconfigureerd de werkstroom gestart wanneer een nieuw item is gemaakt en wanneer een item wordt gewijzigd. Het idee is dat als er een verzekering document wordt geüpload, Wij berekenen een "waarschuwing datum" op basis van de vervaldatum. Een paar van weergaven werken in verband met een KPI-lijst Markeer deze voorwaarden wanneer gebruikers hun home page hit.

Deze strategie werkt niet wanneer ik een document uploaden.

Ik upload het document en ik ben voorgesteld met de invoerscherm van de meta-gegevens. Op dit punt, Ik ben al in de problemen. SharePoint reeds, voortijdig vanuit mijn perspectief, ontslagen van de werkstroom. Ik heb niet had een kans om te kiezen van het juiste type inhoud noch een vervaldatum toewijzen. Op hetzelfde moment, de werkstroom wordt niet geactiveerd wanneer ik klik op de verzendknop op dit moment. Er is sommige ingebouwde logica "is van mening dat" die dienen eerst maakt deel uit van de "maken" gebeurtenis. Dus … mijn workflow is gestart en wanneer het uitgevoerd, het werd aangenomen standaard meta gegevenswaarden.

De beste werk-around die ik ken is het invoegen van een "pauze tot" activiteit in de workflow. Ik heb de workflow onderbreken voor 1 minuut. Terwijl het wordt onderbroken, Ik selecteer het juiste type inhoud, de meta-gegevens invoeren en verzenden. De pauze is voltooid en de werkstroom verloopt zo nodig. (Merk op dat in mijn omgeving, timer workflowactiviteiten uit SPD werken niet uit de doos. Moet u wellicht het zelfde probleem. Zie Hier voor meer details).

Ik houd niet van "magische vertraging" werk-around. Wat gebeurt er als de gebruiker een document en de telefoon overgaat en de daaruit voortvloeiende gesprek uploadt outlasts de pauze? Ik kan de pauze langer maken, maar ik nog steeds niet leuk.

Ik schreef over dit op de MSDN forums hier: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Snelle en eenvoudige: Stuur een e-mail met ingesloten hyperlink uit SharePoint Designer workflow

Maand of twee keer, iemand post een forum vraag: "Hoe kan ik opnemen hyperlinks naar URL's die aanklikbaar van een e-mail SharePoint Designer zijn?"

Gepresenteerd zonder verder commentaar: (goed, eigenlijk is er nog een opmerking na de afbeelding):

afbeelding

Becky Isserman volgt met een nuttige uitleg over het insluiten van een koppeling naar een item in de e-mail: 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

Snelle en eenvoudige: SharePoint Designer workflow een InfoPath-formulier bijwerken inschakelen

Scenario: Ik heb een InfoPath-formulier dat front-ends een workflowproces geïmplementeerd met behulp van SharePoint Designer. Op een gegeven moment, een manager moet het formulier goedkeuren. Aangezien ik niet kan rekenen op de werkstroomgeschiedenis om te voldoen aan mijn controlevereisten, Ik besluit om op te slaan mijn eigen controle boodschap rechtstreeks op het formulier zelf.

Overzicht:

Het formulier ontwerpen en publiceren als een type inhoud en het formulier zelf voor een documentbibliotheek. Mark gewenst formuliervelden als die kan worden bijgewerkt van MOSS. Het formulier is gekoppeld aan het inhoudstype en het type inhoud is "aangesloten" in een formulierenbibliotheek (of een groot aantal, Als je wilt). Schrijven van een werkstroom die wordt het veld bijgewerkt.

Specifieke stappen:

  1. Een documentbibliotheek maken. Dit zal houden uw InfoPath-sjabloon.
  2. Een formulierenbibliotheek maken.
  3. Het InfoPath-formulier maken. Een tekstveld opnemen, "Controlebericht".
  4. Publiceer het formulier als een inhoudstype (NIET een document).
  5. Bij het invullen van de uitgeverij dialogen:
    een) Het XSN-bestand opslaan in de documentbibliotheek (stap #1).
    b) Het "Audit bericht publiceren" veld en mark ware: 'Sta toe gebruikers kunnen gegevens in dit veld te bewerken via een gegevensblad of eigenschappenvenster pagina'.
    c) Een nieuw inhoudstype maakt en geef het een passende naam.
  6. Toegang tot de formulierenbibliotheek.
    een) Ga naar de geavanceerde instellingen en de formulierenbibliotheek voor het beheer van inhoudstypen inschakelen.
    b) Selecteer het zojuist gemaakte inhoudstype (5c hierboven). Het zal worden gegroepeerd onder "Microsoft InfoPath" (of gelijkaardig).
    c) De standaard "formulier verwijderen" type van de inhoud van de bibliotheek.
    d) Mark de bibliotheek "weergeven als webpagina" zodat het formulier van SharePoint en niet de InfoPath workstation-client lanceren zal.
  7. Ga terug naar de juiste formulierenbibliotheek en klik "nieuw" gewoon controleren dat het formulier is geplaatst correct en waarnemend zoals u wilt.
  8. Fire up SharePoint Designer en ga naar de site die als host uw formulierbibliotheek fungeert (vanaf stap 2).
  9. Als u een nieuwe workflow gekoppeld aan de formulierenbibliotheek maken.
  10. Een interne actie "Veld instellen in de huidige Item" toevoegen. U moet SharePoint Designer verwachten aan lijst je uw vakgebied, "Controlebericht". Een waarde toewijst.
  11. Klik op Finish en ga terug naar de formulierbibliotheek.
  12. Maak een nieuw formulier en zet sommige testwaarde in het controlebericht"" veld.
  13. Sla het en ga terug naar de formulierbibliotheek.
  14. Klik met de rechtermuisknop, Selecteer "Workflow" en voorsprong opwaarts uw workflow.
  15. Het zou bijna onmiddellijk uitvoeren. Trek opwaarts naar de vorm (vanaf stap 12) en als alles is gegaan om te plannen, "Controlebericht" welke waarde u hebt opgegeven in stap is toegewezen 10.

Notities:

Niet alle besturingselementen kunnen geconfigureerd voor deze bidirectionele communicatie. Bijvoorbeeld, het lijkt niet om een EPD workflow die tekstvelden verpakt wijzigt in een herhalende secties.

Een van de belangrijkste nemen-weg van hier is dat we echt een inhoudstype hebt gemaakt met een bijbehorende sjabloon. Dit stelt ons voor het opslaan van meerdere InfoPath-formuliersjablonen in dezelfde vorm bibliotheek ook in staat.

Hiervoor vormen server. Het gaat zeker niet om te werken in een WSS 3.0 milieu en waarschijnlijk zelfs vereist een onderneming SharePoint-omgeving.

SharePoint Designer — Aangepaste activiteit uit te voeren user-defined C# functies

UPDATE: Dit is vrijgegeven aan CodePlex hier: http://www.codeplex.com/spdwfextensions

UPDATE: Zie hier voor laatste release notes: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Zie hier voor mijn gedachten over dit project commercialiseren: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dit project biedt een aangepaste activiteit in SharePoint Designer. Gebruik deze aangepaste activiteit om te roepen (verzending) een C#-functie die u in de gekoppelde vergadering opgenomen.

Vanaf eind oktober, 2007, Dit is gewoon een eerste versie van het project. Ik ben van plan uit te breiden met een aantal extra functies, met inbegrip van subtekenreeks, index, vervangen, aanroepen van webservices en iets dat nuttig of interessant lijkt. Ik ben ook van plan om dit bericht te codeplex, zodra ik heb mijn handelen samen op dat front. Dit zal ook inzetbaar als een oplossing op een bepaald punt.

Als u opmerkingen hebt, vragen of suggesties, Laat hen in commentaren of e-mail me.

Disclaimer:

Ik maken absoluut geen aanspraken zijn van de geschiktheid van dit voor elk doel. Gebruik op uw eigen risico.

Installatiestappen (moeten worden gevolgd voor elke WFE in de farm):

1. Download het .zip en haal.

2. Het dll-bestand in de GAC te installeren. Ik open meestal c:\windowsassembly met behulp van windows verkenner en kopie it er.

3. Web.config de vergadering toevoegen aan de veilige besturingselementen wijzigen:

<System.workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType vergadering = "SpdGenericInterface, Versie = 1.0.0.0, Cultuur = neutraal, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Gemachtigd = "True" />

4. Kopieer "SpdGenericInterface.actions" tot c:\Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Merk op dat de bovenstaande locatie specifiek voor Engels-installaties is.

5. SharePoint Designer sluiten (Als het al geopend is).

6. iisreset

7. SPD openen en een nieuwe werkstroom maken.

Als alles goed gaat, u moet worden beloond met een nieuwe categorie van de actie:

afbeelding

Notities:

Zie Hier (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) voor een geweldig overzicht van het proces voor het maken van, installeren en configureren van een oplossing als deze.

De .zip is ontworpen om te pakken direct in je c:\ station. Als u dit doet, u kunt het project openen en alle paden in overeenstemming zal zijn.

Om dit te gebruiken in visual studio, u moet waarschijnlijk installeren "Extensies voor Windows WF".

De eerste upload bevat slechts één "dispatcher functie", "ToLower()". Om meer functionaliteit te voegen, Voeg het toe aan de methode Execute zoals:

 beschermd overschrijven ActivityExecutionStatus
          Uitvoeren(ActivityExecutionContext executionContext)
        {

            tekenreeks functionToDispatch;
            functionToDispatch = Dit.DispatchFunction.ToLower();

            schakelaar (functionToDispatch)
            {
                geval "tolower()":
                    {
                        Dit.OutResult1 = Dit.InParam1.ToLower();
                        pauze;
                    }

                standaard:
                    {
                        Dit.OutResult1 = "Onbekende functie: [" + Dit.DispatchFunction + "].";
                        pauze;
                    }
            }

            terugkeer ActivityExecutionStatus.Gesloten;
        } // ActivityExecutionStatus

    }

Vervolgens, het project weer op te bouwen en de vergadering aan de GAC te kopiëren. Ik verwacht dat een iisreset zouden moeten.

SPD aangepaste werkstroomactie – krijgen de <WorkflowInfo> Label recht om frustratie

Onderdeel van het proces voor het maken van een aangepaste actie voor SharePoint Designer omvat maken een ".actions" bestand.

Ik heb gevonden en probeerde te gebruiken van een voorbeeldsjabloon die als begint:

<?XML Versie="1.0" codering="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Acties Sequentiële="vervolgens" Parallel="en">

Echter, dat kenmerk xmlns voorkomt dat mijn omgeving werken. Mijn acties niet worden weergegeven in de SPD.

De oplossing is te strippen uit het kenmerk xmlns, doen een iisreset en sluiten/heropenen EPD.

SharePoint Designer, “Gegevens verzamelen van gebruiker” en het gebruik van deze resultaten.

Gebruik het "gegevens verzamelen van een gebruiker" actie om te maken en een taak toewijzen aan een gebruiker die vraagt hen om gegevens. Onder andere, Ik heb het gebruikt om een gebruiker gevraagd te goedkeuren of afwijzen van een verzoek en sommige opmerkingen invoeren.

Deze actie neemt de vorm van:

Verzamelen gegevens Van deze gebruiker (Uitvoer naar Variabele: collect1)

Te klikken op gegevens trekt een reeks van dialoogvensters waarin u opgeven welke gegevens de gebruiker moet opgeven wanneer het voltooien van de taak en deze gebruiker is duidelijk.

Het deel van de uitvoer (Variabele: collect1) Hiermee slaat u de ID van de taak. U dit in uw workflow om uit te pakken van de werkelijke antwoord van de gebruiker via de "Vergelijk een willekeurige gegevensbron gebruiken" voorwaarde.

Die voorwaarde toont als

Als veld is gelijk aan waarde

Klik op veld en vervolgens de f(x) pictogram en het trekt een ander dialoogvenster. Gebruik dit dialoogvenster om veralgemeend EPD twee dingen te vertellen;

1. Wat is de lijst en de kolom waarvan u de waarde wilt vergelijken.

2. Hoe moet de workflow-engine Zoek de specifieke rij in die lijst?

Om dit te doen:

  1. De "Bron wijzigen" dropdown te wijzen op de juiste takenlijst. Merk op dat het dialoogvenster wordt uitgebreid om aan te tonen een "vinden het Item in de lijst" sectie.
  2. In de dropdown veld Lookup Details, Selecteer de naam van het veld waarvan u de waarde wilt (Dit wordt toegewezen aan wat u in het dialoogvenster gegevens verzamelen van boven genoemd).
  3. In het "zoeken het Item in de lijst" sectie, Selecteer "taken:ID" in het veld dropdown.
  4. In het waardeveld, Klik op de f(x). Nog een ander dialoogvenster wordt geopend.
  5. De brongegevens "Workflow wijzigen"
  6. Selecteer de werkstroomvariabele die overeenkomt met de "Output naar variabele" uit de actie gegevens verzamelen.
  7. Klik op OK/OK en je bent klaar.

Het ziet er als volgt voor mij:

afbeelding

Op dit punt, u kunt nu die waarde gebruiken in uw workflow als vereist.

Aanvullende opmerkingen:

Als een korte terzijde, Ik maak altijd een toepasselijke naam werkstroomvariabele van het type "lijstitem-ID" en het gebruik dat in plaats van de auto-generated "collect1".

Deze "Vergelijk elke gegevensbron" dialoogvenster set wordt gebruikt op verschillende plaatsen in de SPD en is de moeite waard mastering.

== einde

Technorati Tags: