வகை பதிவுகள்: ஷேர்பாயிண்ட் பணியோட்ட

தளங்கள் உருவாக்க (SPWeb) ஷேர்பாயிண்ட் டிசைனர் பணியோட்ட வழியாக

This blog entry is more of an "in the realm of the possible" நுழைவு Vs. கான்கிரீட் தகவல்.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. அடிப்படையில், users enter data into a "new customer" அவர்கள் தரவு உள்ளீடு செயல்முறை நிறைவு மற்றும் சரிபார்க்க போது பின் விருப்ப பட்டியல் மற்றும், நாங்கள் அந்த வாடிக்கையாளர் ஒரு தளத்தை உருவாக்க வேண்டும்.

நான் அறிவித்தல் முறையை ஒரு பெரிய ரசிகர் அதே போல் ஒரு பலவீனமான, விஷுவல் ஸ்டுடியோ முறையை புரோகிராமர் இரண்டு இருக்கிறேன், அதனால் நான் ஷேர்பாயிண்ட் டிசைனர் பயன்படுத்தி தேவையை சந்திக்க வேண்டும்.

நான் அதிக விவரமாக இது பற்றி எழுத திட்டம் (வரும் ஆண்டில் ஒரு பயனர் குழு அல்லது இரண்டு வட்டம் தற்போது), ஆனால் இங்கே ஒட்டுமொத்த தீர்வு:

  • சமூக ஜனநாயக கட்சி இணைந்துள்ள விருப்ப நடவடிக்கை உருவாக்க.
  • விருப்ப நடவடிக்கை சமூக ஜனநாயக கட்சி ஒரு வலை சேவையை மற்றும் பிற ஒரு சரம் அனுப்ப அனுமதிக்கிறது.
  • வலை சேவை locates விருப்ப பட்டியலில் வரிசை விருப்ப தளம் வரையறை பயன்படுத்தி புதிய வாடிக்கையாளர் தரவுகளை படி ஒரு புதிய தளம் உருவாக்குகிறது.
  • வலை சேவை, பின்னர் அத்தகைய புதிய தளத்திற்கு ஒரு இணைப்பை சில தகவல்களை விருப்ப பட்டியல் மேம்படுத்துகிறது.

நாம் பிற அணுகுமுறைகள் கருதப்படுகிறது, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, இந்த தீர்வு சி # குறியீடு நிறைய இருக்கிறது, ஆனால் அது ஒரு அறிவித்தல் முறையை உள்ளே மூடப்பட்டிருக்கும், தளத்தில்-உருவாக்கம் சேவை மீண்டும் hooking போது நாம் அறிவித்தல் முறையை நன்மைகள் சில கிடைக்கும்.

காட்சி ஸ்டுடியோ பணிப்பாய்வுகளுக்கு எங்களால் முடிந்தவரை எஸ்.பி.டி பணிப்பாய்வுகளை தானாகவே நகர்த்துவதற்கான ஒரு சுலபமான கருவிதான் இப்போது நமக்குத் தேவை, நாங்கள் உண்மையிலேயே வாயுவைக் கொண்டு சமைப்போம் some சில நாட்டு மக்கள் இந்த பிரச்சினையில் வேலை செய்கிறார்கள் என்பதை நான் புரிந்துகொள்கிறேன், மேலும் அவை உள்ளன என்று நம்புகிறேன் விரைவில் சில நல்ல வெற்றி.

</இறுதியில்>

என்னுடைய குழுசேர்.

Technorati குறிச்சொற்கள்: ,

வலை சேவைகள் மூலம் ஷேர்பாயிண்ட் டிசைனர் வேலைப்பகிர்வுகள் ஒருங்கிணைக்க

நான் சில நேரம் ஷேர்பாயிண்ட் டிசைனர் தனிபயன் நடவடிக்கைகள் சுற்றி விளையாடும் (இங்கே பார்க்கவும் சில விரிவான ஊழியர்களின், அந்த நலன்களை நீங்கள்).

என் தற்போதைய திட்டம், 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, // இயக்க நேர சூழலை கடந்து
        GUID SiteID, // இயக்க நேர சூழலை கடந்து
        மாலை ListID, // RTE நிறைவேற்றப்பட்டது (இந்த ஒரு சரம் ஏன் என்று தெரியவில்லை, ஒரு GUID)
        எண்ணாக ListItemID, // RTE நிறைவேற்றப்பட்டது.
        மாலை XmlMessage) // என சமூக ஜனநாயக கட்சி அறிவித்தது பயனர் நிறைவேற்றப்பட்டது.

இந்த முக்கியமான முறையை தகவல் நேரத்தில் பெற முடியும் என்ற உண்மையை செல்வாக்கு, தளத்தில் போன்ற, பட்டியல் ஐடி, முதலியன. 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 🙂

</இறுதியில்>

என்னுடைய குழுசேர்.

Technorati குறிச்சொற்கள்: ,

சமூக ஜனநாயக கட்சி பணியோட்ட “ஒரு பயனர் தகவல்கள் திரட்டுவதற்கான”: உருவாக்கிய பணி படிவம் மாற்றவும்

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" நடவடிக்கை நாங்கள் தகவல் பல்வேறு பிட்கள் பயனர் கேட்கும் என்று, இத்தகைய அவர்கள் அதை அங்கீகரிக்க என்பதை போல, சில கருத்துக்கள் மற்றும் ஒருவேளை மற்ற இரவு உணவிற்கு அவர்கள் என்ன ask.

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, சமூக ஜனநாயக கட்சி தீயாக, 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. உண்மையில், உருவாக்கப்பட்ட வடிவத்தில் ஒரு தேடல் முக்கிய முடிவுகளை வலை பகுதி ஒப்பிடுகையில் பின்பற்ற ஓரளவு எளிதாக என்பதால் நான் அதை பொதுவாக எளிதாக இருக்கும் (அல்லது கெட்ட கனவுகளை 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:

  • கை ஏஎஸ்பிஎக்ஸ் கோப்பு மாற்ற.
  • அதை சோதிக்க (உங்கள் மாற்றங்களை ஒழுங்காக சேமிக்கப்படும் மற்றும் எதையும் உடைக்க முடியாது என்று சரிபார்க்கவும்).
  • பணிப்பாய்வு திறந்து ஒரு தொடர்பில்லாத நடவடிக்கை சேர்க்க (such as "log to history").
  • பணிப்பாய்வு சேமிக்க.

முடிவு: இந்த விஷயத்தில், சமூக ஜனநாயக கட்சி மீண்டும் உருவாக்க வடிவம் இல்லை.

சோதனை 2:

  • அதே செய்ய #1 except directly modify the "collect data from a user" செயல்.

முடிவு: இந்த புதிதாக வடிவம் மறு உருவாக்குகிறது, உங்கள் மாற்றங்களை மேல் எழுதி.

இறுதி குறிப்புகள்:

  • குறைந்தது இரண்டு சமூக ஜனநாயக கட்சி நடவடிக்கைகள் இது போன்ற வடிவங்கள் உருவாக்க: "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 நான் சமூக ஜனநாயக கட்சி இயல்புநிலை வடிவங்களில் உருவாக்கும் எப்படி பாதிக்கும் மாற்ற முடியும் என்று ஹைவ் (நாம் விழிப்புடன் வார்ப்புருக்கள் மாற்ற முடியும் மிகவும் போன்ற).

</இறுதியில்>

என்னுடைய குழுசேர்!

கரைசல் (அப்படி): ஷேர்பாயிண்ட் டிசைனர் பயன்படுத்தி ஒரு பணியை முன்னுரிமை அமைக்க

நான் இது போன்ற ஒரு வணிக காட்சி இல்லை:

  • ஒரு ஆவணத்தை நூலகத்திற்கு ஒரு பயனர் பதிவேற்றங்கள் ஒரு ஆவணம்.
  • அவர் ஒரு உள்ளடக்க வகை தேர்வு, மற்றும் தேவையான மெட்டா தரவு நுழைகிறது. மெட்டா தரவு துறைகள் ஒரு கொடி இருக்கும், "Urgent".
  • இது ஷேர்பாயிண்ட் டிசைனர் பணிப்பாய்வு என்று தூண்டுகிறது, மற்ற விஷயங்களை, uses the "Collect Data from a User" செயல்.

"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.

கரைசல்: 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 (அதாவது. 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.

ஆனாலும், 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, எனக்கு தெரியப்படுத்துங்கள்.

</இறுதியில்>

விரைவான மற்றும் எளிதான: ஷேர்பாயிண்ட் டிசைனர் மின்னஞ்சல் தானாக திறந்த InfoPath படிவம்

புதுப்பிப்பு: Madjur அஹூஜா ஒரு இருந்து இந்த இணைப்பை சுட்டி செய்திக்குழு விவாதம்: 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 வடிவத்தில் நேரடியாக செல்ல முடியும்.

இந்த அரக்கனை URL கட்டுமான எனக்கு வேலை:

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.எக்ஸ்எம்எல்&Source=http://server.corp.domain.com/sites/departments/Technical%20Services/InformationTechnology/HelpDesk/REC%20REM%20RED%20Forms/Forms/AllItems.aspx&DefaultItemOpen = 1

வடிவம் பெயர் தடித்த சிவப்பு உரை மாற்றவும், பின்வரும் திரை காணப்படுவது போல்:

படம்

கடின குறியீட்டு பாதை நிறைய அந்த 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, மின்னஞ்சல் மூலம் பார்க்க மற்றும் நீங்கள் சேர்க்க வேண்டும் எல்லாவற்றையும் பார்க்கிறேன்.

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.

</இறுதியில்>

Technorati குறிச்சொற்கள்:

பாசி சொல்லும் “அணுகல் மறுப்பு” ஒரு பணியோட்ட பணி திருத்து, ஆனால் நான் உண்மையில் அணுகல் உள்ளதா

I’ve implemented a workflow using SharePoint Designer in a site which is mainly read-only to "NT_AUTHORITY\Authenticated Users" (அதாவது. அனைவரும்). 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.

நான் நிரப்ப மற்றும் நூலகம் ஒரு வடிவம் காப்பாற்ற முடியும்? –> ஆம்

நான் ஒரு மின்னஞ்சல் இணைப்பு இருந்து பணி அணுக முடியும்? –> ஆம்

நான் ஒரு மாற்று முறையை பணி இணைப்பை பார்க்க முடியும் –> ஆம்

நான் அந்த இணைப்பை கிளிக் செய்யலாம்? –> எந்த … அனுமதி மறுக்கப்பட்டது.

நான் அதை கிளிக் செய்யும் போது, நான் ஏன் என்னை அனுமதி மறுப்பு என்று ஒரு தொகு இணைப்பை பார்க்க முடியும்? 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

சுவரொட்டிகள், ஒரு இயக்கி தட்டை பணிப்போக்கு ஏற்றுமதி எளிய செயல் ஒரு பாசி பாதுகாப்பு சிக்கலை தீர்க்க முடியும் என்று தோன்றும்? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 ஸ்டான் எங்கள் Preznit கேட்டு அமைந்துள்ள சதி, "Really?" over and over again.

அப்படி, இழக்க ஒன்றும் இல்லை, நான் நெருப்பு வரை சமூக ஜனநாயக கட்சி, பணிப்பாய்வு மீது வலது கிளிக் செய்து என் கேட்ச் அதை சேமிக்க:\ 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.

நான் இதன்மூலம் பெரும்பாலான புதுமையான பணியோட்ட பணி இந்த பரிந்துரைக்க 2007.

</இறுதியில்>

Technorati குறிச்சொற்கள்:

ஷேர்பாயிண்ட் டிசைனர், தற்போதைய பொருள் தான் “குறியிடப்பட்ட முழுமையான 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. எனினும், it always seems to use "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 🙂

</இறுதியில்>

ஷேர்பாயிண்ட் டிசைனர் மின்னஞ்சல் அனுப்பும் ???? ஒரு மின்னஞ்சல் உள்ள

கருத்துக்களம் பயனர் எப்போதாவது ask: ஏன் ஷேர்பாயிண்ட் டிசைனர் வைத்து ???? அதற்கு பதிலாக, ஒரு துறையில் மதிப்பு என் மின்னஞ்சல் மூலம்?

இது நீங்கள் குறிப்பிட மாறி வெற்று ஏனெனில் இது நிகழும் ஒரு காரணம்.

This can happen because you are trying to reference a field from the "current item" but the user never entered a value into that form field.

<இறுதியில் />

Technorati குறிச்சொற்கள்:

ஒப்பிடு / ஷேர்பாயிண்ட் டிசைனர் பணியோட்ட உள்ள வெற்று தினங்கள் சோதிக்க

காட்சி: ஒரு ஷேர்பாயிண்ட் டிசைனர் பணிப்பாய்வு உள்ள, 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: "If [நாட்புலம்] equals blank".

கரைசல்: Convert the date to a string. Use string comparison to determine if the date is blank.

திரையில் ஷாட்ஸ்:

The following screen shots show how to do this. இந்த சூழ்நிலையில், ஒரு பொருளை ஒரு துறையில், "Environmental Permits:First Permit Reminder Date", சமர்ப்பிக்கப்பட்ட மற்றும் பதில் பணிப்பாய்வு தீ.

படம்

படம்

குறிப்புகள்:

நான் இந்த முயன்ற போது, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (மாறி:StringReminderDateDate) ஆனால் அதை அனுமதிக்க செய்தார்.

நான் இது அனுமதிக்கிறது என்று கவலை இல்லை, மதிப்பு பூஜ்ஜிய இருக்க ஒன்று செயல்படுத்தப்படும் நேரத்தில் WF குண்டு அல்லது ஒருவேளை உலக வெப்பநிலை உயர்த்த வேண்டும் 1/2 பட்டம், ஆனால் அந்த கவலைகளை ஆதாரமற்றவை.

</இறுதியில்>

Technorati குறிச்சொற்கள்:

ஷேர்பாயிண்ட் டிசைனர் பணியோட்ட வழக்கமான அதிரடி — பற்றி கவனிப்பு <துறையில் கூட்டு வடிவமைப்புகள் வகை =”StringBuilder” … />

இந்த இரண்டு வரையறைகள் இடையே ஒரு முக்கியமான வேறுபாடு இருக்கிறது என்று ஒரு விரைவு கவனிப்பு:

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

எதிர் நிலையில்:

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

சமூக ஜனநாயக கட்சி இப்படி முதல் நிகழ்ச்சிகள்:

படம்

பின்னர் இந்த காட்டுகிறது:

படம்

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 நீங்கள் ஒரு சரம் கட்ட அனுமதிக்கும் (வெளிப்படையாக) சரம் 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, (என் விஷயத்தில் சி # குறியீடு), ஷேர்பாயிண்ட் டோக்கன் தன்னை தானே, not the value of the token. If you use the default designer type (இரண்டாவது வகை), ஷேர்பாயிண்ட் டோக்கன் விரிவடைகிறது உங்கள் நடவடிக்கை டோக்கன் உண்மையான மதிப்பு மரணம்.

StringBuilder = BAD, இயல்புநிலை வடிவமைப்பாளர் வகை = GOOD.

நிச்சயமாக, 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 (இது தற்செயலாக ஒரு மின்னஞ்சல் நடவடிக்கை ஒரு சுறுசுறுப்பான பொருள் உருவாக்க செய்கிறது சரியாக என்ன, ஆனால் மற்றொரு வலைப்பதிவு உள்ளீடு ஒரு பொருள் இருக்கிறது, உள்ளது).

<இறுதியில் />