Category Archives: SharePoint робочий процес

Створення сайтів (SPWeb) за допомогою SharePoint Designer-документообігу

Цей запис у блозі, скоріше "в царині можливого" запис с.. бетонні інформація.

У нас є технічні дизайн, який закликає нас до створення сайту в колекції сайтів за допомогою вручну запущений робочий процес. В основному, користувачі вводять дані у «нових клієнтів" Настроюваний список і тоді коли вони закінчили і перевірені процесу запису даних, нам потрібно створити сайт для цього клієнта.

Я великий шанувальник декларативні робочого процесу як слабкі visual studio робочого процесу програміста, я хотів би задовольнити вимогу за допомогою SharePoint Designer..

Я планую написати про це більш детально (і ми сподіваємося представляти групу користувачів або два в наступному році), але тут є спільне рішення:

  • Створити настроювану дію, яка інтегрується з СПД.
  • Настроювану дію дозволяє СДПН посилатися веб-служби, і передати його рядок XML.
  • Веб-служба знаходить рядок настроюваного списку і створює новий сайт відповідно до даних для цього нового клієнта за допомогою визначення користувацьких сайту.
  • Веб-служби, після чого оновить настроюваним списком з деякою інформацією, наприклад посилання на новий сайт.

Ми вважали інші підходи, Наприклад, обробники подій і Приєднуйтесь до нас на основі робочого процесу. СДПН підхід дає нашим кінцевих користувачів трохи більше контролю над процесом. Надано, Існує багато код c# до цього рішення, але це загортають усередину декларативні робочого циклу, так, ми отримуємо деякі переваги декларативні робочого процесу під час підключення до створення сайту послуги.

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 робочі процеси

Я грав в околицях з настроювані дії для SharePoint Designer протягом деякого часу (Дивіться тут для деяких докладні речі, Якщо це вас цікавить).

На мій поточний проект, нам необхідно зробити деякі досить важкої роботи, і ми хочемо використовувати декларативні СДПН робочий процес для керування зв'язаного бізнес-процесу.

Коротше кажучи, Це цілком можливо. Я розширеної моєї Codeplex проект для виклику "допоміжні служби" і тепер ми можемо посилатися веб-служби безпосередньо від СДПН документообігу.

Ось підпис:

 громадських рядок Диспетчерський(
        GUID WebID, // Проходили повз робоче середовище
        GUID SiteID, // Проходили повз робоче середовище
        рядок Ідентифікатор списку, // Проходили повз RTE (не знаю, чому це рядок, не GUID)
        Int ListItemID, // Проходили повз RTE.
        рядок XmlMessage) // Пройшло користувачем як оголошений в СДПН.

Це використовує той факт, що ми можемо отримати інформацію про важливі робочого циклу, сподобався сайт, Список Ідентифікаторів, д. Це добре документована в декількох місцях для тих з вас зацікавлений у створенні власноруч дія. Ідея полягає в тому, щоб витягти XML рядків, надані користувачем на розсилання відповідний процедуру. Fun stuff!

На жаль, Це, очевидно, квиток в один бік до "Loosey Goosey" анти-модель землі, but it’s better than hitting a brick wall 🙂

Це анти-шаблон, якщо ви робите це, незважаючи на те, що ви знаєте, це анти-шаблон?

Я сподіваюся, щоб обернути цю всередині Codeplex в найближчому майбутньому. Якщо ви зацікавлені в мене так, Дайте мені пхати (Електронна пошта або залишити коментар) and I’ll be that more enthusiastic about doing it 🙂

</кінець>

Підписатися на мій блог.

Бірки Technorati: ,

СПД робочого циклу “Зібрати дані користувача”: Змінення форми створене завдання

Я працюю на проект, який використовує п'ять різних SharePoint Designer роботи потоків для обробки деякі погоджень документа. ІПД забезпечує "збирання даних від користувача" дії, щоб відобразити ми можемо запит для біта різної інформації, Наприклад, чи є вони затвердити його, Деякі зауваження і може бути запитати, що вони на вечерю вночі.

Дані формуляри є цілком функціональною. Вони прив'язані до списку завдань як тип вмісту. Вони є 100% створений системою. Це їхня сила і слабкість. Якщо ми можемо жити з форми за промовчанням, Потім ми добре йти. Однак, Ми не повинні занадто багато контроль над як СДПН створює форму. Якщо ми не подобається таку поведінку за промовчанням, нам необхідно вдатися до різних прийоми, щоб обійти це (Наприклад, встановлення пріоритет завдання).

Мені потрібно, щоб давати посилання на ці форми завдання, які відкрили Перегляд властивостей (dispform.asxp) «схожі елемента" у новому вікні. Це забезпечує один клік доступ до мета-дані пов'язаний елемент. Це те, що я маю на увазі:

зображення

На щастя, Ми можемо зробити це, і це не дуже складно. Взагалі кажучи, Запускайте СПД, Перейдіть в каталог, що вдома файли робочого процесу і відкрити файл ASPX, яке необхідно змінити. Вони просто класичний перетворення XSL інструкції, і якщо ви вже скинутих з itemstyle.xsl, Пошук або інші сценарії в XSL, Це буде легким для вас. Насправді, Я знайшов це буде простіше, як правило, з створена форма є дещо легше стежити порівняно з результатів пошуку ядро веб-частини (або на жахливі CWQP).

Звичайно, Існує один великі пастка. Редактор СПД робочий процес очікує повний контроль над цього файлу. Якщо ви зміните його, СДПН щасливо перезапише ваш зміни дати правильний набір обставин. Я зробив два швидкий заліки, щоб побачити, як погано це може вийти. Обидва вони передбачають, що ви розроблені дійсні СДПН робочого процесу, який використовує "збирання даних від користувача" крок.

Тест 1:

  • Змінення файлу ASPX вручну.
  • Протестувати його (Переконайтеся, що ваші зміни збережено належним чином і не зламали).
  • Відкрити робочий процес і додати непов'язаних дію (Наприклад, "вхід до історії").
  • Зберегти робочий процес.

Результат: У цьому випадку, СДПН не повторно створити форму.

Тест 2:

  • Зробити те ж саме #1 за винятком безпосередньо змінювати "збирання даних від користувача" Дія.

Результат: Це повторно створює форму з нуля, помарок зміни.

Заключні зауваження:

  • Принаймні два СДПН дії створюють формах, як це: "Збору даних від користувача" і "Призначити зробити елемент". Обидві ці дії’ форм можна вручну змінити.
  • Я була здатна генерувати мої посилання на dispform.aspx, тому що, у цьому випадку, relate елемент завжди має його Ідентифікатор, вбудовані в URL-адреса пов'язаний елемент. Я зміг витягнути його і потім побудувати в <href> на основі його надати одним клацанням meta даних access функцію. Малоймовірно, що ваш URL слідує цьому правилу. Там можуть бути інші способи отримати ID пов'язаний елемент, але я не мав перетнути мосту, тому я не знаю, якщо отримує на іншу сторону прірви.
  • Я не розслідувати, але я був би здивований, якщо є якийсь файл шаблону в на 12 вулик, який я міг змінювати впливають як СДПН генерує форми за промовчанням (само, як ми можемо змінити оповіщення шаблонів).

</кінець>

Підписатися на мій блог!

Рішення (Сортувати): Встановити пріоритет завдання за допомогою SharePoint Designer.

У мене є бізнес-сценарії, як це:

  • Користувач завантажує документа в бібліотеці документів.
  • Вона вибирає типу вмісту та вводить meta дані, якщо необхідно. Одне з полів даних meta є прапор, "Строковий".
  • Це викликає робочого циклу SharePoint Designer,, серед іншого, використовує "збору даних від за користувача" Дія.

"Збору даних від користувача" створює елемент у списку завдань із запитом на затвердження для цього документа.

Мені потрібно було створити подання списку завдань, які показали актуальні запити на затвердження.

Рішення: Покласти слово «ТЕРМІНОВІ:" розсилкам цих завдань.

Я б вважав за краще, щоб вказати пріоритетні галузі безпосередньо. Однак, Я був не в змозі зробити це з кількох причин:

  1. Збирати дані дії не надає механізм для оновлення будь-якій області, крім заголовок (і ці додаткові поля, для якого слід обчислити для збирання даних).
  2. На «призначити за до пункту" дія має ті ж проблеми.
  3. Можна вставити елемент у списку (тобто. Вставити елемент у списку завдань безпосередньо) але це не блокує дії. Це означає, що робочий процес не буде чекати користувача для завершення цього завдання.

Я розглянув кілька підходів до (на щастя) Розуміючи, ми могли б просто поставити "Строковий" у назві.

  1. Запуск робочого процесу у списку завдань, сама, так, що коли створюється нове завдання, вона якось перетнути посилань назад до документа, який розпочав перший робочий, Витягніть терміново прапор значення і оновити пріоритет за потреби.
  2. Зробити щось подібне з подією приймача. Створення завдання, Знайдіть пов'язаний документ і оновлення пріоритет за потреби.
  3. Використовувати на "створити елемент списку" дії в поєднанні з "чекати зміну поля" дії та події-приймач. Якщо ми створюємо елемента списку, можна вказати всі поля, які ми хочемо. Оновлення вихідного об'єкта, коли користувач завершує завдання та «чекати для поля зміни за допомогою подія-приймач" умови акції буде зустрінута і приступить робочого циклу. (З різних причин, Я більш-менш врегульовані на такий підхід до мудро вирішили піти на деякий час).

Є недолік до мого рішення (Крім очевидний факт, що лише текст заголовка вказує терміновості). Починаючи з "збирання відгуків" приймає тільки жорстких закодованих назва імена, Я буду використовувати два різних збирання відзивів дії, чия єдина відмінність, що жорсткий кодованих назва.

Але, принаймні немає рішення, яке не вимагає подія приймачі або настроювані дії СПД.

Якщо хтось вирішив це більш розумним чином, будь ласка, дайте мені знати.

</кінець>

Швидкий і простий: Автоматично відкривати форми InfoPath з SharePoint Designer електронної пошти

ОНОВЛЕННЯ: Madjur Ahuja вказує на це посилання, від в обговорення групи новин: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. Це досить остаточного.

===

Ми часто потрібно впровадити гіперпосилання до форми InfoPath в повідомленнях електронної пошти, надіслані з SharePoint Designer робочі процеси. Коли користувачі отримують ці листи, вони можуть натиснути на посилання з електронного листа і перейти безпосередньо до форм 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.XML&Джерело = http % 3A % 2F % 2Fserver % 2Ecorp % 2Edomain % 2Ecom % 2Fsites % 2Fdepartments % 2FTechnical % 2520Services % 2FInformationTechnology % 2FHelpDesk % 2FREC % 2520REM % 2520RED % 2520Forms % 2FForms % 2FAllItems % 2Easpx&DefaultItemOpen = 1

Замініть текст напівжирним червоним ім'я форми, як показано на наведеному нижче знімку вікна:

зображення

Зверніть увагу, що багато жорстко шлях у тому URL, а також кодування компонент. Якщо це занадто важко перевести до вашої конкретної ситуації, Спробуйте активувати попередження для бібліотеки форм. Розмістити форму, і коли ви отримуєте повідомлення електронної пошти, перегляд джерела електронної пошти і ви побачите все, що вам необхідно включити.

Уважні читачі можуть помітити, що вище електронної пошти тіло також показує посилання, яке безпосередньо отримує доступ до завдання через відфільтроване подання. Я планую пояснити які більш детально в майбутньому пост.

</кінець>

ЛИШАЙНИК говорить мені, що “Доступ заборонений” редагувати завдання робочого процесу, Але я дійсно мають доступ

Я реалізували робочого процесу за допомогою SharePoint Designer в сайт, який в основному тільки для читання "NT_AUTHORITYAuthenticated користувачам" (тобто. кожен). Є Бібліотека форм для форми InfoPath. Існує до зв'язаного робочого циклу зі списком завдань як добре, так, що коли працює робочий процес, Це можна призначити завдання людей.

Я порушу дозволів для списку форм бібліотеки і завдання, так що будь-який автентифікований користувач може створювати форми і оновити покладених на них завдань.

Перевірити з моєї низькою привілеї тестового облікового запису.

Чи можна заповніть і збережіть форму до бібліотеки? –> Так

Я можу отримати доступ завдання від посилання електронної пошти? –> Так

Я бачу завдання-посилання Змінити робочий процес –> Так

Може я клацніть це посилання? –> Ні … Немає дозволу.

Чому я бачу посилання Редагувати, що заперечує мені дозвіл, коли я натискаю на ньому? Це не те, як це повинно працювати…

Я йду з налаштуванням безпеки знову, дуже уважно. Я зроблю це знову. Я вважаю, що видалення цієї посади тому що я, очевидно, не знаю нічого про безпеку.

Нарешті, Пошук інтернет. Я вважаю, це дуже малоймовірним гілці форуму MSDN: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Плакати, як видається, припускаючи, що простий акт експортування у робочому процесі диску блюді буде виправити проблему безпеки МОСС? Я можу віриться, що я тільки що набрав. Я згадую South Park епізод про у 9/11 змова, де Стен просити наших Preznit, "Дійсно?" знову і знову.

Так, нічого втрачати, Я запускаю СПД, Клацніть правою кнопкою миші на робочий процес і зберегти його на мій c:\ їзди. Це було б c:\ диск, на моєму ноутбуці. Я з нетерпінням через плече весь час так, щоб ніхто не буде запитувати, "Чому ви рятуєте цей робочий процес до ноутбука?"

Неймовірно, Щоб вирішити мою проблему. Я можу редагувати завдання.

Я справжнім висунути це буде найбільш дивних робочого процесу обійти 2007.

</кінець>

Дизайнер SharePoint, Поточний елемент “Закодована абсолютна URL-адреса” і HTTPS

Ми часто хочуть, щоб відправити лист, який включає в себе гіперпосилання на елемент або документ, що викликало робочого циклу. Ми можемо використовувати поточний елемент "закодовані абсолютна URL-адреса" для цієї мети. Однак, вона завжди, здається, використовувати "http" URL-адреса протоколу. Якщо ваш сайт працює на HTTPS, то він не буде працювати для вас.

зображення

Наскільки я знаю, немає не поза коробки вирішення цієї проблеми. Якщо вам потрібно використовувати HTTPS, немає поза коробки варіант.

Щоб вирішити цю проблему, створити настроювану дію, яка забезпечує рядок замінити функцію для використання робочого процесу. Також можна, використовувати 3rd party інструмент, як чудовий пакет тут: http://www.codeplex.com/spdwfextensions 🙂

</кінець>

SharePoint Designer електронної пошти надсилає ???? електронною поштою

Форум користувачі іноді запитують: Навіщо ставити SharePoint Designer ???? мою адресу електронної пошти замість того, щоб значення поля?

Одна причина це відбувається, тому що змінної, на які ви посилаєтесь дорівнює null.

Це може статися, тому що ви намагаєтеся посилатися на поля з "поточний елемент" але користувач ніколи не набув значення цього поля форми.

<кінець />

Порівняти / Тест для пустих дат робочого циклу SharePoint Designer, у

Сценарій: У SharePoint Designer робочий процес, Вам необхідно визначити, якщо пусте поле дати.

Проблема: СДПН не надає прямий метод для порівняння дат до побачення, ніж. Не вдалося створити умови, як це: "Якщо [DateField] дорівнює "порожній".

Рішення: Перетворення дати в рядок. Використовувати порівняння рядків, щоб визначити, якщо дата пусте.

Знімки екрану:

Наступні скріншоти показати, як це зробити. У цьому випадку, поля на елементі, «Екологічні дозволів:По-перше, дозвіл на Дата Нагадування", надсилання та робочого процесу пожеж у відповідь.

зображення

зображення

Нотатки:

Коли я спробував це, Я був приємно здивований, дізнавшись, що він працює. Я не був упевнений, що SharePoint Designer може заборонити рядок призначення (Змінна:StringReminderDateDate) але вона дозволити йому.

Я був також стурбовані, що дозволяє, значення може бути null і або підірвати WF під час виконання, або може бути підвищення глобальної температури 1/2 ступінь, але ці побоювання безпідставні.

</кінець>

SharePoint Designer робочого процесу настроюваної дії — Спостереження про <FieldBind дизайн типу =”StringBuilder” … />

Просто швидкий спостереження, те, що дуже важлива відмінність цих двох визначень:

<FieldBind поле = "InParam1" DesignerType = "StringBuilder" ID = "2" Текст = "Параметр вводу #1" />

проти:

<FieldBind поле = "InParam1" ID = "2" Текст = "Параметр вводу #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 дозволяє будувати рядок (Очевидно) шляхом змішування разом рядком літералів і даних робочого циклу (за допомогою "Додати підстановки" кнопки в нижній лівий кут). Під час використання підстановки додати кнопку, вона вставляє маркер у формі"[%маркер %]". Коли SharePoint викликає настроювану дію, (Код c#, в моєму випадку), SharePoint проходить маркер, себе, не значення маркера. Якщо використовується тип конструктор за промовчанням (другий тип), SharePoint розширює маркер і передає фактичне значення маркера ваші дії.

StringBuilder = погано, за замовчуванням конструктор типу = добра.

Звичайно, Це не те, що я насправді означає. Просто не спробувати і передати параметр настроювану дію коли дизайнер введіть = StringBuilder. Використовувати, дизайнера тип за промовчанням і ланцюг StringBuilder до нього авансом будувати складні струни робочого процесу (до речі це саме те, чого створити динамічні теми для електронної пошти дії, але це тема для іншої запис у блозі, Хар Хар).

<кінець />