Дизайнер SharePoint — Користувальницькі діяльності виконати користувацькі функції C#

ОНОВЛЕННЯ: Це був випущений для CodePlex тут: http://www.codeplex.com/spdwfextensions

ОНОВЛЕННЯ: Дивіться тут для останні випуски: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ОНОВЛЕННЯ: Дивіться тут мої думки з комерціалізації цього проекту: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Проектом передбачено настроюваною справою в SharePoint Designer. Використовувати цей настроюваною справою для виклику (розсилання) будь-які C# функція, яка включена в зв'язаній Асамблеї.

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

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

Відмова від відповідальності:

Я абсолютно не претендуємо щодо придатності цього для будь-яких цілей. Використовуйте на свій страх і ризик.

Кроки установки (дотримуватися для кожного СФФБ ферми):

1. Завантажити на .zip і витягти.

2. Встановити в «. dll» в GAC. Я зазвичай відкривається c:\windowsassembly за допомогою провідника windows і копію вона там.

3. Змінити Web. config для додавання складання до безпечних елементів керування:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Асамблеї = "SpdGenericInterface, Версія = 1.0.0.0, Культура = нейтральні, PublicKeyToken = abe076fd8125f3c4" Простір імен = "Nivlag" Параметр TypeName = "*" Уповноважені «істина" />

4. Копія "SpdGenericInterface.actions" до С:\Програма FilesCommon відомості Sharedweb сервер extensions12TEMPLATE1033Workflow

Зверніть увагу, що вище розташування специфічних для установки англійської мови.

5. Закрийте програму SharePoint Designer (Якщо він уже відкрито).

6. iisreset

7. Відкрити СДПН і створити новий робочий цикл.

Якщо все піде добре, Ви повинні бути винагороджені з нової категорії Екшени:

зображення

Нотатки:

Див. Тут (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) приголомшлива огляд процесу для створення, встановлення і налаштування рішення, як це.

На .zip призначена для видобування безпосередньо до вас c:\ їзди. Якщо ви зробите це, можна відкрити проект і всі шляхи відповідатимуть як.

Для використання цього в visual studio, Ви, ймовірно, потрібно встановити "Розширень для WF Windows".

Початкова Загрузка містить тільки один "функції диспетчера", "ToLower()". Щоб додати більше функціональності, додати його в методі Execute, як показано:

 захищений перевизначення ActivityExecutionStatus
          Виконати(ActivityExecutionContext контекст виконання)
        {

            рядок functionToDispatch;
            functionToDispatch = Це.DispatchFunction.ToLower();

            перемикач (functionToDispatch)
            {
                випадок "tolower()":
                    {
                        Це.OutResult1 = Це.InParam1.ToLower();
                        Перерва;
                    }

                за промовчанням:
                    {
                        Це.OutResult1 = "Невідома функція: [" + Це.DispatchFunction + "].";
                        Перерва;
                    }
            }

            повернення ActivityExecutionStatus.Закриті;
        } // ActivityExecutionStatus

    }

Потім, переорієнтувати проекту і скопіювати складання GAC. Я очікую, запустити команду iisreset буде потрібно.

9 думки про «Дизайнер SharePoint — Користувальницькі діяльності виконати користувацькі функції C#

  1. Джеррі Whitworth
    Я стежив за його напрямки і все, здавалося, працювати, поки я виберіть потрібну дію в конструкторі SP. Дизайнер не вставте код робочого циклу. Я послав цей хлопець по електронній пошті, і я думаю, він відповідатимуть.
    Я вирішив проблему, себе.
    Минулі дії від "SpdGenericInterface.actions" в "WSS.actions" файл і це все працювало. Я сподіваюся, це допоможе іншим.
  2. Марко Манчінеллі
    Це звучить добре, але я не можу встановити розширення =(
    мій дизайнер con побачити його, але коли я натискаю на нього, нічого не відображаються… будь ласка, допоможіть… TNX.
  3. Майк Mongeau

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

    <href ="http://dataformwebpart.com">-Monjo </на>

  4. Bernard Ламбетський

    Я використовую цю настроювану справу, щоб замінити() функція. Ферма знаходиться SharePoint 2007, з балансуванням навантаження веб пакунка. Я отримую переривчастий нездатність почати помилки, але що робочі цикли як правило, перезавантажте 5 – 15 хв. Я вважаю, що таймера робочого процесу і робочого процесу відновлення після відмови перезавантаження на робочі процеси. Я розглянув SharePoint журнали, і нарешті зловили цієї помилки.

    RunWorkflow: Microsoft.SharePoint.SPException:
    на Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Рядок assmNameIn, SPWeb web)
    на Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, SPWorkflow робочого процесу)
    на Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService хост, SPWorkflow робочого процесу, Колекція ' 1 події, Відрізок часу очікування)
    на Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow робочого процесу, Колекція ' 1 події, SPRunWorkflowOptions runOptions)

    Я знайшов посилання на цю помилку на інший блог, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Автор вказав, що він був за допомогою настроюваних actitivity замінити(), а також. Ви бачили цю помилку? У вас є будь-які пропозиції про те, як її вирішити?

    1. Paul Galvin повідомлення автор

      Вибачте, я ніколи не відповіли. У Тхі в момент, це напевно спірним питанням. Я сподіваюся, що ви змогли його вирішити.

Залишити відповідь Марко Манчінеллі Скасувати відповідь

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *