Category Archives: SharePoint Workflow

Email Tifkiriet Task Kuljum // Looping fl 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 ippubblikat fil-ġdida SharePoint Magazine sit. More generally, l-artikolu juri kif tinħoloq struttura looping fl SPD.

Ir-rivista għandha varjetà wiesgħa ta 'oġġetti inklużi, fost affarijiet oħra, għalf tekniċi ħafna, interviews and industry news. I recommend you add it to your RSS feed.

Jekk ikollok xi prodott jew servizz li jbiegħu, 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.

Fl-aħħar nett, jekk inti kont qed ħakk biex jiktbu xi ħaġa u ġġibu fl-quddiem ta 'udjenza akbar, this is a great time and place to scratch it.

</aħħar>

Abbona għall-blog tiegħi.

My Latest “Fil-Difiża ta 'SharePoint Designer” Artikolu huwa Disponibbli

Mark Miller fuq medda ta ' End User SharePoint has posted my latest article about using SharePoint Designer to create great workflow solutions up on his site. Iċċekkjaha.

F'dan l-artikolu, I jitkellmu dwar il-proċess tad-disinn u, f'aktar dettall, kif twaqqaf proċess test affidabbli u repetuti bl-użu karatteristiċi SharePoint (listi tad-dwana, sit templates). The article targets End Users, iżda l-approċċ huwa tajjeb għall-iżviluppaturi wisq.

</aħħar>

Abbona għall-blog tiegħi.

Logging Workflow Attività fil Designer SharePoint

Last week, I kien qed jaħdem kif biex loop u timplimenta magna stat użu Designer SharePoint u msemmi, Bħala twarrib, li I probabbilment jiktbu blog post dwar qtugħ workflow aħjar.

Well, Sanjeev Rajput beat me to it. Agħti ħarsa.

Iffrankar data log fis lista custom jidher superjuri għall-użu tal-istorja workflow regolari:

  • Huwa biss lista custom, sabiex inti tista 'esportazzjoni li jisbqu faċilment.
  • Tista 'toħloq fehmiet, dinamiku tiffiltra l-informazzjoni, eċċ.
  • Mhuwiex suġġett għall-awto-purge ikollok bi storja workflow regolari.

Hemm xi riskji / aspetti negattivi:

  • Ħafna workflows taħdem ma 'lott ta' qtugħ jista 'jikkawża wisq data li tkun miktuba fil-lista.
  • Maybe you *do* want automatic purging. You don’t get that feature with this approach (mingħajr kodifikazzjoni).
  • 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.

</aħħar>

Abbona għall-blog tiegħi.

Il-Trouble Bil Tribbles … żball .. KPIs

This past week I finished off a proof of concept project for a client in Manhattan. While implementing the solution, I dam fis insuffiċjenza ieħor ta 'MOSS KPIs (tara hawn għal kwistjoni KPI preċedenti u workaround tiegħi).

Sfond: 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, these sites host several document libraries, use audience targeting and so forth. Just a bunch of stuff to help with collaboration among the internal employees, traveling employees and the client’s participating business partners.

We also wanted to show some KPIs that monitor the overall health of that specific business process as promoted by the workflow state data and viewed using the KPIs.

Fl-aħħarnett, we used KPI list items that do a count on a view on a list in the site (as opposed to pulling from another data source, like excel or SQL).

The Problem: As you can imagine, assuming we were to carry the basic idea forward into a production world, we would want a site template. Provision a new site based off a "business process" template.

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 way of example:

  • Create a new site and build it to perfection. This site includes the KPI data.
  • Save that as a template.
  • Create a new site and base if off the template.
  • This new site’s KPI list items’ sources point to the site template, not the current site.

The instantiation process does not correct the URL.

I tried to solve this by specifying a relative URL when defining the KPI list item. Madankollu, I couldn’t get any variation of that to work.

I always want to pair up these "problem" blog posts with some kind of solution, 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, so you really have to redefine the whole thing from scratch.

If anyone knows a better way to handle this, jekk jogħġbok post kumment.

</aħħar>

Tags:

Mea culpa — SharePoint Designer * CAN * Oħloq flussi tax-xogħol tal-magni Istat

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 as well. 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 — it-traċċar standard tal-istorja tal-fluss tax-xogħol huwa saħansitra aktar inutli min-normal 🙂 Dan huwa rimedjat faċilment, madankollu. Store all of your audit type information in a custom list. That’s probably a good idea even for vanilla sequential workflow, imma dak għal blog post ieħor 🙂

I call this a "mea culpa" because I have, sfortunatament, 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.

</aħħar>

Abbona għall-blog tiegħi.

Tags:

Użu semafori fil Workflow Designer SharePoint għall-Prevenzjoni loops infinit

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

  • Oħloq workflow u jassoċjaw ma 'lista.
  • Indika li trid tibda fuq toħloq ta 'oġġetti ġodda u taġġorna ta' oġġetti eżistenti.
  • A step in the workflow updates a field in "Current Item".
  • Peress li l-oġġett kurrenti inbidlet, l-fluss tax-xogħol jibda mill-ġdid.

Biex dan jiġi evitat linja bla tmiem, jimplimentaw semafor sempliċi:

  • Żid kolonna sit (jew il-kolonna mal-lista / librerija jekk ma tkunx qed tużah tipi kontenut).
  • Jinħbew mill-paġna jeditjaw (faċli li tagħmel jekk kolonna sit permezz proprjetajiet tiegħu, mhux faċli jekk kolonna lista).
  • Fil-fluss tax-xogħol, tikkontrolla biex tara jekk il-valur tal-kolonna semafor huwa vojt.
  • Jekk huwa vojt, tistabbilixxi li valur mhux vojta u tipproċedi.
  • Jekk huwa ma jkunx vojt, ħruġ immedjatament.

Dan jista 'jsir soluzzjoni pjuttost sfumat, skond il-ħtiġijiet tan-negozju u oħrajn, iżda huwa kien mudell operabbli meta stajt bżonnha.

</aħħar>

Abbona għall-blog tiegħi.

Walk-through: Waħħal Employee Taħriġ Template Disponibbli Seats Bug unregister

Peress li ħafna nies jafu, the Employee Training template provided by Microsoft here has a bug that we can reproduce following these steps:

  • Oħloq klassi ta 'daqs max ta' 10 istudenti.
  • Reġistru –> Total available seats properly decrements by one. Riżultat: 9 postijiet disponibbli.
  • Unregister: –> Bug. Total available seats should increment by one. It does not. Riżultat: 9 available seats as per SharePoint, but in fact, there are 10 postijiet disponibbli.

Soluzzjoni: Use SharePoint Designer to correct the workflow.

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

immaġni

If we have a look at the "Attendee registration" workflow, we see that there is a step labeled "Enforce seating policy". It looks like this:

immaġni

This step in the workflow updates the item by incrementing the "Filled Seats" metadata column on the course. If we pull that up in more detail, we see this:

immaġni

That’s all the information we need to fix the unregistration workflow.

If we flip over to the unregistration workflow, there is no similar workflow step. Add it as follows:

1: Expand "Attendee unregistration" and open up the XOML (see first screen shot if you’re lost).

2: Add a new workflow variable, "New Filled Seats" of type "Number".

3: Assign a value to "New Filled Seats" kif muri:

immaġni

4: Decrement the Filled Seats by 1:

immaġni

5: Update the related Course item:

immaġni

6: Make sure all the steps are in the right sequence. Għalija, jidher qisu dan:

immaġni

7: Finish the workflow to re-build it.

8: Test.

</aħħar>

Abbona għall-blog tiegħi.

Lejn Disinji Disinn SharePoint Tekniċi: SharePoint Designer Workflow + Riċevitur Avveniment = Cocktail Għoli Qawwa

Wieħed mill-mudelli emerġenti nsib fil opri soluzzjonijiet SharePoint tiggwida SharePoint Designer workflow u riċevitur avveniment.

Hawnhekk huwa xenarju tan-negozju li tqiegħed fil-kuntest:

  • I upload dokument għal LIB dok.
  • I kick off multi-pass fluss tax-xogħol maħluqa bl-użu Disinjatur SharePoint.
  • F'xi punt matul dak il-proċess, workflow tassenja kompitu lil xi ħadd (permezz tinġabar data mill-utent jew tassenja kompitu).
  • 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.
  • Hawn il-kicker: Irrid id-data li drives li KPI li tkun btala-konxju.

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. Madankollu, 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".
  • Initialize l falza.
  • Fiż-żmien xieraq fil-fluss tax-xogħol (e.g. just before the "collect data" azzjoni), tassenja dak il-valur għall Veru.
  • L ItemUpdate() event receiver looks to see if "DoCalculateDueDate" is true. Since the event receiver runs on every update, "DoCalculateDueDate" normalment falza.
  • Meta workflow tassenja DoCalculateDueDate li veru, ir-riċevitur avveniment tikkalkula d-data festa-konxji minħabba.
  • Meta r-riċevitur avveniment ma dan il-kalkolu, hi tistipula l-bandiera DoCalculateDueDate biex falza.

Fl-aħħar, 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.

</aħħar>

Abbona għall-blog tiegħi.

Osservat Behavior: Nimxu flussi tax-xogħol tad-DPW Fi Ġbir Sit

UPDATE: I’ve been researching how to embed a SPD workflow into a site definition. This MSDN forum chain has some interesting information. It’s not conclusive, iżda jindika triq permezz tal-ġungla.

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 … temperamental.

People are often asking / wondering / fretting over moving SPD workflows from one place to another. Illum, I followed these steps and made these observations:

  • I created a workflow using SharePoint Designer in a site attached to a document library.
  • The associated document library already housed several documents.
  • I saved the site as a template.
  • When I saved the site as a template, I saved the content as well.
  • I created a new site in the same site collection using that template.

F'dan il-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.

I continued:

  • Opened the site in SharePoint Designer.
  • Had a peek at the workflow. It seemed fine.
  • I clicked "Finish".
  • I ran the workflow.

Din id-darba, maħduma multa.

I’ll add that this workflow used the "collect data from user" action which is a relatively complex action under the hood.

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.

What does this mean? 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, entire new farms (e.g. dev to stage to prod).

If you’re reading this and inclined, please post a comment or email me your SharePoint Designer migration story. I’ll gladly update this posting with any insights thus offered.

</aħħar>

Abbona għall-blog tiegħi.

Quick u sempliċi: Aġġornament Workflow-biss Field

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.

Tintuża tip kontenut tas-sit / kolonna biex jinkiseb dan l-effett.

Oħloq tip kontenut tas-sit mal-kolonna istatus kif muri:

immaġni

Note the "Status (għall Demo)" qasam fil-qiegħ.

Li jmiss, click on the column name to access the column’s properties. Select "Hidden (Mhux se jidhru fil-forom)" fil-Kolonna Settings sezzjoni kif muri:

immaġni

This removes the field from the standard edit/update forms. Madankollu, għadu disponibbli fil-fehmiet, KPIs, il-mudell oġġett u imkien ieħor inti tixtieq li jużawh, including SPD workflow.

</aħħar>

Abbona għall-blog tiegħi.