Project DescriptionSAF is a way to automate and repeat configuration changes in SharePoint using "Actions". These actions can then be grouped together as Xml into a "Macro" and then run from a Feature, STSADM command. MSBuild or WCF Service (coming soon).
Installation InstructionsTo install or upgrade the SAF WSP, please read this :
http://www.collaboris.co.uk/Projects/SafWiki/SAF_WIKI/Installing_SAF.aspxSAF WikiFor the latest blog posts about SAF, please go here :
http://www.collaboris.co.uk/Projects/SafWiki/SAF_WIKI/Contents_Page.aspxOverviewTo get started with SAF please see our
Quick Start example.
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
- EnsureSiteColumn - Adds or updates a SharePoint site column (allows the GUID to be specified for new columns).
- CreateLookupColumn - Creates a new <b>site</b>-scoped lookup column pointing to a field in an existing list.
- AddLookupColumnToList - Creates a new <b>list</b>-scoped lookup column pointing to an existing list.
- AddSiteColumnToList - Adds a site column to an existing SharePoint list.
- AddSiteColumnToContentType - Adds a site column to an existing content type.
- ImportWeb - Imports a web (SPWeb) from a Content Migration Package (CMP).
- ExportListItem - Exports a SharePoint list item to a Content Migration Package (CMP) based on the web, list name and list item ID.
- ExportWeb - Exports a SharePoint web (SPWeb) to a Content Migration Package (CMP).
- ImportListItem - Imports a web (SPListItem) from a Content Migration Package (CMP).
- ExportList - Exports a SharePoint list to a Content Migration Package (CMP) based on the web and list name.
- ImportList - Imports a lists items from a Content Migration Package (CMP).
- AddContentTypeToList - Adds a specified content type to a SharePoint list.
- EnsureContentType - Allows a content type to be added or updated in a SharePoint site.
- SynchroniseContentTypes - Ensures that a child content type has the same columns (fields) as the parent content type.
- CheckOutFile - Used to check out a list of files in a one or more document libraries.
- ApproveFiles - Approves a list of files contained within the list.
- AddFile - Adds a file to a list.
- CheckInFiles - Checks in a list of files to one or more document libraries.
- UpdateFileContent - Updates the file content in a list.
- GetFiles - Reads the list of files (and urls) specified in the ListFileInfo, based on a List Name and Filter Pattern.
- CopyFile - Copies a single file from a source list to a destination list (in SharePoint).
- PublishFiles - Publishes a list of supplied files.
- ImportDataSetToList - Imports the given Dataset data into the list.
- AddListItemEventReceiver - Adds a list event receiver to a SharePoint list.
- DeleteList - Destroys (or recycles) a SharePoint list. Can also optionally delete data only.
- EnsurePropertyBagItems - Adds (or updates) a value in the relevant property bag. The web, site, web application and farm property bags can all be updated.
- CreateUser - Creates a new user in the site (see documentation on SPWeb.SiteUsers) and can optionally make the user site collection admin.
- CreateSite - Creates (or overwrites) a site collection (SPSite) in a web application.
- SetMasterPage - Sets the current web master page. Can also (optionally) set child webs.
- CreateWeb - Creates a new web in a site collection.
- ExtendWebApplication - Extends an existing web application in IIS.
- CreateWebApplication - Creates a new SharePoint web application.
- SetWebPartProperties - Sets the WebPart properties in a page.
- AddWebParts - Allows multiple web parts to be added to a web part zone on a web part page.
- ConnectWebParts - This action allows 2 web parts (provider and consumer) to be connected on a particular web part page.
- RemoveWebParts - Allows multiple web parts to be removed from a web part page.
- StsAdmin - Allows a SQL Statement to be run against a database as specified by a supplied connection string.
MOSS Actions available in SAF :
- ShowInNavigation - Allows the current site to be included or excluded from the global and/or current navigation.
- UpdatePublishingPageFields - Adds or Updates a field to a specific page in the 'Pages' library for the current web.
- SetPageLayout - Updates a publishing page layout for a publishing page.
- SetWelcomePage - Sets the 'Welcome Page' (default) page to a specific page in the 'Pages' library for the current publishing web.
- PublishPage - Attempts to publish a page in a SharePoint publishing 'Pages' library.
- CreateRedirectPage - Creates a new redirect page using the standard SharePoint redirect page layout.
- SetAvailablePageLayout - Adds or removes page layouts from the 'Available Page Layouts' collection in the current web.
- SetAvailableSiteTemplates - Adds or removes site templates from the 'Available Site Templates' collection in the current web.
Standard Actions available in SAF
- GetDataSetFromCSV - This action is responsible for getting a DataSet from a Comma Seperated File.
- GetFiles - Gets a list of file names (with path) for the given criteria.
- FtpUpload - This action will FTP one or many files to a destination FTP server.
- ExecutePowershell - Allows 1 (or more) Powershell scripts to be run.
- ExecuteSQL - Allows a SQL statement to be run against a database as specified by a supplied connection string.
- NVelocity - This action requires a user defined collection and the name of an NVelocity Template, to create an instance of an outputted document.