Category Archives: SharePoint Workflow

Sortu guneak (SPWeb) SharePoint Designer Workflow bidez

This blog entry is more of an "in the realm of the possible" Istorio vs. hormigoizko info.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. Funtsean,, users enter data into a "new customer" zerrenda pertsonalizatu eta orduan amaitu dute eta balidatu datu-sarrera prozesu, bezeroari gune bat sortu behar dugu.

Workflow deklaratzaileak fan bai handi eta baita ahul bisuala estudioan workflow programatzaile naiz, beraz, baldintza SharePoint Designer erabiliz bete nahi nuen.

Honi buruz idazteko xehetasun handiagoz planifikatzeko dut (eta espero nahi Erabiltzaile talde bat edo bi datorren urtean ere presente), baina, oro har, hemen irtenbidea da:

  • Sortu Ohiko ekintza SPD integratzen.
  • Ekintza pertsonalizatu ahalbidetzen SPD web zerbitzu bat irekiaz eta pasatu da XML katea.
  • Web zerbitzu pertsonalizatua kokatzen zerrendan errenkadan eta webgune berri bat sortzen Ohiko gune definizio erabiltzen duten bezero berriak datuen arabera.
  • Web zerbitzua, ondoren, hala nola, berriak, lotura gune gisa informazio batzuk zerrenda ohitura eguneratzen.

Beste planteamendu jotzen dugu, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, bat dago, C # kode asko irtenbide hau da, baina bat deklaratzaileak workflow barruan bilduta, beraz workflow deklaratzaileak onurak batzuk gara-gune sortzea zerbitzu sartu bitartean Pribatutasun.

All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.

</amaiera>

Nire blog Harpidetu.

Technorati Tags: ,

Integratzeko SharePoint Designer fluxuak Web Zerbitzuak

Izan dut inguruan jolasten SharePoint Designer ekintza pertsonalizatuak denbora batzuk (ikusi hemen batzuk zehatza gauzak, interesak baduzu).

Nire proiektua uneko, we need to do some fairly heavy lifting and we want to use declarative SPD workflow to manage the associated business process.

Long Narrazio laburren, this is entirely possible. I extended my Codeplex project to invoke a "helper service" and now we can invoke a web service directly from an SPD workflow.

Hemen sinadura da:

 publikoak katea Aztergailu(
        GUID WebID, // Duen exekuzio-ingurune gainditu
        GUID SiteID, // Duen exekuzio-ingurune gainditu
        katea ListID, // RTE emandako (ez dakit zergatik hau kate bat da, ez GUID bat)
        int ListItemID, // RTE emandako.
        katea XmlMessage) // SPD gisa deklaratu erabiltzaileak gainditu.

Hau, izan ere, ahal dugun workflow informazio garrantzitsua lortzeko baliatzen, gune bezala, zerrendaren IDa, etc. This is well documented in several places for those of you interested in creating your own custom actions. The idea is to extract the XML string as provided by the user to dispatch an appropriate procedure. Fun stuff!

Tamalez, hau da, jakina, norabide bakarreko txartel bat behera "Loosey Goosey" anti-eredua lurrak, but it’s better than hitting a brick wall 🙂

Da baduzu, nahiz eta jakin duzu anti-eredua da, anti-eredua da?

I hope to wrap this inside Codeplex in the near future. If you’re interested in me doing so, ematen dit Poke (e-posta edo utzi iruzkin bat) and I’ll be that more enthusiastic about doing it 🙂

</amaiera>

Nire blog Harpidetu.

Technorati Tags: ,

SPD Workflow “Erabiltzaile biltzeko, datuak”: Aldatzeko sortutako Task formularioa

I’m working on a project that uses five different SharePoint Designer work flows to handle some document approvals. SPD provides the "collect data from a user" ekintza da, beraz, informazio-bit desberdinak erabiltzaileari galdetuko dezakegu, onetsiko dira, hala nola, bertan duzun, zenbait iruzkin eta agian zer eskatu zuten afaria beste gau.

The forms are perfectly functional. They are tied to a task list as a content type. Dira 100% system-generated. This is their strength and weakness. If we can live with the default form, then we’re good to go. Hala eta guztiz ere, we don’t have too much control over how SPD creates the form. If we don’t like that default behavior, hainbat trikimailu jotzea da mugitu behar dugu (adibidez, lehentasuna ezartzeko zeregin batean).

Zeregin bat inprimaki horietan lotura duten ikuspegi ireki propietate eman behar nuen (dispform.asxp) of the "related item" in a new window. This provides one-click access to the meta data of the related item. This is what I mean:

image

Zorionez, we can do that and it’s not very hard. Broadly speaking, sua sortu SPD, navigate to the directory that houses the workflow files and open the ASPX file you want to modify. These are just classic XSL transform instructions and if you’ve mucked about with itemstyle.xsl, bilaketa edo beste XSL eszenatoki, this will be easy for you. Izan ere,, Izango da, oro har, errazago aurkitu dut sortutako forma zertxobait errazagoa baita bilaketa-core emaitzak web parte aldean jarraitu behar (edo nightmarish CWQP).

Jakina, there is one major pitfall. SPD’s workflow editor expects full control over that file. If you modify it, SPD will happily overwrite your changes give the right set of circumstances. I did two quick tests to see how bad this could get. They both presuppose that you’ve crafted a valid SPD workflow that uses the "collect data from a user" urratsa.

Test 1:

  • Aldatzeko eskuz fitxategia ASPX du.
  • Probatu ezazu (egiaztatu diren aldaketak behar bezala gorde, eta ez du ezer apurtu).
  • Ireki workflow eta kanpoko ekintza bat gehitu (such as "log to history").
  • Gorde eu.

Emaitza: Kasu honetan, SPD ez da berriro sortu inprimakia.

Test 2:

  • Bera egiten gisa #1 except directly modify the "collect data from a user" Ekintza.

Emaitza: Hau hutsetik formularioa re-sortzen, Zure aldaketak baino gehiago idazten.

Final Oharrak:

  • Gutxienez bi SPD sortzeko ekintza hau bezalako forma: "Collect Data From a User" and "Assign To Do Item". Both of these actions’ forma eskuz alda daiteke.
  • Gai nire dispform.aspx lotura sortu nahi izan dut delako, kasu honetan, the relate item always has its ID embedded in the related item’s URL. I was able to extract it and then build an <href bat> based on it to provide the one-click meta data access feature. It’s unlikely that your URL follows this rule. There may be other ways to get the ID of the related item but I have not had to cross that bridge, beraz, ez dakit leizetik beste aldean bada lortzen.
  • Ez dut ikertu, baina ez nuke ez da harritu batzuk txantiloi fitxategi mota badago 12 hive SPD nola sortzen lehenetsi forma eragin hori ezin dut aldatu (askoz bezala alerta txantiloiak alda dezakegu).

</amaiera>

Nire blog Harpidetu!

Technorati Tags: ,

Irtenbidea (Ordena): Ezarri Lehentasuna zeregin bat SharePoint Designer erabiliz

Agertoki hau bezalako enpresa bat daukat:

  • Erabiltzaile fitxategiak dokumentu liburutegi bat dokumentu bat.
  • Eduki mota bat aukeratzen zuen eta meta datuak sartzen da, behar bezala. Meta datu eremu bat da, bandera bat, "Urgent".
  • Honek SharePoint Designer workflow duten abiarazleak, beste gauza batzuen artean, uses the "Collect Data from a User" Ekintza.

"Collect Data from a User" creates an item in a task list requesting approval for that document.

I needed to create a view of the task list that showed urgent requests for approval.

Irtenbidea: Put the word "URGENT:" into the title of these tasks.

I would have preferred to specify the priority field directly. Hala eta guztiz ere, I was unable to do that for several reasons:

  1. The collect data action does not provide a mechanism to update any field other than title (and those additional fields for which you want to collect data).
  2. The "assign a to do item" action has the same problem.
  3. It’s possible to insert an item into a list (I.E. insert an item into the task list directly) but this not a blocking action. That means that the workflow will not wait for the user to complete that task.

I considered a few approaches before (thankfully) realizing we could just put "urgent" in the title.

  1. Start a workflow on the task list itself so that when a new task is created, it somehow cross references back to the document that started the first workflow, pull out the urgent flag value and update priority as needed.
  2. Do something similar with an event receiver. On create of the task, locate the associated document and update priority as needed.
  3. Use the "create list item" action in conjunction with the "wait for field change" action and an event receiver. If we create a list item, we can specify all the fields we want. Use an event receiver to update the original item when the user completes the task and the "wait for field change" action’s condition would be met and the workflow would proceed. (For some reason, I had more or less settled on this approach before wisely deciding to walk away for a while).

There is a drawback to my solution (aside from the obvious fact that only the text of the title indicates urgency). Since "collect feedback" only accepts hard coded title names, I need to use two different collect feedback actions whose only difference is that hard coded title.

Baina, at least there’s a solution that does not require event receivers or custom SPD actions.

If someone has solved this in a more clever way, please let me know.

</amaiera>

Azkarra eta erraza: Ireki automatikoki InfoPath SharePoint Designer-posta From formularioa

UPDATE: Madjur Ahuja points out this link from a newsgroup discussion: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. It’s pretty definitive.

===

We often want to embed hyperlinks to InfoPath forms in emails sent from SharePoint Designer workflows. When users receive these emails, they can click on the link from the email and go directly to the InfoPath form.

This monster URL construction works for me:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&Source=http://server.corp.domain.com/sites/departments/Technical%20Services/InformationTechnology/HelpDesk/REC%20REM%20RED%20Forms/Forms/AllItems.aspx&DefaultItemOpen=1

Replace the bolded red text with the name of the form, as shown in the following screenshot:

image

Note that there is a lot of hard-coded path in that URL, as well as a URL-encoded component. If this is too hard to translate to your specific situation, try turning on alerts for the form library. Post a form and when you get the email, view the source of the email and you’ll see everything you need to include.

Astute readers may notice that the above email body also shows a link that directly accesses the task via a filtered view. I plan to explain that in greater detail in a future post.

</amaiera>

Technorati Tags:

MOSS esaten dit “Sarbidea ukatu” Workflow zeregin bat editatzeko, Baina ez dut dute sarbidea

I’ve implemented a workflow using SharePoint Designer in a site which is mainly read-only to "NT_AUTHORITY\Authenticated Users" (I.E. guztiontzat). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, zereginak esleitu ahal izango da pertsona.

Baimena apurtu dut forma liburutegia eta zereginen zerrendaren beraz autentifikatutako erabiltzailea edozein forma sor daitezke, eta euren esleitutako zereginak eguneratu.

I test with my low-privileges test account.

Ezin bete dut eta liburutegian inprimaki bat gorde? –> BAI

Ezin zeregin sartzeko I elektroniko bat lotura-tik? –> BAI

Ezin bat editatzeko workflow zeregin lotura ikusten dut –> BAI

Ezin klik lotura duten I? –> NO … Baimena ukatu.

Zergatik ezin bat editatu lotura duten me baimena ukatzen ikusten dut egin klik I? That’s not how it’s supposed to work…

Joan segurtasun konfigurazioa bidez dut berriro, very closely. I do it again. Mezu hau ez da ezabatzen uste dut jakina dut, zeren ez dakit segurtasun buruz ezer.

Azkenik, I search the Internets. I find this highly unlikely MSDN forum thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Kartelak dela iradokitzen to eu esportatzen disko platter bat ekintza sinple bat MOSS segurtasun zulo konpondu egingo? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 konspirazio non Stan gure Preznit da eskatuz, "Really?" over and over again.

Beraz,, ezer galtzeko, Sutea sortu dut SPD, eu eskuin-klik egin eta gorde nire c:\ drive. That would be the c:\ drive on my laptop. I’m looking over my shoulder the whole time so that no one will ask me, "why are you saving that workflow to your laptop?"

Izugarri, that solves my problem. I can edit the task.

Izendatuko dut hau gehien Bizarra Workflow Workaround izateko 2007.

</amaiera>

Technorati Tags:

SharePoint Designer, Uneko elementua en “Kodetuta absolutua URL” eta HTTPS

We often want to send an email that includes a hyperlink to the item or document that triggered the workflow. We can use current item’s "Encoded Absolute URL" for this purpose. Hala eta guztiz ere, it always seems to use "http" for the URL protocol. If your site runs on HTTPS then it will not work for you.

image

Den neurrian ezagutzen dut, there is no out of the box solution to this problem. If you need to use HTTPS, Aukera kutxa kanpo ez duzu.

Konpondu nahi, create a custom action that provides a string replace function to use in your workflow. Alternatively, erabili 3 party tresna, hala nola, pakete bikaina hemen: http://www.codeplex.com/spdwfextensions 🙂

</amaiera>

Technorati Tags: ,

SharePoint Designer-posta bidaltzen ???? E-mail bat

Foroa erabiltzaile noizean behin eskatu: Zergatik ez SharePoint Designer jarri ???? nire ordez eremuan balio bat email sartu?

Arrazoi bat gertatzen da, aldagai duzun erreferentzia da nulua delako.

This can happen because you are trying to reference a field from the "current item" baina erabiltzaileak inoiz sartu balio bat inprimaki Eremu horretan.

<amaieran />

Technorati Tags:

Konparatu / Datak Blank proba SharePoint Designer eu

Eszenatoki: Bat SharePoint Designer eu, you need to determine if a date field is blank.

Arazoa: SPD does not provide a direct method for comparing dates to anything other than a date. You cannot create a condition like this: "If [Data Eremua] equals blank".

Irtenbidea: Convert the date to a string. Use string comparison to determine if the date is blank.

Screen Shots:

The following screen shots show how to do this. Egoera honetan, Elementu batean eremu bat, "Environmental Permits:First Permit Reminder Date", aurkeztu da, eta erantzuna suteak eu.

image

image

Oharrak:

Hori saiatu naiz, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (Aldakorra:StringReminderDateDate) baina baimendu egin du.

Ere izan nintzen kezkatzen duten aukera ematen du, balioa nulua izan daiteke eta bai putz sortu exekuzio at WF edo agian tenperatura globala igo 1/2 maila bat, baina kezka horiek unfounded.

</amaiera>

Technorati Tags:

SharePoint Designer Workflow pertsonalizatua Ekintza — Behaketa buruz <Eremu Tie diseinatzailea Mota =”StringBuilder” … />

Just behaketa azkar bat dagoela bi definizio horien arteko aldea oso garrantzitsua da:

<FieldBind Field="InParam1" DesignerType="StringBuilder" Id="2" Text="Input parameter #1"/>

versus:

<FieldBind Field="InParam1" Id="2" Text="Input parameter #1"/>

SPD hau bezalako ikuskizunak lehen:

image

bigarrenak, berriz, hau bezalako erakusten bitartean:

image

Ez nago ziur zein lagungarriak diren pantaila-argazki hauek, baina horiek egiteko ahalegina egiten dut ikusi ahal izateko you

Behaketa hau da,: StringBuilder Onartu kate bat eraiki nahi duzu (jakina,) Elkarrekin katea datuak nahasketa eta workflow by literalak (via the "Add Lookup" ezkerreko behe-botoia). When you use the Add Lookup button, it inserts a token in the form "[%token%]". When SharePoint invokes your custom action, (C # nire kasuan kodea), SharePoint pasatzen du, token-bera, not the value of the token. If you use the default designer type (-Bigarren mota), Zabaldu eta SharePoint-token-token pasatzen da zure ekintza benetako balioa.

StringBuilder = BAD, lehenetsi diseinatzaile mota = ONA.

Jakina, that’s not what I really mean. Just don’t try and pass a parameter to your custom action when the designer type = StringBuilder. Use the default designer type and chain a StringBuilder to it up front if you need to build complex strings in your workflow (horrek bide da, hain zuzen, posta elektronikoa ekintza gai dinamiko bat sortu nahi du bat, baina hori beste blog sarrera gai bat da, Har har).

<amaieran />