Creating new .ACTIONS files for code-free workflow editors

.ACTIONS files are used by Windows SharePoint Services 3.0 to compile a list of code-free workflow actions and conditions.  The default file provided by Windows SharePoint Services 3.0 is called the WSS.ACTIONS file found under C:\Program Files\Common Files\Microsoft Shared\web server extensions\12. 

By creating additional .ACTIONS files and placing them into the same directory, Windows SharePoint Services will read all of the files and create a single list of available workflow actions and conditions and present them to SharePoint Designer 2007 in the form of a cohesive, categorized list that can be used to build more complex workflows.

The following is an example of how to construct this file.

 <?xml version="1.0" encoding="utf-8"?>
<WorkflowInfo Language="en-us">
   <Conditions And="and"
               Else="Else If"
               Not="not"
               Or="or"
               When="If">
      <Condition AppliesTo="list"
                 Assembly="Assembly.Name,
                           Version=0.0.0.0,
                           Culture=neutral,
                           PublicKeyToken=GUID"
                 ClassName="Fully qualified
                            class name"
                 FunctionName="Boolean method name
                               implemented in
                               class"
                 Name="Name to be displayed in
                       workflow editor"
                 Type="Advanced"
                 UsesCurrentItem="true">
         <RuleDesigner Sentence="Sentence to be
                                 displayed to the
                                 workflow editor">
            <FieldBind DesignerType="Date"
                       Field="Parameter that
                              FieldBind maps to"
                       Function="true"
                       Id="Unique positive Integer"
                       Text="Text to be displayed
                             as a hyperlink"
                       TypeFrom="Parameter that a
                                 non-Operator derives
                                 its type from"
                       Value="Reserved for future use">
               <Option Name="Option1" Value="Value1" />
            </FieldBind>
         </RuleDesigner>
         <Parameters>
            <Parameter Direction="In"
                       InitialValue=""
                       Name="MyParameter"
                       Type="System.String, mscorlib" />
         </Parameters>
      </Condition>
   </Conditions>
   <Actions>
      <Action Name="Action name displayed in editor">
         <RuleDesigner Sentence="Sentence to be
                                 displayed to the
                                 workflow editor">
            <FieldBind DesignerType="CreateListItem"
                       Field="Parameter that FieldBind
                              maps to"
                       Function="true"
                       Id="Unique positive Integer"
                       OperatorTypeFrom="Parameter
                                         Operator derives
                                         its type from"
                       Text="Text to be displayed
                             as a hyperlink"
                       TypeFrom="Parameter non-Operator
                                 derives its type from"
                       Value="Reserved for future use">
            </FieldBind>
         </RuleDesigner>
      </Default>
   </Actions>
</WorkflowInfo>

In my next post I will start going into details of each of the elements, so stay tuned.

 Rodney