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.
Slide Deck
http://www.slideshare.net/MarkQJones/share-point-action-framework
Main Benefits of using SAF
WSS Actions available in SAF
MOSS Actions available in SAF :
Standard Actions available in SAF
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 SharePoint Action Framework Architectural Diagram]()
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.
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
Action | Description | Example |
---|---|---|
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 :
Action | Description | Example |
---|---|---|
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
Action | Description | Example |
---|---|---|
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