Kategoriaj Arkivoj: SharePoint Workflow

Krei Ejojn (SPWeb) Tra SharePoint Designer Workflow

Ĉi tiu bloga eniro estas pli da de "en la sfero de la ebla" Eniro kontraŭ. konkreta info.

Ni havas teknikan desegnon kiu petas nin krei ejon en eja kolekto tra mane lanĉita workflow procezo. Resume, Uzantoj eniras datumon en "nova kliento" Laŭmenda listo kaj tiam kiam ili finis kaj konfirmis la datuman eniran procezon, Ni devas krei ejon por tiu kliento.

Mi estas ambaŭ granda fervorulo de declarative workflow tiel kiel malforta vida studio workflow programadisto, Do mi deziris renkonti la postulon uzanta SharePoint Designer.

Mi planas skribi pri tio ĉi en pli granda detalo (Kaj espereble nuna al uzanta grupo aŭ du en la venanta jaro), Sed ĉi tie-a la entuta solvo:

  • Krei laŭmendan agon kiu integrigas kun SPD.
  • La laŭmenda ago permesas SPD alvoki araneaĵan servon kaj pasi ĝin ŝnuro de XML.
  • Araneaĵa servo troviĝas la disputon en la laŭmenda listo kaj kreas novan ejon kiel por la datumo por tiu nova kliento uzanta laŭmendan ejan difinon.
  • Araneaĵa servo tiam ĝisdatigas la laŭmendan liston kun iu informo kiel ligo al la nova ejo.

Ni konsideris aliajn alproksimiĝojn, Kiel eventaj prizorgantoj kaj vida studio bazis workflow. La SPDa alproksimiĝo donas niajn finajn uzantojn malgranda pli da kontrolo super la procezo. Donita, Tie estas multa C# kodo en ĉi tiu solvo, Sed ĝi estas volvita en declarative workflow, Do ni akiras kelkaj de la utiloj de declarative workflow dum hokanta en la ejo-krea servo.

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.

</Fino>

Aboni al mia blogo.

Technorati Etikedoj: ,

Integrigi SharePoint Designer Workflows kun Araneaĵaj Servoj

Mi estis ludanta proksimume kun laŭmendaj agoj por SharePoint Designer por iu tempo (Vidi ĉi tie Por iu detala aĵo, Se kiu interesas vin).

En mia nuna projekto, Ni devas fari kelkajn juste pezan levanta kaj ni deziras uzi declarative SPD workflow administri la rilatan komercan procezon.

Longa rakonto mallonga, Tio ĉi estas tute ebla. Mi etendis mia Codeplex projekto alvoki "helper servo" Kaj nun ni povas alvoki araneaĵan servon rekte de SPD workflow.

Ĉi tie-a la subskribo:

 Publika Ŝnuro Ekspedanto(
        Guid WebID, // Pasita de la runtime medio
        Guid SiteID, // Pasita de la runtime medio
        Ŝnuro ListID, // Pasita de la RTE (Ne scias kial tion ĉi estas ŝnuro, Ne GUID)
        Int ListItemID, // Pasita de la RTE.
        Ŝnuro XmlMessage) // Pasita de la uzanto kiel deklarita en SPD.

Tio ĉi ekspluatas la fakton ke ni povas akiri ĉe grava workflow informo, Kiel la ejo, Lista IDENTIGAĴO, Ktp. Tio ĉi estas bone dokumentita en pluraj lokoj por tiuj de vi interesita en kreanta viajn proprajn laŭmendajn agojn. La ideo estas eltiri la XMLan ŝnuron kiel provizita de la uzanto ekspedi konvenan procedon. Amuza aĵo!

Bedaŭrinde, Tio ĉi estas evidente unu-voja bileto malsupren al "Loosey Goosey" Anti-skema lando, but it’s better than hitting a brick wall 🙂

Estas ĝi anti-skemo se vi faras ĝin eĉ kvankam vi scias ĝin estas anti-skemo?

Mi esperas volvi ĉi tiun internan Codeplex en la proksima estonteco. Se vi estas interesita en mi tiel faranta, Doni min enŝovi (Retpoŝto Aŭ lasi rimarkon) and I’ll be that more enthusiastic about doing it 🙂

</Fino>

Aboni al mia blogo.

Technorati Etikedoj: ,

SPD Workflow “Kolekti Datumon De Uzanto”: Modifi la Produktita Taskan Formon

Mi estas laboranta sur projekto kiu uzas kvin malsama SharePoint Designer laboraj fluoj pritrakti kelkajn dokumentajn aprobojn. SPD provizas la "kolekti datumon de uzanto" Ago por ke ni povas instigi la uzanton por malsamaj pecoj de informo, Kiel ĉu ili aprobas ĝin, Kelkaj rimarkoj kaj eble demandi kio ili havis por ĉefmanĝo la alia nokto.

La formoj estas perfekte praktikaj. Ili estas ligita al taska listo kiel kontenta tipo. Ili estas 100% Sistemo-produktita. Tio ĉi estas ilia forto kaj malforto. Se ni povas vivi kun la defaŭlta formo, Tiam ni estas bonaj iri. Tamen, Ni ne havas tro da kontrolon super kiel SPD kreas la formon. Se ni ne ŝatas tiun defaŭltan konduton, Ni devas utiligi al diversaj ruzoj akiri ĉirkaŭ ĝi (Ekzemple, Fiksanta prioritaton sur tasko).

Mi devis provizi ligon sur ĉi tiuj taskaj formoj kiu malfermis supre la vidajn nemoveblaĵojn (Dispform.Asxp) De la "rilata ero" En nova fenestro. Tio ĉi provizas unu-klaka aliro al la meta datumo de la rilata ero. Tio ĉi estas kio mi signifas:

Bildo

Feliĉe, Ni povas fari tion kaj ĝin ne estas tre malfacile. Larĝe parolanta, Pafadi supre SPD, Navigi al la adresaro ke domoj la workflow dosieroj kaj malfermi la ASPXan dosieron vi deziras modifi. Ĉi tiuj estas nur klasika XSL transformas instruojn kaj se vi havas mucked pri kun itemstyle.Xsl, Serĉo aŭ aliaj XSLaj scenaroj, Tio ĉi estos facile por vi. Fakte, Mi trovis ĝin esti ĝenerale pli facila pro tio ke la produktita formon estas iom pli facila sekvi kiel komparita al serĉa kerna rezulta araneaĵo parto (Aŭ la Nightmarish CWQP).

Nature, Estas unu grava enfalilo. workflow de SPD redaktoro atendas plenan kontrolon super tiu dosiero. Se vi modifas ĝin, SPD feliĉe anstataŭigos viajn ŝanĝojn donas la ĝustan aron de cirkonstancoj. Mi faris du rapidajn testojn vidi kiom malbone tion ĉi povus akiri. Ili ambaŭ antaŭsupozas ke vi formis validan SPD workflow kiu uzas la "kolekti datumon de uzanto" Paŝo.

Testo 1:

  • Modifi la ASPXan dosieron mane.
  • Elprovi ĝin (Konfirmi ke viaj ŝanĝoj estis konvene savita kaj ne rompis ion ajn).
  • Malfermi supre la workflow kaj aldoni senrilatan agon (Kiel "ŝtipo al historio").
  • Savi la workflow.

Rezulto: En ĉi tiu kazo, SPD faris ne re-krei la formon.

Testo 2:

  • Fari la saman kiel #1 Esceptas rekte modifi la "kolekti datumon de uzanto" Ago.

Rezulto: Ĉi tiu re-kreas la formon de grataĵo, Super-skribanta viajn ŝanĝojn.

Finaj Notoj:

  • Almenaŭ du SPDaj agoj kreas formojn tiel: "Kolekti Datumon De Uzanto" Kaj "Asigni Fari Eron". Ambaŭ de ĉi tiuj agoj’ Formoj povas esti mane modifita.
  • Mi estis kapabla produkti mian ligon al dispform.Aspx ĉar, En ĉi tiu kazo, La rilati eron ĉiam havas ĝian IDENTIGAĴON integriĝinta en URL de la rilata ero. Mi estis kapabla eltiri ĝin kaj tiam konstrui <href> Bazita sur ĝi provizi la unu-klako meta datuma aliro ĉefaĵo. Ĝi estas neverŝajna ke via URL sekvas ĉi tiun regulon. Tie povas esti aliaj vojoj akiri la IDENTIGAĴON de la rilata ero sed mi havas ne devis transiri tiun ponton, Do mi ne scias se akiras al la alia flanko de la chasm.
  • Mi ne prienketis, Sed mi ne estus surprizita se estas iu speco de ŝablona dosiero en la 12 Hive ke mi povus modifi influi kiel SPD produktas la defaŭltajn formojn (Multe da ŝatas nin povas modifi atentigajn ŝablonojn).

</Fino>

Aboni al mia blogo!

Technorati Etikedoj: ,

Solvo (Speco de): Fiksita Prioritaton sur Tasko Uzanta SharePoint Designer

Mi havas komercan scenaron tiel:

  • Uzantaj alŝutoj dokumento al dokumenta biblioteko.
  • Ŝi elektas kontentan tipon kaj eniras meta datumo kiel devita. Unu el la meta datumaj kampoj estas flago, "Urĝa".
  • Tio ĉi ekkaŭzas SharePoint Designer workflow tio, Inter aliaj aferoj, Uzas la "Kolekti Datumon de Uzanto" Ago.

"Kolekti Datumon de Uzanto" Kreas eron en taska listo petanta aprobon por tiu dokumento.

Mi devis krei vidon de la taska listo kiu montris urĝajn petojn por aprobo.

Solvo: Meti la vorton "URĜA:" En la titolo de ĉi tiuj taskoj.

Mi estus preferinta specifi la prioritatan kampon rekte. Tamen, Mi estis nekapabla fari tion por pluraj kialoj:

  1. La kolekti datuman agon ne provizas mekanismon ĝisdatigi ajnan kampon alia ol titolo (Kaj tiuj suplementaj kampoj por kiu vi deziras kolekti datumon).
  2. La "asigni fari eron" Ago havas la saman problemon.
  3. Ĝi estas ebla inserti eron en listo (T.e. Inserti eron en la taska listo rekte) Sed tio ĉi ne blokanta ago. Kiu signifas ke la workflow ne atendos por la uzanto kompletigi tiun taskon.

Mi konsideris kelkajn alproksimiĝojn antaŭe (Feliĉe) Konscianta nin nur povus meti "urĝan" En la titolo.

  1. Komenci workflow sur la tasko enlistigas ĝin mem por ke kiam nova tasko estas kreita, Ĝi iel transversaj referencoj reen al la dokumento kiu komencis la unuan workflow, Eltiri la urĝan flagan valoron kaj ĝisdatigan prioritaton kiel devita.
  2. Fari ion simila kun eventa ricevilo. Sur krei de la tasko, Troviĝi la rilatan dokumenton kaj ĝisdatigan prioritaton kiel devita.
  3. Uzi la "krei listan eron" Ago kune kun la "atendo por kampa ŝanĝo" ago kaj eventa ricevilo. Se ni kreas listan eron, Ni povas specifi ĉiuj la kampoj ni deziras. Uzi eventan ricevilon ĝisdatigi la originalan eron kiam la uzanto kompletigas la taskon kaj la "atendon por kampa ŝanĝo" la kondiĉo de ago estus renkontita kaj la workflow procedus. (Por iu kialo, Mi pli malpli solvis sur ĉi tiu alproksimiĝo antaŭ ol prudente decidanta piediri for por momento).

Estas malavantaĝo al mia solvo (Flankenmetite de la evidenta fakto ke nur la teksto de la titolo indikas urĝecon). Pro tio ke "kolektas retrosciigon" Nur akceptas malfacile kodita titolajn nomojn, Mi devas uzi du malsama kolekti retrosciigajn agojn kies nura diferenco estas ke malfacile kodita titolon.

Sed, #Almena? tie?? Solvo ke ne postulas eventajn ricevilojn #a? #la?menda SPDajn agojn.

Se iu solvis #tio ?i en pli lerta vojo, bonvolu lasi Mi scii.

</Fino>

Rapide kaj Facile: Aŭtomate Malferma InfoPath Formo De SharePoint Designer Retpoŝto

ĜISDATIGO: Madjur Ahuja atentigas ĉi tiun ligon de Newsgroup diskuto: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. Ĝi estas sufiĉe definitiva.

===

Ni ofte deziras al embed hiperligoj al InfoPath formoj en retpoŝtoj sendita de SharePoint Designer workflows. Kiam uzantoj ricevas ĉi tiujn retpoŝtojn, Ili povas klaki sur la ligo de la retpoŝto kaj iri rekte al la InfoPath formo.

Ĉi tiuj monstraj URLaj konstruaj laboroj por mi:

Http://Servilaj/ejoj/departementoj/Teknika Servoj/InformationTechnology/HelpDesk/_planoj/FormServer.Aspx?XmlLocation=/ejaj/departementoj/Teknika Servoj/InformationTechnology/HelpDesk/REC REM RUĜA Formoj/REC2007-12-18T11_33_48.Xml&Fonto=http%3//server.corp.domain.com/sites/departments/Technical%20Servoj/InformationTechnology/HelpDesk/REC%20REM%20RUĜA%20Formoj/Forms/AllItems.aspx&DefaultItemOpen=1

Anstataŭigi la bolded ruĝa teksto kun la nomo de la formo, Kiel montrita en la sekvanta ekranfoto:

Bildo

Noto kiu estas multa malfacila-kodita vojon en tiu URL, Tiel kiel URL-koda ero. Se tio ĉi estas tro malfacila traduki al via specifa situacio, Provi turnanta sur atentigoj por la forma biblioteko. Poŝti formon kaj kiam vi akiras la retpoŝton, Vidi la fonton de la retpoŝto kaj vi vidos ĉion vi devas inkluzivi.

Sagacaj legantoj povas rimarki ke la supra retpoŝta korpo ankaŭ montras ligon ke rekte aliras la taskon tra filtrita vidon. Mi planas klarigi ke en pli granda detalo en estonta poŝto.

</Fino>

Technorati Etikedoj:

MUSKO Diras Min “Aliri Neita” Redakti Workflow Tasko, Sed mi Vere ja Havas Aliron

Mi efektivigis workflow uzanta SharePoint Designer en ejo kiu estas plejparte legita-nura al "NTa_AŬTORITATOAŭtentikigita Uzantojn" (T.e. ĉiu). Estas forma biblioteko por InfoPath formo. Estas rilata workflow taskoj enlistigas ankaŭ por ke kiam la workflow funkcias, Ĝi povas asigni taskojn al homoj.

Mi rompas permeson por la forma biblioteko kaj taska listo por ke iu ajn aŭtentikigis uzanton povas krei formojn kaj ĝisdatigi ilia asignita taskojn.

Mi elprovas kun mia malalta-privilegia testo konto.

Povas min elplenigas kaj savi formon al la biblioteko? –> YES

Povas min aliras la taskon de retpoŝta ligo? –> YES

Povas min vidas Redakti workflow taska ligo –> YES

Povas min klakas sur tiu ligo? –> NO … Permeso Neis.

Kial povas min vidas redakti ligon kiu neas min permeso kiam mi klakas sur ĝi? Tio ne estas kiom ĝi estas supozita labori…

Mi iras tra la sekureca konfiguracio denove, Tre proksime. Mi faras ĝin denove. Mi konsideras foriganta ĉi tiun poŝton Ĉar mi evidente ne scias ion ajn pri sekureco.

Fine, Mi serĉas la Interretojn. Mi trovas tion ĉi tre neverŝajna MSDNa forumo fadeno: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

La afiŝoj aperas esti sugestanta ke la simpla ago eksporti la workflow al stirado platter riparos MUSKAN sekurecan aferon? Mi malfacile povas kredi min nur tajpita tion. Mi estas rememorigita de la Suda Parka epizodo pri la 9/11 Konspiro kie Stan estas demandanta nia Preznit, "Vere?" Denove kaj denove denove.

Tiel, Nenio perdi, Mi pafadas supre SPD, Ĝusta-klako sur la workflow kaj savi ĝin al mia c:\ Stirado. Kiu estus la c:\ Stirado sur mia tekkomputilo. Mi estas rigardanta super mia ŝultro la tuta tempo por ke neniu demandos min, "Kial estas vi savanta ke workflow al via tekkomputilo?"

Nekredeble, Kiu solvas mian problemon. Mi povas redakti la taskon.

Mi hereby nomi tion ĉi esti la Plej Groteska Workflow Workaround de 2007.

</Fino>

Technorati Etikedoj:

SharePoint Designer, Nuna Ero-a “Kodita Absolutan URL” Kaj HTTPS

Ni ofte deziras sendi retpoŝton kiu inkluzivas hiperligon al la ero aŭ dokumento kiu ekkaŭzis la workflow. Ni povas uzi Kodan Absolutan URL de nuna ero" Por ĉi tiu celo. Tamen, Ĝi ĉiam ŝajnas uzi "http" Por la URLa protokolo. Se viaj ejaj kuroj sur HTTPS tiam ĝi ne laboros por vi.

Bildo

Kiom mi scias, Estas ne ekstere de la skatola solvo al ĉi tiu problemo. Se vi devas uzi HTTPS, Vi havas ne ekstere de la skatola elekto.

Solvi ĝin, Krei laŭmendan agon kiu provizas ŝnuron anstataŭigas funkcion uzi en via workflow. Alternative, Uzi 3a partian ilon kiel la bonega pako ĉi tie: http://www.codeplex.com/spdwfextensions 🙂

</Fino>

Technorati Etikedoj: ,

SharePoint Designer Retpoŝto Sendas ???? En Retpoŝto

Forumaj uzantoj foje demandi: Kial faras SharePoint Designer metita ???? En mia retpoŝto anstataŭ kampa valoro?

Unu kialo tio ĉi okazas estas ĉar la varia al kiu vi plu-gvidas estas null.

Tio ĉi povas okazi ĉar vi estas provanta referenci kampon de la "nuna ero" Sed la uzanto neniam eniris valoron en tiu forma kampo.

<Fino/>

Technorati Etikedoj:

Kompari / Testo por Malplenaj Datoj en SharePoint Designer Workflow

Scenaro: En SharePoint Designer workflow, Vi devas determini se data kampo estas malplena.

Problemo: SPD ne provizas rektan metodon por komparanta datojn al io ajn alia ol dato. Vi ne povas krei kondiĉon tiel: "Se [DateField] Egalula malplenaĵo".

Solvo: Transformi la daton al ŝnuro. Uza ŝnuro komparo determini se la dato estas malplena.

Ekranaj Pafoj:

La sekvantaj ekranaj pafoj montras kiel fari tion ĉi. En ĉi tiu scenaro, Kampo sur ero, "Ekologiaj Permesiloj:Unua Permesila Rememorigilo Dato", Estas submetiĝita kaj la workflow fajregoj en respondo.

Bildo

Bildo

Notoj:

Kiam mi provis tion ĉi, Mi estis agrable surprizita lerni ke ĝi laboras. Mi estis maltrankvilita ke SharePoint Designer eblas disallow la ŝnura komisio (Varia:StringReminderDateDate) Sed ĝi ja permesis ĝin.

Mi estis ankaŭ koncernita ke permesanta ĝin, La valoro povus esti null kaj ajna frapo supre la WF ĉe runtime aŭ eble levi la tutmondan temperaturon 1/2 Grado, Sed tiuj koncernoj estis senbazaj.

</Fino>

Technorati Etikedoj:

SharePoint Designer Workflow Laŭmenda Ago — Rimarko Pri <FieldBind Designer Tipo=”StringBuilder” … />

Nur rapida rimarko ke tie estas tre grava diferenco inter ĉi tiuj du difinoj:

<FieldBind Kampo="InParam1" DesignerType="StringBuilder" Identigaĵo="2" Teksta="Enigo parametro #1"/>

Kontraŭ:

<FieldBind Kampo="InParam1" Identigaĵo="2" Teksta="Enigo parametro #1"/>

La unuaj rezultoj tiel en SPD:

Bildo

Dum la lastaj rezultoj tiel:

Bildo

Mi ne certas, kiom helpas ĉi tiuj ekranpafoj, sed mi penas fari ilin, do vi devas vidi ilin 🙂

La rimarko estas tio ĉi: StringBuilder permesas vin konstrui ŝnuron (Evidente) De miksanta kune laĉi literals kaj workflow datumo (Tra la "Aldoni Lookup" Butono en la pli malalta maldekstra angulo). Kiam vi uzas la Aldoni Lookup butono, Ĝi insertas token en la formo "[%Token%]". Kiam SharePoint alvokas vian laŭmendan agon, (C# kodo en mia kazo), SharePoint pasas la token ĝi mem, Ne la valoro de la token. Se vi uzas la defaŭltan designer tipo (La dua tipo), SharePoint vastigas la token kaj pasas realan valoron de la token al via ago.

StringBuilder = BAD, Defaŭlta designer tipa = BONO.

Nature, Tio ne estas kio mi vere malbona. Nur ne provas kaj pasi parametron al via laŭmenda ago kiam la designer tipo = StringBuilder. Uzi la defaŭltan designer tipo kaj ĉeni StringBuilder al ĝi supre fronta se vi devas konstrui kompleksajn ŝnurojn en via workflow (Kiu parenteze estas ĝuste kio unu faras krei dinamikan temon por la retpoŝta ago, Sed tio estas temo por alia bloga eniro, Har har).

<Fino/>