Mga Archive ng kategorya: SharePoint workflow

Napaaga workflow Activation — Ang isang Non-medikal Solusyon

I-UPDATE: Tingnan ang MSDN talakayan, lalo na ang huling entry: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. It describes a condition that may short circuit this whole thing. In short, Maaaring ito ay kasing simple ng paggawa ng hindi bababa sa isa sa mga ipinag-uutos na mga patlang.

Mayroon akong isang library dokumento na sumusuporta sa walong mga uri ng nilalaman.

I have a SharePoint Designer workflow that wants to calculate and assign a "reminder date" by simply subtracting 30 days from another column, "due date". This should only happen for one of the content types, "Insurance". The business objective is to produce a KPI that shows two categories of insurance documents: "about to expire" and "expired." (You can read more about this kind of KPI and more substantial drill-down dito).

I have configured the workflow to fire when a new item is created and when an item is modified. The idea is that when an insurance document is uploaded, we calculate a "warning date" based on the expiration date. A pair of views work in connection with a KPI List to highlight these conditions when users hit their home page.

This strategy does not work when I upload a document.

I upload the document and I am presented with the meta data entry screen. Sa puntong ito, I’m already in trouble. SharePoint has already, prematurely from my perspective, fired the workflow. I haven’t had a chance to pick the correct content type nor assign a due date. Sa parehong oras, the workflow does not fire when I hit the submit button at this time. There’s some built-in logic that "believes" that first submit is part of the "create" event. Kaya … my workflow has fired and when it executed, it was passed default meta data values.

The best work-around I know of is to insert a "pause until" activity in the workflow. I have the workflow pause for 1 minute. While it’s pausing, I select the correct content type, enter the meta data and submit. The pause completes and the workflow proceeds as needed. (Note that in my environment, timer workflow activities from SPD do not work out of the box. You may have the same trouble. Tingnan dito for more details).

I don’t like "magic delay" work-around. What happens if the user uploads a document and the phone rings and the ensuing conversation outlasts the pause? I can make the pause longer, but I still don’t like it.

I wrote about this on the MSDN forums here: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Mabilis at simpleng: Magpadala ng isang email na may naka-embed na hyperlink mula sa SharePoint Designer workflow

Sa sandaling o dalawang beses buwan, isang tao post ng forum tanong: "How do I include hyperlinks to URL’s that are clickable from a SharePoint Designer email?"

Itinanghal nang walang karagdagang komento: (mahusay, talaga doon ay karagdagang komento pagkatapos ng larawan):

imahen

Becky Isserman sumusunod up sa isang kapaki-pakinabang na paliwanag sa kung paano i-embed ang isang link sa isang item sa e-mail: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Mabilis at simpleng: Paganahin ang SharePoint Designer workflow i-update ang isang form na ng InfoPath

Senaryo: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Dahil hindi ko maaaring bilangin sa ng workflow kasaysayan upang matugunan ang aking mga pangangailangan sa pag-awdit, Na maghusga ko upang i-imbak ang aking sariling pag-awdit ng mensahe nang direkta sa form mismo.

Pangkalahatang-ideya ng:

Idisenyo ang form at mag-publish ang mga ito bilang isang uri ng nilalaman and the form itself to a document library. Mark desired form fields as being updateable from MOSS. The form is tied to the content type and the content type is "attached" sa isang form ng library (o maraming, kung gusto mong). Write a workflow that updates the field.

Tiyak na Hakbang:

  1. Create a document library. This will hold your InfoPath template.
  2. Create a forms library.
  3. Create the InfoPath form. Include a text field, "Audit Message".
  4. I-publish ang form bilang isang uri ng nilalaman (Hindi ng isang dokumento).
  5. Habang pagpuno ng dialog publish:
    isang) I-save ang ang. Xsn na file sa library dokumento (hakbang #1).
    b) Publish the "Audit Message" patlang at mark totoo: "Allow users to edit data in this field by using a datasheet or properties page".
    c) Lumikha ng isang bagong uri ng nilalaman at bigyan ito ng isang naaangkop na pangalan.
  6. Ma-access ang mga form ng library.
    isang) Pumunta sa mga advanced setting nito at paganahin ang mga form ng library upang pamahalaan ang mga uri ng nilalaman.
    b) Piliin ang nilikhang bagong uri ng nilalaman (5c itaas). It will be grouped under "Microsoft InfoPath" (o katulad na).
    c) Remove the default "Form" uri ng nilalaman mula sa library.
    d) Mark the library to "show as web page" kaya form na iyon ay ilunsad mula sa SharePoint at hindi ang InfoPath client workstation.
  7. Go back to the forms library proper and click "New" sa lamang na i-verify ang form na iyon ay nai-post sa tama at kumikilos hangga't gusto mo.
  8. Painitin SharePoint Designer at mag-navigate sa site na nagho-host ng iyong form library (mula sa hakbang 2).
  9. Lumikha ng isang bagong daloy ng trabaho na naka-attach sa library form.
  10. Add a single action "Set Field in Current Item". You should expect SharePoint Designer to list your your field, "Audit Message". Assign it a value.
  11. I-click ang Tapos na at bumalik sa form na ang library.
  12. Create a new form and put some test value into the "Audit Message" patlang.
  13. I-save ito at bumalik sa form na ang library.
  14. Mag-right click, select "Workflow" at simulan ang iyong workflow.
  15. It should run almost immediately. Pull up the form (mula sa hakbang 12) at kung lahat ay nawala upang magplano, "Audit Message" ay bibigyan ng anumang halaga na iyong ibinigay sa hakbang 10.

Mga Tala:

Not all controls may configured for this bi-directional communication. Halimbawa, it does not seem to implement an SPD workflow that modifies text fields wrapped inside repeating sections.

One of the key take-away’s here is that we’ve really created a content type with an associated template. This also enables us to store multiple InfoPath form templates in the same form library.

This requires forms server. It’s most certainly not going to work in a WSS 3.0 kapaligiran at marahil kahit na nangangailangan ng isang Enterprise SharePoint kapaligiran.

SharePoint Designer — Custom na aktibidad upang isakatuparan na tinukoy ng gumagamit C # function

I-UPDATE: Ito ay inilabas sa CodePlex dito: http://www.codeplex.com/spdwfextensions

I-UPDATE: Tingnan dito para sa pinakabagong tala sa release: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

I-UPDATE: Tingnan dito para sa aking mga saloobin sa commercializing ang proyektong ito: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (pahatid) any C# function that you incorporated into the linked assembly.

Bilang ng late Oktubre, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, kabilang ang substring, talatuntunan, palitan, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

Kung mayroon kang anumang mga puna, mga katanungan o suhestyon, mangyaring mag-iwan ang mga ito sa mga komento o mag-email sa akin.

Pagtatatuwa:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

Pag-install hakbang (na sinundan para sa bawat WFE sa bukid):

1. I-download ang. Zip at extract.

2. Install the .dll into the GAC. I usually open c:\windows assembly gamit ang explorer window at kopyahin ito doon.

3. Baguhin web.config upang idagdag ang assembly sa ligtas na mga kontrol:

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

<authorizedType Assembly="SpdGenericInterface, Bersyon = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" sa C:\Program Files Common Files Microsoft Naibahaging web server extension 12 TEMPLATE 1033 workflow

Tandaan na ang nasa itaas na lokasyon ay tinukoy sa ingles wika pag-install.

5. Isara ang SharePoint Designer (kung ito ay bukas alreadycreated).

6. iisreset

7. Buksan SPD at lumikha ng isang bagong workflow.

Kung ang lahat ng napupunta na rin, Dapat mo ay gagantimpalaan ng isang bagong kategorya ng mga aksyon:

imahen

Mga Tala:

Tingnan dito (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) para sa isang kakila-kilabot na pangkalahatang-ideya ng proseso para sa paglikha ng, pag-install at pag-configure ng solusyon ganito.

Ang. Zip ay dinisenyo upang kunin mismo sa iyo c:\ drive. If you do this, maaari mong buksan ang proyekto at ang lahat ng mga path ay maging pare-pareho.

Upang gamitin ito sa Visual Studio, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, idagdag ito sa Ipatupad ang mga pamamaraan tulad ng ipinapakita:

 protektado magpawalang-bisa ActivityExecutionStatus
          Isakatuparan(ActivityExecutionContext executionContext)
        {

            pisi functionToDispatch;
            functionToDispatch = ito.DispatchFunction.ToLower();

            lumipat (functionToDispatch)
            {
                kaso "tolower()":
                    {
                        ito.OutResult1 = ito.InParam1.ToLower();
                        mabasag;
                    }

                default:
                    {
                        ito.OutResult1 = "Unknown function: [" + ito.DispatchFunction + "].";
                        mabasag;
                    }
            }

            bumalik ActivityExecutionStatus.Sarado;
        } // ActivityExecutionStatus

    }

Pagkatapos, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

SPD workflow pasadyang aksyon – makuha ang <WorkflowInfo> tag ang karapatan upang maiwasan ang pagkabigo

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" file.

Na nahanap ko at sinubukang gumamit ng isang sample template na nagsisimula off bilang:

<?xml salin="1.0" pag-encode="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / sharepoint /">
<
Pagkilos Nanggagalaing="pagkatapos" Pagpaparis="at">

Gayunman, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Ang solusyon ay upang nito ang mga katangian xmlns, do an iisreset and close/re-open SPD.

SharePoint Designer, “Mangolekta ng mga Data mula sa User” at gamit ang mga resulta.

Use the "Collect Data from User" action to create and assign a task to a user that prompts them for data. Among other things, Na nagamit ko ito upang i-prompt ng gumagamit upang aprubahan o tanggihan ang isang kahilingan at maglagay ng ilang mga komento.

Ang pagkilos na ito ay tumatagal ang form ng:

Magtipon data mula sa sa user na ito (Output sa Nagbabago: collect1)

Ang pag-click sa data pulls up ng isang serye ng mga dialog box kung saan mo tukuyin kung ano ang data ng user ang dapat ibigay kapag nakumpleto ang mga gawain at sa user na ito ay halata.

Ang output bahagi (Nagbabago: collect1) saves the ID of the task. You use this in your workflow to extract the user’s actual response via the "Compare any data source" condition.

Na kondisyon ay nagpapakita ng bilang

Kung patlang ay katumbas ng halaga

Mag-click sa patlang at pagkatapos ay ang f(x) icon and it pulls up another dialog box. Use this generalized dialog box to to tell SPD two things;

1. What is the list and column whose value you want to compare.

2. Paano dapat ang workflow engine mahanap ang partikular na hilera sa na listahan?

Upang gawin ito:

  1. Change the "Source" dropdown to point at the correct task list. Note that the dialog box expands to show a "Find the List Item" seksyon.
  2. Sa field na Paghahanap ng Mga Detalye ng dropdown, piliin ang pangalan ng patlang na kung saan ang halaga na gusto mong (mga mapa na ito sa kung ano ang tinatawag sa Kolektahin ang kahon data dialog mula sa itaas).
  3. In the "Find the List Item" seksyon, select "Tasks:ID" sa Field dropdown.
  4. Sa halaga ng patlang, mag-click sa f(x). This opens yet another dialog box.
  5. Change the source "Workflow Data"
  6. Select the workflow variable that matches to the "Output to Variable" mula sa Kolektahin ang pagkilos na data.
  7. I-click ang OK / OK at tapos ka na.

Mukhang ito para sa akin:

imahen

Sa puntong ito, Maaari mo na ngayong gamitin ang halagang iyon sa iyong daloy ng trabaho bilang kinakailangan.

Karagdagang mga Tala:

Bilang isang maikling isang tabi, I always create an appropriately named workflow variable of type "List Item ID" and use that instead of the auto-generated "collect1".

This "compare any data source" dialog hanay ay ginagamit sa iba't ibang mga lugar sa SPD at ay mahusay nagkakahalaga ng mastering.

== Pagtatapos

Technorati Tags: