Project Description
Finally! A basic activity that is added to SharePoint Designer that allows the copying of a list item to a secured list.

So if you are taking an existing Intranet and have dozens of cgi/perl forms to replace how to you make them secure? If someone can submit to a list they can certainly browse the list! So you need to copy the list to a list that normal users do not have the ability to browse. That is what this workflow is designed for.

I have taken the best practices I have found across the net and tried to fill the void that was missing inside Designer.
Right now the initial release is pretty quick & dirty but I figured it was more important to get this useful tool out.

It requires modifying the wss.actions file located in this folder
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\Workflow

Go the end of the xml file and add the following code above the last </ACTIONS> tag

<Action Name="Copy List Item to Secured List" 
            Assembly="CopyListItemToSecuredList, Version=, Culture=neutral, PublicKeyToken=a8999d7c6c56e591" 
            Category="Custom Actions">
      <RuleDesigner Sentence="Copy list item from %1 to secured list %2.">
        <FieldBind Field="ListID,ListItem" Text="this list" Id="1" DesignerType="ChooseListItem" />
        <FieldBind Field="ToListId" Text="this list" Id="2" DesignerType="ListNames" />
        <Parameter Name="ListID" Type="System.String, mscorlib" Direction="In" />
        <Parameter Name="ListItem" Type="System.Int32, mscorlib" Direction="In" />
        <Parameter Name="ToListId" Type="System.String, mscorlib" Direction="In" />
        <Parameter Name="__Context" Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext, Microsoft.SharePoint.WorkflowActions" Direction="In" />

Additionally the following needs to be added to the web.config file towards the bottom above the last </authorizedTypes> element.

<authorizedType Assembly="CopyListItemToSecuredList, Version=1.20.0, Culture=neutral, PublicKeyToken=a8999d7c6c56e591" Namespace="CopyListItemToSecuredList" TypeName="*" Authorized="True" />

Here is what will show up in Designer

I want to provide credit where it is due so here are a few links where this code was derived from:

I also utilized the best development tool I have found for WSS - WSPBuilder

Last edited Dec 3, 2010 at 3:38 PM by carnut2408, version 8