Архиви на категоријата: SharePoint Workflow

Создаде сајтови (SPWeb) преку SharePoint Designer работното

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" обичај листа, а потоа кога ќе го завршат и потврдени на внес на податоци процес, ние треба да се создаде сајт за тој клиент.

Јас сум како голем фан на декларативна работното, како и слаб Visual Studio работното програмер, па сакав да се исполнат барањата користејќи SharePoint дизајнер.

Јас план да пишувам за ова подетално (и се надевам присутни на корисничката група или две во наредната година), но тука е сеопфатно решение:

  • Создаде сопствена акција, кој ги интегрира со СПД.
  • Обичај акција овозможува СПД да се повика на веб сервис и го помине низа на XML.
  • Web сервис лоцира ред во обичај листа и создава нов сајт, како на податоците за таа нова клиент користејќи сопствен сајт дефиниција.
  • 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.

</крајот>

Да се ​​претплатите на мојот блог.

Technorati Тагови: ,

Интегрираат SharePoint Designer workflows со веб-услуги

Сум бил поигрува со сопствени акции за SharePoint Designer за некое време (види тука за некои детални работи, ако тоа ве интересира).

Во мојот тековниот проект, 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.

Тука е потпис:

 јавноста низа Диспечер(
        Раководство WebID, // Усвоен од страна на траење на животната средина
        Раководство SiteID, // Усвоен од страна на траење на животната средина
        низа ListID, // Усвоен од страна на RTE (Не знам зошто ова е стринг, не Раководство)
        int 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, дај ми го пушти (e-mail или оставете коментар) 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" акција, така што можеме да го извести корисникот за различни битови на информации, како на пример дали тие го одобруваат, некои коментари, а можеби и побара она што тие имале за вечера пред некоја вечер.

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:

  • Менувате ASPX датотека со рака.
  • Тоа тест (потврди дека Вашите промени се зачувани правилно и не се скрши нешто).
  • Отвори работа и додадете неповрзани акција (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 <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, па јас не знам дали добива на другата страна на бездна.
  • Јас не ги истражувала, но јас не би бил изненаден ако има некој вид на дефиниција датотека во 12 кошница што можев да ја менувате за да влијаат на начинот на СПД генерира стандардно форми (многу како можеме да менувате алармирање шаблони).

</крајот>

Да се ​​претплатите на мојот блог!

Technorati Тагови: ,

Решение (вид на): Намести Приоритет на задача користење SharePoint Designer

Јас имам еден бизнис сценарио како оваа:

  • Корисникот Поставени документ до документ библиотека.
  • Таа избира типот на содржина и влегува мета податоци како што е потребно. Еден од мета податоци полиња е знаме, "Итно".
  • Ова предизвикува дизајнер SharePoint работното дека, меѓу другото, користи "се собираат податоци од корисник" акција.

"Собираат податоци од корисник" создава објект во задача листа бара одобрение за тој документ.

Ми требаше да се создаде цел на задачата листа која покажа дека итните барања за одобрување.

Решение: Стави зборот "ИТНО:" into the title of these tasks.

I would have preferred to specify the priority field directly. Сепак, Јас не беше во можност да го стори тоа поради неколку причини:

  1. На собирање на податоци акција не обезбеди механизам да се ажурира секое поле, освен титулата (и оние дополнителни полиња за која сакате да се соберат податоци).
  2. На "доделите да се направи содржина" акција има истиот проблем.
  3. Можно е да вметнете некој објект во листа (i.e. вметнете некој објект во задача листа директно) but this not a blocking action. That means that the workflow will not wait for the user to complete that task.

Јас се смета неколку приоди пред (за среќа) реализација ние може само да се стави "итна" во насловот.

  1. Започнете со работното на задачата листа себе, така што кога нова задача е создадена, некако премине референци назад во документот, која започна на првата работното, 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. Користете "создаде елемент од листата" акција во врска со "чекај за теренски промени" 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" прифаќа само хард кодирани наслов имиња, I need to use two different collect feedback actions whose only difference is that hard coded title.

Но, барем има решение кое не бара настан приемници или обичај СПД акции.

Ако некој го реши овој во повеќе паметен начин, молам да ме известите.

</крајот>

Technorati Тагови: ,

Брз и лесен: Отвори го автоматски InfoPath формулар Од SharePoint Designer-пошта

Ажурирање: 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.

</крајот>

Technorati Тагови:

Мос ми кажува “Пристапот е одбиен” За да промените Работното Задача, Но, јас навистина немаат пристап

I’ve implemented a workflow using SharePoint Designer in a site which is mainly read-only to "NT_AUTHORITY\Authenticated 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.

Можам да ги пополните и спаси форма на библиотеката? –> ДА

Јас може да пристапите до задача од е-мејл линк? –> ДА

Можам да видам на работното Уреди задача линк –> ДА

Можам да кликнете на овој линк? –> НЕ … Дозвола одбиен.

Зошто јас да ја видите уреди линкот кој го негира ме дозвола кога ќе кликнете на неа? 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 Тагови:

SharePoint Designer, Тековната елемент “Кодирани апсолутна 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, you have no out of the box option.

To solve it, create a custom action that provides a string replace function to use in your workflow. Alternatively, use a 3rd party tool such as the excellent package here: http://www.codeplex.com/spdwfextensions 🙂

</крајот>

Technorati Тагови: ,

SharePoint Designer-пошта Испраќа ???? во е-пошта

Форум корисници повремено побара: Зошто SharePoint Designer се стави ???? во мојот мејл, наместо на полето вредност?

Една причина ова се случува е поради тоа што на променливата на која што се однесува е null.

This can happen because you are trying to reference a field from the "current item" но никогаш на корисникот внесе вредност во таа форма поле.

<крај />

Technorati Тагови:

Споредете / Тест за Слепа Датуми во SharePoint Designer работното

Сценарио: Во дизајнер 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: "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 Тагови:

SharePoint Designer работното прилагодено акција — Набљудување За <Поле Тај дизајнер Тип =”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, (C # кодот во мојот случај), SharePoint поминува знак себе, not the value of the token. If you use the default designer type (вториот тип), SharePoint проширува знак и поминува реалната вредност на токен за вашата акција.

StringBuilder = лошо, стандардно дизајнер тип = ДОБРО.

Се разбира, 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 (која патем е токму она што го прави за да се создаде една динамична предмет за е-мејл акција, но тоа е тема за друг блог запис, има).

<крај />