Cartlanna Catagóire: SharePoint Sreabhadh oibre

Láithreáin Cruthaigh (SPWeb) via Sreabhadh Oibre Dearthóir SharePoint

This blog entry is more of an "in the realm of the possible" iontráil vs. info coincréite.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. Go bunúsach, users enter data into a "new customer" liosta saincheaptha agus ansin nuair a bhí siad an próiseas iontrála sonraí críochnaithe agus bailíochtaithe, ní mór dúinn a chruthú suíomh don chustaiméir.

Tá mé an dá lucht leanúna mór de sreabhadh oibre declarative chomh maith mar ríomhchláraitheoir sreabhadh oibre stiúideo amhairc lag, mar sin bhí mé chun freastal ar an riachtanas ag baint úsáide as SharePoint Dearthóir.

Intinn agam a scríobh faoi seo go mion (agus tá súil againn i láthair do ghrúpa úsáideora nó dhó sa bhliain atá romhainn), ach anseo tá an réiteach foriomlán:

  • Cruthaigh gníomh saincheaptha a chomhtháthaíonn leis an SPD.
  • Ceadaíonn an gníomh saincheaptha SPD chun seirbhís gréasáin a agairt agus é a chur ar shraith de XML.
  • Locates seirbhís Gréasáin an tsraith ar an liosta saincheaptha agus go gcruthaíonn sé suíomh nua de réir na sonraí don chliant nua ag baint úsáide as sainmhíniú láithreán saincheaptha.
  • Seirbhís Gréasáin nuashonrú ansin an liosta saincheaptha le roinnt eolais cosúil le nasc go dtí an suíomh nua.

Mheas againn cur chuige eile, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, níl a lán de C # ZIP sa réiteach seo, ach tá sé fillte taobh istigh de sreabhadh oibre declarative, mar sin a fháil againn roinnt de na buntáistí a bhaineann le sreabhadh oibre declarative agus hooking isteach sa tseirbhís site-cruthú.

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.

</deireadh>

Liostáil le mo bhlag.

Clibeanna Technorati: ,

Comhtháthaigh sreabhadh oibre Dearthóir SharePoint le Seirbhísí Gréasáin

Tá mé ag imirt ar fud le gníomhartha saincheaptha do SharePoint Dearthóir ar feadh tamaill (féach anseo ar roinnt rudaí mionsonraithe, má a leasanna tú).

I mo tionscadal reatha, we need to do some fairly heavy lifting and we want to use declarative SPD workflow to manage the associated business process.

Fada scéal gearr, 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.

Seo an síniú:

 poiblí teaghrán Dispatcher(
        Guid WebID, // Passed ag an timpeallacht runtime
        Guid SiteID, // Passed ag an timpeallacht runtime
        teaghrán ListID, // Passed ag an RTÉ (níl a fhios cén fáth go bhfuil sé seo ar shraith, Ní GUID)
        int ListItemID, // Passed ag an RTÉ.
        teaghrán XmlMessage) // Passed ag an úsáideoir, mar a dearbhaíodh i SPD.

Ghiaráil sé seo ar an bhfíric gur féidir linn a fháil ar fhaisnéis sreabhadh oibre tábhachtach, cosúil leis an suíomh, ID liosta, 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!

Faraor, seo Is léir go bhfuil aon-bhealach ticéad síos go dtí "Loosey Goosey" talamh frith-patrún, but it’s better than hitting a brick wall 🙂

An bhfuil sé frith-patrún má dhéanann tú é cé a fhios agat go bhfuil sé frith-patrún?

I hope to wrap this inside Codeplex in the near future. If you’re interested in me doing so, a thabhairt dom poke (r-phost nó fág tagairt) and I’ll be that more enthusiastic about doing it 🙂

</deireadh>

Liostáil le mo bhlag.

Clibeanna Technorati: ,

SPD Sreabhadh Oibre “Sonraí Ó Úsáideoir Bailigh”: Athraigh an Tasc Foirm Ghinte

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" gníomh ionas gur féidir linn a spreagfaidh an t-úsáideoir le haghaidh giotán éagsúla faisnéise, mar shampla, cé acu acu é a cheadú, roinnt tuairimí agus b'fhéidir a iarraidh ar cad a bhí siad don dinnéar an oíche eile.

The forms are perfectly functional. They are tied to a task list as a content type. Tá siad 100% system-generated. This is their strength and weakness. If we can live with the default form, then we’re good to go. Mar sin féin, we don’t have too much control over how SPD creates the form. If we don’t like that default behavior, ní mór dúinn dul i muinín cleasanna éagsúla a fháil timpeall air (mar shampla, tosaíocht leagan ar thasc).

Is gá dom a nasc ar na foirmeacha tasc a d'oscail suas an airíonna an amhairc a chur ar fáil (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:

íomhá

Thankfully, we can do that and it’s not very hard. Broadly speaking, dóiteáin suas 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, cásanna XSL eile cuardaigh nó, this will be easy for you. Go deimhin, Fuair ​​mé é a bheith i gcoitinne níos éasca ós rud é go bhfuil an fhoirm a ghintear beagán níos éasca a leanúint i gcomparáid le croí-thorthaí páirt gréasáin chuardaigh (nó an CWQP nightmarish).

Ar ndóigh,, 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" céim.

Tástáil 1:

  • Athraigh an comhad ASPX de láimh.
  • Tástáil sé (fhíorú go raibh shábháil do chuid athruithe i gceart agus ní raibh rud ar bith a bhriseadh).
  • Oscail suas an sreabhadh oibre agus cuir ar ghníomhaíocht atá unrelated (such as "log to history").
  • Sábháil an sreabhadh oibre.

Toradh: Sa chás seo, Ní raibh SPD ath-chruthú ar an bhfoirm.

Tástáil 2:

  • An bhfuil an céanna mar #1 except directly modify the "collect data from a user" gníomh.

Toradh: Seo ar ath-Cruthaíonn an fhoirm ó scratch, ró-scríobh do chuid athruithe.

Nótaí Deiridh:

  • Ar a laghad dhá ghníomh SPD chruthú foirmeacha mar seo: "Collect Data From a User" and "Assign To Do Item". Both of these actions’ Is féidir foirmeacha a mhodhnú de láimh.
  • Bhí mé in ann a ghiniúint mo nasc chuig dispform.aspx mar gheall ar, sa chás seo, the relate item always has its ID embedded in the related item’s URL. I was able to extract it and then build an <a href> 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, mar sin níl a fhios agam má thagann go dtí an taobh eile de chuid an chasm.
  • Ní raibh mé ag imscrúdú, ach ní ba mhaith liom a bheith ionadh más rud é go bhfuil roinnt de chineál comhaid teimpléad sa 12 hive go raibh mé in ann a mhodhnú go mbeadh tionchar acu conas a ghineann SPD na foirmeacha réamhshocraithe (i bhfad mar is féidir linn a mhodhnú teimpléid airdeall).

</deireadh>

Liostáil le mo bhlag!

Clibeanna Technorati: ,

Réiteach (saghas): Socraigh Tosaíocht ar Tasc Ag baint úsáide as SharePoint Dearthóir

Tá mé cás gnó mar seo:

  • A uaslódála úsáideora doiciméad leabharlann doiciméad.
  • Roghnaíonn sí cineál inneachair agus a thiocfaidh sonraí meta mar is gá. Is é ceann de na réimsí sonraí meta bratach, "Urgent".
  • Triggers seo sreabhadh oibre Dearthóir SharePoint go, i measc nithe eile, uses the "Collect Data from a User" gníomh.

"Collect Data from a User" Cruthaíonn mír i dtasc liosta cheadú iarraidh don cháipéis.

Is gá dom a chruthú d'fhonn an liosta tasc a léirigh iarratais phráinneacha le faomhadh.

Réiteach: Put the word "URGENT:" into the title of these tasks.

I would have preferred to specify the priority field directly. Mar sin féin, Raibh mé in ann é sin a dhéanamh ar chúiseanna éagsúla:

  1. Ní dhéanann an gníomh a bhailiú sonraí a sholáthróidh meicníocht le nuashonrú ar bith eile seachas an réimse teideal (agus iad siúd réimsí breise a ba mhaith leat chun sonraí a bhailiú).
  2. The "assign a to do item" Tá an fhadhb chéanna gníomh.
  3. Tá sé is féidir a chur isteach le mír i liosta (i.e. cuir mír isteach ar an liosta tasc díreach) but this not a blocking action. That means that the workflow will not wait for the user to complete that task.

Mheas mé cúpla cur chuige roimh (buíochas le Dia) realizing we could just put "urgent" sa teideal.

  1. Tosaigh le sreabhadh oibre ar an liosta tasc féin ionas gur nuair atá tasc nua a cruthaíodh, sé trasna ar bhealach tagairtí ar ais chun an doiciméad a thosaigh an chéad sreabhadh oibre, pull out the urgent flag value and update priority as needed.
  2. Do something similar with an event receiver. On create of the task, an doiciméid ghaolmhara a aimsiú agus a thabhairt cothrom le dáta tosaíocht mar is gá.
  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. (Ar chúis éigin, Bhí mé níos mó nó níos lú a shocrú ar an gcur chuige seo sula gcinnfidh sé críonna chun siúl amach ar feadh tamaill).

Tá míbhuntáiste le mo réiteach (ar leataobh as an bhfíric go léir iúl ach amháin an téacs an teideal práinne). Since "collect feedback" ach glacann ainmneacha teideal códaithe crua, I need to use two different collect feedback actions whose only difference is that hard coded title.

Ach, ar a laghad, níl a réiteach nach gá glacadóirí imeacht nó gníomhartha SPD saincheaptha.

Má tá duine éigin réiteach seo ar bhealach níos cliste, cuir in iúl dom.

</deireadh>

Tapaidh agus éasca: Foirm InfoPath Huathoibríoch Oscailte Ó SharePoint Dearthóir Ríomhphost

Suas chun dáta: Madjur Ahuja pointí amach an nasc seo ó plé grúpa nuachta: 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, Is féidir leo cliceáil ar an nasc ó r-phost agus dul díreach chuig an fhoirm InfoPath.

Oibríonn an URL ollphéist tógála le haghaidh dom:

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

In ionad an téacs dearg bolded le hainm an fhoirm, mar a thaispeántar sa scáileán seo a leanas:

íomhá

Tabhair faoi deara go bhfuil a lán de cosán crua-códaithe sa 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, féachaint ar an foinse an teachtaireacht chugainn agus gheobhaidh tú a fheiceáil gach rud atá uait a chur san áireamh.

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.

</deireadh>

Clibeanna Technorati:

CAONAIGH Insíonn Me “Rochtana Diúltaithe” a Cuir Tasc Sreabhadh Oibre, Ach An bhfuil mé really An bhfuil Rochtain

I’ve implemented a workflow using SharePoint Designer in a site which is mainly read-only to "NT_AUTHORITY\Authenticated Users" (i.e. gach duine). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, Is féidir é a tascanna a shannadh do dhaoine.

Bhriseadh mé cead don leabharlann foirmeacha agus liosta tasc ionas gur féidir aon úsáideoir fíordheimhnithe foirmeacha a chruthú agus a gcuid tascanna a shanntar thabhairt cothrom le dáta.

I test with my low-privileges test account.

An féidir liom a líonadh amach agus a shábháil bhfoirm a mbeidh an leabharlann? –>

An féidir liom rochtain a fháil ar an tasc ó nasc r-phost? –>

An féidir liom a fheiceáil ar an nasc Edit tasc sreabhadh oibre –>

An féidir liom a cliceáil ar an nasc? –> NÍL … Cead diúltaithe.

Cén fáth ar féidir liom a fheiceáil ar an nasc in eagar go denies cead dom nuair a bhím ag cliceáil ar sé? That’s not how it’s supposed to work…

Téim tríd an chumraíocht slándála arís, very closely. I do it again. Measaim scriosadh an post seo because I obviously don’t know anything about security.

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

The posters appear to be suggesting that the simple act of exporting the workflow to a drive platter will fix a MOSS security issue? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 conspiracy where Stan is asking our Preznit, "Really?" over and over again.

Mar sin,, nothing to lose, I fire up SPD, right-click on the workflow and save it to my 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?"

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

Ainmniú leis seo seo a bheith ar an chuid is mó Bizarre de Workaround Sreabhadh Oibre 2007.

</deireadh>

Clibeanna Technorati:

SharePoint Dearthóir, Mír reatha “Ionchódaithe URL Absalóideach” agus 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. Mar sin féin, it always seems to use "http" for the URL protocol. If your site runs on HTTPS then it will not work for you.

íomhá

Chomh fada is a fhios agam, there is no out of the box solution to this problem. If you need to use HTTPS, tá tú aon rogha amach as an bhosca.

Chun a réiteach é, create a custom action that provides a string replace function to use in your workflow. Alternatively, a úsáid mar uirlis 3ú páirtí, mar shampla an pacáiste den scoth anseo: http://www.codeplex.com/spdwfextensions 🙂

</deireadh>

Clibeanna Technorati: ,

Seol Ríomhphost Dearthóir SharePoint ???? i R-phost

Fóram úsáideoirí a iarraidh ó am go chéile: Cén fáth a chur SharePoint Dearthóir ???? isteach i mo ríomhphost ionad luach allamuigh?

Cúis amháin a tharlaíonn sé seo toisc go bhfuil an athróg a dtagraíonn tú null.

This can happen because you are trying to reference a field from the "current item" ach an t-úsáideoir riamh tháinig ar luach isteach sa réimse bhfoirm.

<deireadh />

Clibeanna Technorati:

Déan comparáid idir / Tástáil le haghaidh Dátaí Blank i Sreabhadh Oibre Dearthóir SharePoint

Cás: I sreabhadh oibre Dearthóir SharePoint, you need to determine if a date field is blank.

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

Réiteach: Convert the date to a string. Use string comparison to determine if the date is blank.

Shots Scáileán:

The following screen shots show how to do this. Sa chás seo, réimse ar mhír, "Environmental Permits:First Permit Reminder Date", Tá isteach agus na tinte sreabhadh oibre mar fhreagra ar.

íomhá

íomhá

Nótaí:

Nuair a rinne mé é seo, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (Athróg:StringReminderDateDate) ach ní raibh sé deis a thabhairt dó.

Bhí mé freisin i gceist go ligeann sé, D'fhéadfadh an luach a bheith ar neamhní agus ceachtar buille an WF ag runtime suas nó b'fhéidir an teocht domhanda a ardú 1/2 céim, ach bhí na hábhair imní gan bhunús.

</deireadh>

Clibeanna Technorati:

SharePoint Dearthóir Sreabhadh oibre Gníomhaíochta an Chustaim — Breathnadóireacht About <Cineál Field Dearthóir Ceangail =”StringBuilder” … />

Just breathnú tapaidh go bhfuil difríocht an-tábhachtach idir an dá sainmhínithe:

<FieldBind Field = "InParam1" Cineál Dearthóir = "Teaghrán Tógálaí" Id = "2" Téacs = "paraiméadar Ionchur # 1" />

i gcomparáid le:

<FieldBind Field = "InParam1" Id = "2" Téacs = "paraiméadar Ionchur # 1" />

Léiríonn an chéad mar seo i SPD:

íomhá

cé go léiríonn an dara ceann mar seo:

íomhá

Níl mé cinnte cé chomh cabhrach is atá na seatanna scáileáin seo ach rinne mé iarracht iad a dhéanamh ionas go mbeidh ort breathnú orthu 🙂

Is é an tuairim seo: StringBuilder is féidir leat a thógáil ar shraith (ar ndóigh) ag meascadh le chéile literals téad agus sonraí sreabhadh oibre (tríd an Add "Lookup" cnaipe sa chúinne íochtarach ar chlé). When you use the Add Lookup button, cuireann sé ina chomhartha san fhoirm "[%% chomhartha]". When SharePoint invokes your custom action, (C # cód i mo chás), SharePoint Gabhann an chomhartha féin, not the value of the token. If you use the default designer type (an dara cineál), SharePoint leathnaíonn an chomhartha agus Gabhann luach iarbhír an chomhartha ar do ghníomhaíocht.

StringBuilder = bad, Cineál dearthóir réamhshocraithe = MAITH.

Ar ndóigh,, 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 (atá teagmhasach go díreach cad a dhéanann duine a chruthú faoi réir dinimiciúil don ghníomhaíocht r-phost, ach tá go ábhar le haghaidh iontráil eile blog, Tá).

<deireadh />