Project Description
The SharePoint Action Framework is an extension to the SharePoint Feature framework, Stsadm or MSBuild. This is achived with Actions which are commands allowing automation of SharePoint (e.g. CreateWeb, AddUser, ImportList). Also possible to thread multiple Actions together.

Special Notice
If you are interested in discovering how to distribute and track policies and procedures in SharePoint - why not check out our policy management software called DocRead

Slide Deck
http://www.slideshare.net/MarkQJones/share-point-action-framework

Main Benefits of using SAF
  • Actions already available - SAF already includes some Actions (see below).
  • Integrate with existing methods - SAF Macros can be run from Features, STSAdm, MSbuild and soon WCF. In addition to this, purpose built Actions have been included allowing STSAdm and Powershell Commands to be called from within a Macro.
  • Develop your own Actions - If you don't see an Action in the list below, download SAF and create one, it's easy enough.
  • Parameterise your scripts - By using place holders statements like (e.g. ${CurrentWeb.Url}), would replace the Url of your current Web (at run time). (note. the current web, is the web you have activated your feature at, or the 'url' you pass in as an an argument at run time). Environment Variables are now supported!
  • Rollback supported - Each Action has a "Do" and also an "Undo", meaning you can rollback!! (Which is great during development and testing)
  • Extensive Logging - SAF includes LOTS of .Net Tracing statements, so you can monitor whats happening. (which is essential when running Features).
  • Adapters - Through the use of Adapters, you can run your Macros from either a Feature or STSAdm. (More on the way).
  • A common approach to writing 'tools' - SAF allows you to have a single approach to writing "tools" and "utilities" for SharePoint, meaning reuse should be higher and should also lower your TCO.

WSS Actions available in SAF

ActionDescriptionExample
AddLookupColumnToList Creates a new <b>list</b>-scoped lookup column pointing to an existing list. Download Quickstart
AddSiteColumnToContentType Adds a site column to an existing content type. Download Quickstart
AddSiteColumnToList Adds a site column to an existing SharePoint list. Download Quickstart
CreateLookupColumn Creates a new <b>site</b>-scoped lookup column pointing to a field in an existing list. Download Quickstart
EnsureSiteColumn Adds or updates a SharePoint site column (allows the GUID to be specified for new columns). Download Quickstart
ExportList Exports a SharePoint list to a Content Migration Package (CMP) based on the web and list name. Download Quickstart
ExportListItem Exports a SharePoint list item to a Content Migration Package (CMP) based on the web, list name and list item ID. Download Quickstart
ExportWeb Exports a SharePoint web (SPWeb) to a Content Migration Package (CMP). Download Quickstart
ImportList Imports a lists items from a Content Migration Package (CMP). Download Quickstart
ImportListItem Imports a web (SPListItem) from a Content Migration Package (CMP). Download Quickstart
ImportWeb Imports a web (SPWeb) from a Content Migration Package (CMP). Download Quickstart
AddContentTypeToList Adds a specified content type to a SharePoint list. Download Quickstart
EnsureContentType Allows a content type to be added or updated in a SharePoint site. Download Quickstart
SynchroniseContentTypes Ensures that a child content type has the same columns (fields) as the parent content type. Download Quickstart
AddFile Adds a file to a list. Download Quickstart
ApproveFiles Approves a list of files contained within the list. Download Quickstart
CheckInFiles Checks in a list of files to one or more document libraries. Download Quickstart
CheckOutFile Used to check out a list of files in a one or more document libraries. Download Quickstart
CopyFile Copies a single file from a source list to a destination list (in SharePoint). Download Quickstart
GetFiles Reads the list of files (and urls) specified in the ListFileInfo, based on a List Name and Filter Pattern. Download Quickstart
PublishFiles Publishes a list of supplied files. Download Quickstart
UpdateFileContent Updates the file content in a list. Download Quickstart
AddListItemEventReceiver Adds a list event receiver to a SharePoint list. Download Quickstart
DeleteList Destroys (or recycles) a SharePoint list. Can also optionally delete data only. Download Quickstart
ImportDataSetToList Imports the given Dataset data into the list. Download Quickstart
EnsurePropertyBagItems Adds (or updates) a value in the relevant property bag. The web, site, web application and farm property bags can all be updated. Download Quickstart
CreateUser Creates a new user in the site (see documentation on SPWeb.SiteUsers) and can optionally make the user site collection admin. Download Quickstart
CreateSite Creates (or overwrites) a site collection (SPSite) in a web application. Download Quickstart
CreateWeb Creates a new web in a site collection. Download Quickstart
SetMasterPage Sets the current web master page. Can also (optionally) set child webs. Download Quickstart
CreateWebApplication Creates a new SharePoint web application. Download Quickstart
ExtendWebApplication Extends an existing web application in IIS. Download Quickstart
AddWebParts Allows multiple web parts to be added to a web part zone on a web part page. Download Quickstart
ConnectWebParts This action allows 2 web parts (provider and consumer) to be connected on a particular web part page. Download Quickstart
RemoveWebParts Allows multiple web parts to be removed from a web part page. Download Quickstart
SetWebPartProperties Sets the WebPart properties in a page. Download Quickstart
StsAdmin Allows a SQL Statement to be run against a database as specified by a supplied connection string. Download Quickstart


MOSS Actions available in SAF :

ActionDescriptionExample
ShowInNavigation Allows the current site to be included or excluded from the global and/or current navigation. Download Quickstart
CreateRedirectPage Creates a new redirect page using the standard SharePoint redirect page layout. Download Quickstart
PublishPage Attempts to publish a page in a SharePoint publishing 'Pages' library. Download Quickstart
SetAvailablePageLayout Adds or removes page layouts from the 'Available Page Layouts' collection in the current web. Download Quickstart
SetAvailableSiteTemplates Adds or removes site templates from the 'Available Site Templates' collection in the current web. Download Quickstart
SetPageLayout Updates a publishing page layout for a publishing page. Download Quickstart
SetWelcomePage Sets the 'Welcome Page' (default) page to a specific page in the 'Pages' library for the current publishing web. Download Quickstart
UpdatePublishingPageFields Adds or Updates a field to a specific page in the 'Pages' library for the current web. Download Quickstart


Standard Actions available in SAF

ActionDescriptionExample
GetDataSetFromCSV This action is responsible for getting a DataSet from a Comma Seperated File. Download Quickstart
GetFiles Gets a list of file names (with path) for the given criteria. Download Quickstart
FtpUpload This action will FTP one or many files to a destination FTP server. Download Quickstart
ExecutePowershell Allows 1 (or more) Powershell scripts to be run. Download Quickstart
ExecuteSQL Allows a SQL statement to be run against a database as specified by a supplied connection string. Download Quickstart
NVelocity This action requires a user defined collection and the name of an NVelocity Template, to create an instance of an outputted document. Download Quickstart


Examples of Macros (multiple Actions)

To view more complex examples of a Macro illustrating how to chain together multiple Actions, please vist : SAF Macro examples

The Diagram below illustrates the high-level architecture for SAF

SharePoint Action Framework Architectural Diagram

Last edited Jan 6, 2013 at 4:40 PM by MarkQjones, version 48