kategorie Argief: SharePoint Workflow

E-pos Daily Taak Herinneringen // Herhaling in SharePoint Designer Workflow

I wrote up a detailed article a few weeks ago describing how to create a SharePoint Designer workflow that sends a task reminder email on a daily basis. It’s been gepubliseer by die nuwe SharePoint Magazine webwerf. More generally, Die artikel toon hoe om 'n herhaling struktuur in SPD te skep.

Die tydskrif het 'n wye verskeidenheid van artikels, insluitende, onder andere, baie tegniese dinge, interviews and industry news. I recommend you add it to your RSS feed.

As jy 'n produk of diens te verkoop, I’d also consider advertising on the site. It’s off to a strong start with several thousand pairs of eyes looking at it already. That’s sure to grow.

Laastens, as jy jeuk om iets te skryf en dit in die voorkant van 'n groter gehoor, this is a great time and place to scratch it.

</einde>

Skryf in op my blog.

Technorati Tags:

My Laaste “In verdediging van SharePoint Designer” Artikel is beskikbaar

Mark Miller oor te End User SharePoint has posted my latest article about using SharePoint Designer to create great workflow solutions up on his site. Check dit uit.

In hierdie artikel, Ek praat oor die ontwerp en, in meer besonderhede, hoe om 'n betroubare en herhaalbare toets deur gebruik te maak van SharePoint funksies (persoonlike lyste, site templates). The article targets End Users, maar die benadering is goed vir ontwikkelaars.

</einde>

Skryf in op my blog.

Meld Workflow aktiwiteit in SharePoint Designer

Verlede week, Ek is besig om uit te vind hoe om te loop en te implementeer 'n toestand masjien die gebruik van SharePoint Designer en genoem, As 'n eenkant, dat ek sou waarskynlik skryf 'n blog post oor 'n beter workflow te meld.

Wel, Sanjeev Rajput beat me to it. Het jy 'n blik.

Spaar log data in 'n persoonlike lys lyk beter as die gebruik van die gereelde workflow geskiedenis:

  • Dit is net 'n persoonlike lys, sodat jy kan uitvoer om dit te presteer baie maklik.
  • Jy kan skep uitsig, dinamiese filtreer die data, ens..
  • Dit is nie onderhewig aan die motor-purge jy met gereelde workflow geskiedenis.

Daar is 'n paar risiko's / nadele:

  • Baie hardloop werkstromen met 'n baie te meld kan veroorsaak te veel data geskryf word aan die lys.
  • Maybe you *do* want automatic purging. You don’t get that feature with this approach (sonder kodering).
  • Security is tricky. In order to write to the list, the user must have permission to do so. That means that it’s probably not suitable for any kind of "official" audit since the user could discover the list and edit it. This could be overcome with some custom programming.

</einde>

Technorati Tags:

Skryf in op my blog.

Die probleem met die Tribbles … dwaal .. KPI

This past week I finished off a proof of concept project for a client in Manhattan. While implementing the solution, Ek het in 'n ander tekortkoming van MOSS KPI (kyk hier vir 'n vorige KPI kwessie en my tydelike oplossing).

Agtergrond: We used SharePoint Designer workflow to model a fairly complex multi-month long business process. As it chugged along, it would update some state information in a list. KPIs use this data to do their mojo.

We decided to create a new site each time a new one of these business processes kicks off. Aside from the workflow itself, Hierdie webwerwe gasheer verskeie dokument biblioteke, use audience targeting and so forth. Just a bunch of stuff to help with collaboration among the internal employees, reis werknemers en die kliënt se deelnemende vennote.

Ons wou ook 'n paar KPI wat monitor die algemene gesondheid van die spesifieke besigheid proses om te wys as wat deur die staat workflow data en beskou die gebruik van die KPI.

Ten slotte, ons gebruik KPI lys items wat nie 'n telling op 'n oog op 'n lys in die webwerf (in teenstelling met die trek van 'n ander bron data, soos blink of SQL).

Die Probleem: Soos jy kan dink, aanvaarding van ons was die basiese idee om na uit te voer in 'n produksie-wêreld, we would want a site template. Provision a new site based off a "business process" sjabloon.

The problem is that you can’t seem to get a functioning KPI that way. When I create a new site based on a template with a KPI List and KPI web part, the new site’s KPI data are broken. The new site’s KPI list points at whatever source you defined when you first saved it as a template.

By wyse van voorbeeld:

  • Create a new site and build it to perfection. This site includes the KPI data.
  • Behalwe dat as 'n sjabloon.
  • Skep 'n nuwe tuiste en basis as van die sjabloon.
  • Hierdie nuwe webwerf se KPI lys items’ bronne verwys na die webwerf sjabloon, nie die huidige terrein.

Die Instantiëring proses nie korrek is die URL.

I tried to solve this by specifying a relative URL when defining the KPI list item. Egter, Ek kon dit nie kry nie variasie van wat om te werk.

I always want to pair up these "problem" blog boodskappe met 'n soort oplossing, but in this case I don’t have a good one. The best I can figure is that you need to go in to the newly provisioned site and fix everything manually. The UI makes this even harder because changing the URL of the source list causes a refresh, sodat jy regtig het die hele ding van die grond af te herdefinieer.

As iemand weet 'n beter manier om dit te hanteer, post a comment.

</einde>

Technorati Tags:

Mea culpa — SharePoint Designer * CAN * Skep State Machine Werkstromen

I’ve recently learned that it’s possible and even fairly easy to create a state machine workflow using SharePoint Designer. Necessity is the mother of invention and all that good stuff and I had a need this week that looked for an invention. Coincidentally, I came across this MSDN forum post sowel. My personal experience this week and that "independent confirmation" lends strength to my conviction. I plan to write about this at greater length with a full blown example, but here’s the gist of it:

  • The approach leverages the fact that a workflow can change a list item, thereby triggering a new workflow. I’ve normally considered this to be a nuisance and even blogged about using semaphores to handle it.
  • SharePoint allows multiple independent workflows to be active against a specific list item.

To configure it:

  • Design your state machine (i.e., the states and how states transition from one to the next).
  • Implement each state as separate workflow.
  • Configure each of these state workflows to execute in response to any change in the list item.

Each state workflow follows this rough pattern:

  • Upon initialization, determine whether it should really run by inspecting state information in the "current item". Abort if not.
  • Do the work.
  • Update the "current item" with new state information. This triggers an update to the current item and fires off all the state workflows.

Aside from the obvious benefit that one can create a declarative state machine workflow, all that state information is terrific for building KPIs and interesting views.

It does have a fairly substantial drawback — standaard werkvloei geskiedenis dop is selfs meer nutteloos as normaal 🙂 Dit is maklik reggestel, egter. Store all of your audit type information in a custom list. That’s probably a good idea even for vanilla sequential workflow, maar dit is vir 'n ander blogpos 🙂

I call this a "mea culpa" because I have, ongelukkig, said more than once on forums and elsewhere that one must use visual studio to create a state machine workflow. That simply isn’t true.

</einde>

Skryf in op my blog.

Technorati Tags:

Gebruik semafore in SharePoint Designer Workflow Eindelose Loops voorkom

It’s possible to cause an endless loop in a SharePoint Designer workflow. A common implementation pattern like this causes the problem:

  • Skep 'n workflow en assosieer met 'n lys.
  • Dui daarop dat dit moet begin op die skep van nuwe items en werk van die bestaande items.
  • A step in the workflow updates a field in "Current Item".
  • Sedert die huidige item verander, die workflow begin opnuut.

Hierdie eindelose lus om te verhoed dat, implementeer 'n eenvoudige semafoor:

  • Voeg 'n tuiste kolom (of kolom om die lys / biblioteek as jy nie die gebruik van inhoud tipes).
  • Steek dit uit die wysig bladsy (maklik om te doen as 'n webwerf kolom via sy eienskappe, nie so maklik as 'n lys kolom).
  • In die workflow, kyk om te sien of die waarde van die semafoor kolom leeg.
  • As dit leeg is, sit dit op 'n nie-leë waarde en voort te gaan.
  • Indien nie, is nie leeg, verlaat onmiddellik.

Dit kan 'n redelik genuanseerde oplossing te word, afhangende van die maatskappy se behoeftes en so meer, maar dit is 'n werkbare patroon wanneer ek dit nodig gehad het.

</einde>

Technorati Tags:

Skryf in op my blog.

Deur-stap: Bevestig werknemer opleiding Sjabloon beskikbare sitplekke Registratie Bug

Soos baie mense weet, die werknemer opleiding sjabloon deur Microsoft hier het 'n fout wat ons kan voortplant die volgende stappe:

  • Skep 'n klas met 'n maksimum grootte van 10 studente.
  • Registreer –> Total available seats properly decrements by one. Uitslag: 9 beskikbare sitplekke.
  • Unregister: –> Bug. Total available seats should increment by one. It does not. Uitslag: 9 beskikbare sitplekke per SharePoint, maar in die feit, daar is 10 beskikbare sitplekke.

Oplossing: Gebruik SharePoint Designer die workflow reg te stel.

Eerste, open up the site. The folder list for me looks like this:

beeld

As ons 'n blik op die "deelnemer registrasie" workflow, we see that there is a step labeled "Enforce seating policy". It looks like this:

beeld

Hierdie stap in die workflow updates die item deur die verhoog van die "gevul Sitplekke" metadata column on the course. If we pull that up in more detail, ons sien dit:

beeld

Dit is al die inligting wat ons nodig het om die Herroep van registrasie werksvloei te los.

Indien ons draai na die Herroep van registrasie workflow, there is no similar workflow step. Add it as follows:

1: "Deelnemer Herroep van registrasie uit te brei" en maak die XOML (sien die eerste screen shot as jy verloor het).

2: Voeg 'n nuwe workflow veranderlike, "Nuwe Gevul Sitplekke" van die tipe "Aantal".

3: Ken 'n waarde aan "nuwe Gevul Sitplekke" soos aangedui:

beeld

4: Decrement die Gevul Sitplekke deur 1:

beeld

5: Werk verwante Kursus item by:

beeld

6: Make sure all the steps are in the right sequence. Vir my, Dit lyk soos volg:

beeld

7: Werk die werksvloei te her-bou dit.

8: Toets.

</einde>

Skryf in op my blog.

Technorati Tags: ,

Volgens die SharePoint Tegniese ontwerpspatrone: SharePoint Designer Workflow + Event Ontvanger = Hoë ​​sterkte kelkie

Een van die opkomende patrone Ek vind in die knutselen SharePoint oplossings maak gebruik van SharePoint Designer workflow en 'n gebeurtenis ontvanger.

Hier is 'n besigheid scenario om dit in konteks te plaas:

  • Ek laai 'n dokument aan 'n doc lib.
  • Ek skop af multi-stap workflow wat geskep is met behulp van SharePoint Designer.
  • Op 'n stadium tydens die proses, Die workflow ken 'n taak aan iemand (deur middel van data in te samel van die gebruiker of 'n taak te ken).
  • We want to use a KPI to track how long that task is awaiting completion. The KPI shows green for tasks that are completed or due more than 3 days from now. It shows yellow if the task is due tomorrow or today. It shows red if the task is past due.
  • Hier is die skopper: Ek wil die datum wat dryf dat KPI vakansie-bewus te wees.

I can’t calculate a holiday-aware due date in SharePoint Designer workflow very easily. I would have to create a custom action or use a 3rd party tool. Egter, it’s easy enough to calculate such a date in an event receiver. Merge those two together and we get a pattern like this:

  • Define a hidden yes/no site column on the document library labeled "DoCalcualteDueDate".
  • Inisialiseer aan die valse.
  • Op die regte tyd in die workflow (bijv. just before the "collect data" aksie), wys dat die waarde aan True.
  • 'N ItemUpdate() event receiver looks to see if "DoCalculateDueDate" is true. Since the event receiver runs on every update, "DoCalculateDueDate" is gewoonlik vals.
  • Wanneer workflow ken DoCalculateDueDate na ware, die geval ontvanger bereken die vakansie-bewus vervaldatum.
  • Wanneer die geval ontvanger hierdie berekening, dit stel die DoCalculateDueDate vlag op 'n bedrieglike.

Op die ou end, SPD workflow is communicated with an event receiver via the DoCalculateDueDate semaphore and we have holiday-aware due dates that are assigned at the exactly correct moment in the workflow’s life. SharePoint Designer controls when the due date is assigned but the event receiver performs the actual calculation and assignment.

</einde>

Skryf in op my blog.

Stroming gedrag: Die beweeg SPD Werkstromen Binne 'n site collection

UPDATE: I’ve been researching how to embed a SPD workflow into a site definition. Hierdie MSDN forum ketting het 'n paar interessante inligting. It’s not conclusive, maar dui op die pad deur die oerwoud.

I’m giving this post a slightly oddball "Observed Behavior" lead since I’m a little leery of drawing conclusions from it. SPD workflows are … temperamenteel.

Mense is dikwels vra / wonder / fretting over moving SPD workflows from one place to another. Vandag, Ek volg hierdie stappe en maak hierdie waarnemings:

  • Ek het 'n workflow met SharePoint Designer in 'n plek verbonde aan 'n dokument biblioteek.
  • Die gepaardgaande dokument biblioteek reeds verskeie dokumente gehuisves.
  • Ek het die werf as 'n sjabloon gered.
  • Toe ek die werf as 'n sjabloon gered, Ek het die inhoud gered sowel.
  • Ek het 'n nuwe tuiste in die dieselfde plek versameling gebruik van hierdie sjabloon.

Op hierdie punt, I tried to run the workflow. It promptly terminated itself with the log message, "Failed on start".

I expected this. I have low expectations when it comes to moving SPD workflows around.

Ek het voortgegaan:

  • Het die plek in SharePoint Designer.
  • Had a peek at the workflow. It seemed fine.
  • I clicked "Finish".
  • Ek hardloop die workflow.

Hierdie keer, dit werk goed.

I’ll add that this workflow used the "collect data from user" aksie wat 'n relatief komplekse aksie onder die enjinkap.

I tentatively conclude that the process of "finishing" the workflow caused SPD to properly associate the SPD workflow with the new document library. I also conclude the XOML and other XML artifacts are reasonably "loose". They are not super tightly coupled to the document library.

Wat beteken dit? Assuming it’s a reliable and reproducible process, there’s at least one rough method we can use to move them around. I don’t know if this would work if we crossed site collection boundaries or even more drastically, hele nuwe plase (bijv. ontwikkeling aan te bied om te prod).

As jy dit lees en geneig, post 'n comment of email my your SharePoint Designer migration story. I’ll gladly update this posting with any insights thus offered.

</einde>

Skryf in op my blog.

Technorati Tags:

Vinnige en maklike: Workflow net Update Veld

It’s often useful to store status information in a custom list such as an approval code which should never be directly manipulated by end users. This is a common business scenario. I have been working on a project this year that generates various status and reminder dates via SharePoint Designer workflows that then drive KPIs and generally support time-critical business processes.

Gebruik 'n webwerf tipe inhoud / kolom om hierdie effek te bereik.

Skep 'n inhoud van die webtuiste tipe met die status kolom soos getoon:

beeld

Note the "Status (vir Demo)" die gebied aan die onderkant.

Volgende, click on the column name to access the column’s properties. Select "Hidden (Verskyn nie in vorms)" in die kolom instellings soos aangedui:

beeld

This removes the field from the standard edit/update forms. Egter, dit is nog beskikbaar is in die menings, KPI, die doel van die model en oral anders wat jy wil om dit te gebruik, including SPD workflow.

</einde>

Skryf in op my blog.