Workflow Lite For SharePoint Installation Video & Config Docs

To install the Workflow Lite For SharePoint event handler, you need to complete following steps, which are described in more detail in the ReadMe.txt file that’s included in the beta release:

  • Enable SharePoint Event Handlers
  • Deploy the workflow assembly to the GAC
  • Extract and modify the config file
  • Configure settings
  • Enable the Event Handler for a Document Library

I’ve also created a video that shows each installation step and creates a simple example. Probably the most tricky part is modifying the configuration XML file. A very basic example of such a configuration file could contain following XML:

<ns0:WorkflowConfiguration xmlns:ns0="http://Leadit.SharePoint.Workflow/WorkflowConfiguration">
  <ns0:WorkflowStage DocumentLibraryURL="
http://localhost:8000/workflowinstall/Drop">
    <ns0:Description>Drop</ns0:Description>
    <ns0:Properties>
      <ns0:Property Name="Status">
        <ns0:Triggers>
          <ns0:Trigger PropertyValue="Ready">
            <ns0:Actions>
              <ns0:Action Type="COPY" Parameter1="Destination"
                  
Parameter2="" Parameter3="" />
              <ns0:Action Type="DELETESOURCE" Parameter1="" 
                   Parameter2="" Parameter3="" />
            </ns0:Actions>
          </ns0:Trigger>
        </ns0:Triggers>
      </ns0:Property>
    </ns0:Properties>
  </ns0:WorkflowStage>
</ns0:WorkflowConfiguration>

Schematic:

A configuration file contains one or more WorkflowStage nodes, each node corresponds to a stage in the workflow process, so a SharePoint document library corresponds to a WorkflowStage. The DocumentLibraryURL tag sets the location of the document library for which it should work, the Description tag is descriptive only. A WorkflowStage node can contain one or more Property nodes, contained in the Properties tag. A Property node corresponds with a field of the document library which will be used by the workflow process. The Name attribute of the Property tag should contain the name of that document library field. Each Property node can contain one or more Trigger nodes, contained in the Triggers tag. A Trigger node corresponds with a specific value of the document library field, which should be specified in the PropertyValue attribute. Finally a Trigger node can contain one or more Action nodes, contained in the Actions tag. An Action node corresponds with an action that the workflow process should execute. Each Action node has a specific type, and three optional parameter values. Here’s a list of the Action types that are currently implemented:

  • <ns0:Action Type="COPY" Parameter1="Destination" Parameter2="" Parameter3="" />
    Copies the document library item to another document library
    Parameter1: name of the destination document library
    Parameter 2 and 3: not used
  • <ns0:Action Type="SETFIELDVALUE" Parameter1="Field" Parameter2="Value" Parameter3="" />
    Sets the value of a specific field of the document library item to the specified value. The value can be any string which can contain references to other fields:
    {FIELD:field} the value of field from the originating document library item
    {NEWLINE} a new line
    {NOW} current timestamp
    Example: “Comments of reviewer: {FIELD:Comments}
  • <ns0:Action Type="DELETESOURCE" Parameter1="" Parameter2="" Parameter3="" />
    Deletes the originating document library item.
    No parameters used
  • <ns0:Action Type="CREATEEVENTITEM" Parameter1="Eventlog" Parameter2="type" Parameter3="comments" />
    Creates an eventlog item in the specified SharePoint list.
    Parameter 1: name of the SharePoint list
    Parameter 2: type of the event
    Parameter 3: comments, can contain references (see SETFIELDVALUE)
    The event list should contain following fields: Title (text), Event (text), Initiator (lookup, user information), Comments (multiple lines of text)

11 Comments

  • Great, thanks, EROL

  • Great job again Jan!! I really like how much attention you pay to the installation instructions...this is an important piece that can often be easily overlooked. Way 2 Go!!

  • First, let me say this looks great!



    I see a lot of workflow stuff out there, and it always seems centered around Document Libraries. Is it not possible to create a default or custom list and do workflow also?



    Also, non-related question, but maybe someone could answer it. Our alerts in Sharepoint show the list item title, except when we use an Issues list, then it says Item ID. Can't find any info on the net anywhere. Any idea why?



    Thanks,

    Scott Hannan

    Ava.nu Media

    srh@ava.nu

  • Scott, at this point SharePoint does not support to handle events of lists, so you can't do workflow scenarios like this. But I heard event handlers will be available for lists too, in a next version of SharePoint.

  • Great !



    Very usefull thing.

    Can we take part in your project?



    Dmitry Smykalov

    IT Manager

    Russia

    alienX@mail.ru

  • I have a question, is it possible to trigger an action after a few &quot;Property names&quot; have change? Like if I want 3 people to &quot;Sign off&quot; on a doc before moving it to a new library and I have 3 different columns set that need to be checked. Is that possible? Thanks a lot man this is great...



    Chris (christiankelly(at)gmail.com)

  • By the way, this is the error message that I got when I tried enabling the event handlers for my document library..





    Could not report event for &quot;Editing&quot; in &quot;Editing&quot; because loading event handler assembly &quot;Leadit.SharePoint.Workflow, Version=0.1.0.0, Culture=neutral, PublicKeyToken=dd064a5b12b5277a&quot; failed. File or assembly name Leadit.SharePoint.Workflow, or one of its dependencies, was not found.





    I don't what this means. I already followed all the steps in the installation instruction, except that I didn't refresh my config settings using IISRESET (as said in the instructions) because I don't know how to. Could that be why I got the error?

  • Christian, this is not yet possible. But it's a great idea! I'll take a look how I can implement it.



    Eugene, I've send you an email with some questions.

  • Jan, I had to read further in other posts before posting my questions!!! You already wrote that you will make the sourcecode available! Great!



    In question 3 above I mean the implementation as done by kaneboy. Would be a great addition, although it is easiest to modify things in the XML instead of having to write code!

  • I will recomend this site... Excelent work!!! May I use your palette at my site? Thanks!,I will recomend this site... Excelent work!!! May I use your palette at my site? Thanks!

  • Wien ist mir im moment zu distanziert... Dann will ich dir wenigstens auf diesem wege meine lieben grube zukommen lassen!!! :) Thanks!,Wien ist mir im moment zu distanziert... Dann will ich dir wenigstens auf diesem wege meine lieben grube zukommen lassen!!! :) Thanks!

Comments have been disabled for this content.