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 SAF please read this :
http://www.collaboris.co.uk/blogs/09-06-18/How_to_install_SAF.aspxLatest InfoFor the latest blog posts about SAF, please go here :
http://www.collaboris.co.uk/Blogs/Mark.aspx?CntCatID=dc5a1df9-790f-43ee-b3e8-c0124927b7afOverviewTo get started with SAF please see our
Quick Start example.
Main Benefits of using SAF
- Actions already available - SAF already includes some Actions, and more will be added to as soon as they are fully tested.
- Integrate with existing methods - SAF Macros can be run from Features, STSAdm, WCF Service and MSbuild. In addition to this, purpose built Actions have been included allowing STSAdm and Powershell Commands to be included in a Macro.
- Develop your own Actions - If you don't see an Action in the list below, download SAF and create one, its easy enough.
- Uses Springs IOC - To define a Macro, we have re-used the Spring.Net IOC, so you automatically get all the features included with that.
- 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 :
- StsAdmin (STABLE) - calls and wraps any STSADM command installed, by passing the arguments and operation name.
- Powershell (BETA) - Allows Powershell commands to be run from the SAF.
- DeleteList (STABLE) - Deletes or sends a List to the Recycle Bin. Can do data and list.
- EnsureSiteColumn (STABLE) - Builds on top of existing CAML to manage customised and uncustomised site columns.
- EnsureContentType (BETA) - Builds on top of existing CAML to manage customised and uncustomised site content types.
- SetMasterPage (STABLE) - Sets the "Custom" Master Page for a Web
- CreateWeb (STABLE) - Creates a nnew SPWeb
- DeleteList (STABLE) - Deletes a List.
- SynchroniseContentTypes (STABLE) - Ensures that Child Content Types, match the site columns of their parent.
- CopyFiles (STABLE) - Copies Files from one SharePoint List to another.
- ExportListItem (STABLE) - Exports a List item to a Content Migration Packager (CMP)
- ImportListItem (STABLE) - Imports a List item from a CMP into a destination list. (This can be easily paired with ExportListItem to perform a "Copy List Item" Macro)
- ExportList (STABLE) - Exports all of the List Items in a source list to a Content Migration Package (CMP)
- ImportList (STABLE) - Imports all the Listitems from a CMP into a destination list. (This can be easily paired with ExportList to perform a "Copy List" Macro)
- ExportWeb (STABLE) - Exports a Web (and optionally subwebs) to a CMP.
- ImportWeb (STABLE) - Imports a Web (and optionally subwebs) from a CMP into a destination Parent Web. (This can be easily paired with ExportWeb to perform a "Copy Web" Macro)
- AddContentTypeToList (IN DEVELOPMENT) - Associates a Web Content Type with a Given List
- CheckoutFile (IN DEVELOPMENT) - Checkouts a SharePoint File / Page.
- RevertToOriginal (IN DEVELOPMENT) - Uncustomise a file. (Useful if you need to update it from a Feature)
- SetWebProperty (IN DEVELOPMENT) - Sets one or more properties on an SPWeb.
MOSS Actions available in SAF :
- SetAvailablePageLayouts (STABLE) - Adds Page layouts to the "Available Page Layouts" collection
- SetAvailableSiteTemplates (STABLE) - Adds Site Templates to the "Available Site Templates" collection
- SetWelcomePage (STABLE) - sets the welcome (default) page for a Publishing Web.
- ShowInNavigation (STABLE) - allows you to show / hide Publishing Pages and/or Webs from the Current and/or Global Navigaiton.
- CreateRedirectPage (IN DEVELOPMENT) - This creates a redirect page in a PublishingWeb. If the page exists, it will add a new Version. Useful for moving pages.
- PublishPage (IN DEVELOPMENT) - Publishes a SharePoint Publishing Page. This may also cause a Check-In and Approval (if needed).
- SetPageLayout (IN DEVELOPMENT)- Changes the Page Layout for one or more Publishing pages.
An example of developing a Feature to run SAF (2 files are needed, Feature.xml and Macro.xml) :
