Կարգավիճակի արխիվներ: Sharepoint աշխատանքի արդյունքում

Ստեղծել խումբ (SPWeb) միջոցով Sharepoint դիզայներ աշխատանքի արդյունքում

Այս բլոգը մուտքն ավելի կարեւոր է «հարթությունում է հնարավոր" Դուք vs. կոնկրետ info.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. Հիմնականում, ալբոմներ մտնում տվյալները մեջ մի նոր հաճախորդ" Մաքսային ցուցակը, ապա, երբ նրանք ավարտել է եւ վավերացվել տվյալների մուտքի գործընթացը:, մենք պետք է ստեղծել այդ կայքը հաճախորդին.

Ես էլ մեծ երկրպագուն դեկլարատիվ աշխատանքի արդյունքում, ինչպես նաեւ թույլ Visual Studio աշխատանքի արդյունքում ծրագրավորող, ես ցանկանում էի հանդիպել պահանջը `օգտագործելով Sharepoint դիզայներին.

Ես պլանավորում եմ գրել այս մասին առավել մանրամասն (եւ հուսով ենք ներկայացնում մի Օգտվողի մասին կամ երկու կողմից առաջիկա տարվա), Բայց ահա ընդհանուր լուծում:

  • Ստեղծել գործարկողի ակցիա է ինտեգրվել կապնվել SPD.
  • ՀՀ մաքսային գործողությունը թույլ է տալիս SPD է վկայակոչել վեբ ծառայություն, եւ անցնում է այն տողը թեմա.
  • Վեբ սպասարկման locates այդ շարքում է մաքսային ցուցակում եւ ստեղծում է նոր կայքը ըստ տվյալների, որ նոր հաճախորդ, օգտագործելով գործարկողի կայքի սահմանումը.
  • Web ծառայությունը ապա թարմացումները գործարկողի ցուցակի հետ որոշ տեղեկությունների, ինչպիսիք են հղում դեպի նոր կայքը.

Մենք համարում այլ մոտեցումներ, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, կա շատ C # կոդը Այս լուծմանը, բայց դա փաթաթված ներսում դեկլարատիվ աշխատանքի արդյունքում, որ մենք ստանում որոշ առավելությունների դեկլարատիվ աշխատանքի արդյունքում, իսկ hooking են կայքի ստեղծման ծառայության.

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.

</վերջ>

Անդամագրվել իմ բլոգում.

Ինտեգրվել Sharepoint ձեւավորմամբ Workflows է վեբ ծառայություններ

Ինձ խաղալ ամբողջ հետ, մաքսային գործողությունների Sharepoint դիզայներ որոշ ժամանակ (տես այստեղ ոմանց համար մանրամասն կազմի, եթե այդ շահերը ձեզ).

Իմ ներկա նախագծին, we need to do some fairly heavy lifting and we want to use declarative SPD workflow to manage the associated business process.

Երկար պատմությունը կարճ, 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.

Ահա ստորագրությունը:

 հասարակություն լարային Դիսպետչեր(
        Guid WebID, // Անցել են Runtime միջավայրում
        Guid SiteID, // Անցել են Runtime միջավայրում
        լարային ListID, // Անցել է RTE (Չգիտեմ, թե ինչու սա մի տող, ոչ մի GUID)
        int ListItemID, // Անցել է RTE.
        լարային XmlMessage) // Անցել օգտագործողի կողմից հայտարարված SPD.

Սա լծակները այն փաստը, որ մենք կարող ենք ստանալ կարեւոր աշխատանքի արդյունքում տեղեկություններ, նման կայքում, Ցուցակը ID, եւ այլն:. 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!

Տխուր, սա ակնհայտորեն մեկ տոմս ներքեւ "Loosey Goosey" ԱՄՆ - օրինակը հողի, but it’s better than hitting a brick wall 🙂

Արդյոք այն հակա - օրինակ, եթե դուք դա անել, նույնիսկ եթե դուք գիտեք, թե դա հակահայկական օրինակը?

I hope to wrap this inside Codeplex in the near future. If you’re interested in me doing so, Ինձ խառնել (փոստ կամ թողնել մեկնաբանություն) and I’ll be that more enthusiastic about doing it 🙂

</վերջ>

Անդամագրվել իմ բլոգում.

SPD աշխատանքի արդյունքում “Հավաքագրել տվյալներ Ա Օգտվող”: Փոփոխել առաջացած աշխատանքային ձեւը

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" գործողություն, որպեսզի մենք կարող է հուշել այն մասին տարբեր bits տեղեկատվության, ինչպես, օրինակ, թե արդյոք նրանք ընդունում են այն, որոշ Դիտողություններն ու միգուցե հարցնում էին ճաշի մյուս գիշեր.

The forms are perfectly functional. They are tied to a task list as a content type. Նրանք 100% system-generated. This is their strength and weakness. If we can live with the default form, then we’re good to go. Սակայն, we don’t have too much control over how SPD creates the form. If we don’t like that default behavior, մենք պետք է դիմել տարբեր հնարքներ, որպեսզի դրա շուրջ (օրինակ, համար առաջնահերթ խնդիր է).

Ինձ անհրաժեշտ է ապահովել հղում են աշխատանքային խմբեր ձեւերով բացվել է դիտիր հատկությունները (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:

պատկեր

Բարեբախտաբար, we can do that and it’s not very hard. Broadly speaking, կրակել են 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, Պահեստավորված կամ այլ XSL սցենարներ, this will be easy for you. Ի դեպ, Ես գտա, որ դա ընդհանրապես, քանի որ ավելի հեշտ ձեւ գեներացվել է փոքր - ինչ ավելի հեշտ է հետեւել համեմատ որոնման հիմնական արդյունքների վեբ մաս (կամ nightmarish CWQP).

Իհարկե, 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" քայլ.

Փորձարկում 1:

  • Փոփոխել ASPX ֆայլը ձեռքով.
  • Փորձարկել այն (ստուգել, ​​որ ձեր փոփոխություններ են պատշաճ կերպով պահվել եւ չէր խախտում ոչ մի բան).
  • Բացեք այդ աշխատանքի արդյունքում, եւ ավելացնել անկապ գործողություն (such as "log to history").
  • Պահպանիր աշխատանքի արդյունքում.

Արդյունք: Այս դեպքում, SPD չի վերստեղծել ձեւը.

Փորձարկում 2:

  • Արդյոք նույնը, ինչ #1 except directly modify the "collect data from a user" գործողություն.

Արդյունք: Այս վերակազմակերպման ստեղծում ձեւը զրոյից, over-գրավոր Ձեր փոփոխությունները.

Եզրափակիչ Notes:

  • Առնվազն երկու SPD գործողությունները ստեղծելու ձեւեր նման: "Collect Data From a User" and "Assign To Do Item". Both of these actions’ ձեւերը կարելի է ձեռքով փոփոխվել.
  • Ես կարողացել եմ առաջացնում իմ հղում dispform.aspx պատճառով, այդ դեպքում, the relate item always has its ID embedded in the related item’s URL. I was able to extract it and then build an <ա Ռաֆֆի Չ.> 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, ես չգիտեմ, եթե ստանում մյուս կողմում անդունդ.
  • Ես չէի հետաքննել, բայց ես չէի զարմանա, եթե ինչ կաղապարի ֆայլի մեջ 12 փեթակ, որ ես կարող փոփոխությունները է ազդել SPD առաջացնում կանխադրված ձեւերը (շատ նման մենք չենք կարող փոփոխությունները հիշեցում օրինակները).

</վերջ>

Անդամագրվել իմ բլոգում!

Լուծում (տեսակ): Սահմանել առաջնահերթություն է առաջադրանքի հաղորդագրությունները Using Sharepoint դիզայներին

Ես ունեմ գործարար սցենարը նման:

  • Մի օգտվողին բեռնումները փաստաթուղթ է փաստաթղթերի գրադարան.
  • Նա ընտրում է բովանդակության տեսակը եւ մտնում meta տվյալները ըստ անհրաժեշտության. Մեկը meta տվյալների դաշտերը մի դրոշ, "Urgent".
  • Այս triggers է Sharepoint դիզայներ աշխատանքի արդյունքում է, որ, ի թիվս այլ բաների,, օգտագործում մասնաճյուղի տվյալների հավաքում է Օգտվող" գործողություն.

"Collect Data from a User" ստեղծում կետին խնդիր ցուցակը `խնդրելով հաստատել այդ փաստաթղթի.

Ես պետք է ստեղծել տեսակետը առաջադրանքի ցուցակում, որը ցույց հրատապ խնդրանքները հաստատմանը.

Լուծում: Put the word "URGENT:" into the title of these tasks.

I would have preferred to specify the priority field directly. Սակայն, 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, այն ինչ - որ կերպ Cross References վերադառնալ փաստաթղթում, որը սկսվել է առաջին աշխատանքի արդյունքում, pull out the urgent flag value and update priority as needed.
  2. Do something similar with an event receiver. On create of the task, Տեղադրեք ուղեկից փաստաթուղթը եւ թարմացնել առաջնահերթ անհրաժեշտության.
  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. (Ինչ - ինչ պատճառներով, Ես ավելի կամ պակաս լուծել այս մոտեցման համար իմաստուն որոշում է քայլել հեռու մի քիչ).

Կա մի թերություն իմ լուծմանը (Բացի ակնհայտ փաստը, որ միայն տեքստը վերնագրի ցուցանիշն հրատապությունը). Since "collect feedback" միայն ընդունում դժվար կոդավորված title անունները, I need to use two different collect feedback actions whose only difference is that hard coded title.

Սակայն, գոնե կա մի լուծում, որը չի պահանջում միջոցառման ստացողի կամ մաքսային SPD միջոցառումներ.

Եթե ​​ինչ - որ մեկը լուծել այս ավելի խելացի կերպով, խնդրեմ ինձ տեղյակ պահեք.

</վերջ>

Արագ եւ հեշտ: Ավտոմատ Open InfoPath Form From Sharepoint դիզայներ խմբին

ԹԱՐՄԱՑՆԵԼ: 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, նրանք կարող կտտացնել հղումը կողմից էլ եւ գնալ ուղղակիորեն InfoPath տեսքով.

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:

պատկեր

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.

</վերջ>

MOSS Պատմում ՀՏՀ “Մուտքը արգելված է” խմբագրելու համար աշխատանքի արդյունքում խնդիր, Բայց ես իսկապես ունենք մուտք

Ես իրականացվել աշխատանքի արդյունքում, օգտագործելով Sharepoint դիզայներին մի վայրում, որը հիմնականում կարդում, է միայն "NT_AUTHORITY նյութեր վավերացված Users" (i.e. բոլորը). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, դա կարող է նշանակել հանձնարարականներ մարդկանց.

Ես կոտրել թույլտվություն ձեւերի գրադարանի խնդիրների ցուցակը, այնպես, որ ցանկացած իսկությունը օգտվողը կարող է ստեղծել ձեւերը, եւ թարմացնել իրենց հանձնարարված խնդիրները.

I test with my low-privileges test account.

Կարող եմ լրացրեք եւ պահպանել մի ձեւ է գրադարանից? –> YES

Կարող եմ օգտվել խնդիր է, որը էլեկտրոնային հղում? –> YES

Կարող եմ տեսնել Խմբագրել ընթացակարգի աշխատանքային կապը –> YES

Կարող եմ սեղմել, որոնք հղում են? –> NO … Թույլտվությունը մերժվեց.

Ինչու ես կարող եմ տեսնում, որոնք ժխտում սեղմելով ինձ թույլտվությունը, երբ ես սեղմել դրա վրա? That’s not how it’s supposed to work…

Ես անցնում է անվտանգության կազմաձեւման կրկին, very closely. I do it again. Ես կարծում եմ, վերացվում է այս գրառումը որովհետեւ ես ակնհայտորեն չգիտեմ, ոչինչ մասին անվտանգությանը.

Վերջապես, I search the Internets. I find this highly unlikely MSDN forum thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Պաստառները, կարծես, առաջարկելով, որ պարզ ակտը արտահանելու ընթացակարգի մի drive platter է ամրագրել մի MOSS անվտանգության հարցը? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 դավադրություն ուր Stan պահանջում մեր Preznit, "Really?" over and over again.

Այնքան, ոչինչ կորցնել, Ես fire մինչեւ SPD, աջ սեղմեք աշխատանքի արդյունքում եւ պահպանել այն իմ գ:\ 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?"

Աներեւակայելի, that solves my problem. I can edit the task.

Եմ առաջադրել այս առավել Bizarre Workflow workaround է 2007.

</վերջ>

Sharepoint Designer, Միջին Նյութի ի “Encoded Բացարձակ URL” եւ 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. Սակայն, միշտ թվում է օգտագործման »http" for the URL protocol. If your site runs on HTTPS then it will not work for you.

պատկեր

Որքանով ես գիտեմ,, there is no out of the box solution to this problem. If you need to use HTTPS, Դուք ունեք որեւէ դուրս վանդակում տարբերակը.

Լուծելու համար, create a custom action that provides a string replace function to use in your workflow. Alternatively, օգտագործել 3 - րդ կողմ գործիք, ինչպիսիք են գերազանց փաթեթի այստեղ: http://www.codeplex.com/spdwfextensions 🙂

</վերջ>

Sharepoint Designer Email ուղարկում ???? - ին նամակ

Ֆորում օգտվողները երբեմն հարցնում: Ինչու Sharepoint Designer դնում ???? իմ էլփոստով փոխարեն մի դաշտի արժեքը?

Պատճառներից մեկը, որ դա տեղի է ունենում այն ​​պատճառով, որ փոփոխական է, որին վերաբերում են առ.

Սա կարող է պատահել այն պատճառով, որ փորձում եք տեղեկանքը մի դաշտ է ներկա Նյութի" but the user never entered a value into that form field.

<Խաղի տեւողությունը րոպեներով />

Համեմատել / Փորձություն դատարկ Ամսաթվեր է Sharepoint դիզայներ աշխատանքի արդյունքում

Սցենար: Մի Sharepoint դիզայներ աշխատանքի արդյունքում, you need to determine if a date field is blank.

Խնդիր: SPD does not provide a direct method for comparing dates to anything other than a date. You cannot create a condition like this: «Եթե [DateField] հավասար է դատարկ »:.

Լուծում: 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. Այս սցենարի, a field on an item, "Environmental Permits:First Permit Reminder Date", is submitted and the workflow fires in response.

պատկեր

պատկեր

Notes:

When I tried this, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (Փոփոխական մեծություն:StringReminderDateDate) but it did allow it.

I was also concerned that allowing it, the value might be null and either blow up the WF at runtime or maybe raise the global temperature 1/2 a degree, but those concerns were unfounded.

</վերջ>

Sharepoint Designer աշխատանքի արդյունքում Custom Action — Դիտորդական մասին <Field Tie Designer Type =”StringBuilder” … />

Պարզապես արագ դիտարկմանը, որ կա մի շատ կարեւոր տարբերություն այս երկու հասկացություններն:

<FieldBind Field = "InParam1" Designer Type = "լարային Builder" Id = "2" Text = "Պահումը անհաջող է տեղաբաշխվել պարամետր # 1" />

ընդդեմ:

<FieldBind Field = "InParam1" Id = "2" Text = "Պահումը անհաջող է տեղաբաշխվել պարամետր # 1" />

Առաջին ցույց հավանում այս SPD:

պատկեր

մինչդեռ վերջինս ցույց է տալիս, այսպես:

պատկեր

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

Դիտորդական է սա: StringBuilder թույլ է տալիս կառուցել տողը (ակնհայտ) - ի կողմից mixing միասին լարային literals ու աշխատանքի արդյունքում տվյալներ (via the "Add Lookup" կոճակը եւ ստորին ձախ ձեռքի անկյունում). When you use the Add Lookup button, it inserts a token in the form "[%կտրոն%]". When SharePoint invokes your custom action, (C # կոդը իմ դեպքում,), Sharepoint անցնում է տարբերիչ նշանը ինքը, not the value of the token. If you use the default designer type (երկրորդ տեսակի), Sharepoint ընդլայնում է տարբերիչ նշանը, եւ անցնում է իրական արժեքը, ի նշան ձեր գործողությունների.

StringBuilder = ՎԱՏ, default դիզայներ տեսակ = ԼԱՎ.

Իհարկե, 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 (որն դեպ այն, ինչ կարելի է ստեղծել դինամիկ վերնագիրը համար էլ ակցիայի, Սակայն դա մեկ այլ թեմա բլոգ - գրառմանը, եղել է).

<Խաղի տեւողությունը րոպեներով />