2. What is SAF?
SAF is the “SharePoint Action Framework”
It’s Open Source, hosted on Codeplex
Automates and repeats configuration changes in
SharePoint via “Macros”
Easy to run from Msbuild, Stsadm, Feature
receiver (and very soon WIX/MSI)
It’s an engine written in C#
It allows 3rd party actions to be written
Collaboris Consultancy Services 2
Collaboris
3. What Problems does SAF Solve ?
Replaces manual effort and non-standard scripts
This can saves months of dev effort!
Allows you create Macros once, and re-use in the
technology that fits best
e.g Msbuild, Feature Receiver, Stsadm, WIX
Allows a common approach to scripting SharePoint
.net Actions, stsadm, powershell, batch
Makes SharePoint Deployments standardised and
simpler
Allows “Environment-aware” scripts through dynamic
property placeholders.
3
Collaboris
5. What is a Macro ?
Is the top-level container in SAF
A Macro contains one or more Actions
Examples :
Deploy Solution (Add Solution, Deploy Solution)
Create Farm (Create a SharePoint Farm)
Configure Search (install & configure search service)
A Macro is authored as XML using Spring.Net
A Macro can be a template (parameterised) or instance
Macro can substitute Properties at run time
Macro’s can easily be reused by sharing XML
5
Collaboris
6. What is an Action
An Action is a unit of work to execute in SharePoint
Examples :
Add Lookup Column to List
Create Publishing Page
Add Web Parts to Page
An action is written in managed .Net code
3rd Party Custom Actions can easily be added to SAF
An action implements 3 methods
DoAction()
UndoAction()
IsValid()
6
Collaboris
7. Properties and Expressions
A Property passes information to the Action
e.g. Site Name, Urls, Titles, and so on.
A Property (for an Action) can be set
literally:
<property name=“SiteTitle” value=“Accounts”/>
via a runtime Placeholder:
<property name=“SiteTitle” value=“${SiteName}”/>
via an expression:
<property name=“Date” expression=“date('1974-08-24') + 5” />
7
Collaboris
8. What is a SAF Context?
A property bag that is passed into every Action
Contains resolved Properties
Created by the SAF Engine at start-up
Contains references to the current SharePoint Context
e.g Farm, Web Application, SPSite, SPWeb
8
Collaboris
9. Do you want to
make your SharePoint deployments
run smoothly?...
9
Collaboris
11. Getting Started ?
Download the latest version from here:
http://saf.codeplex.com
Download working samples:
http://collaboris.co.uk/saf/doc
Read the WIKI
http://www.collaboris.co.uk/Projects/SafWiki/SAF_WIKI/Contents_Pa
ge.aspx
Read the blog
http://www.collaboris.co.uk/blogs.aspx?CntCatID=dc5a1df9-790f-
43ee-b3e8-c0124927b7af
Follow me on Twitter
http://twitter.com/MarkQJones
11
Collaboris
12. SAF Road Map 2010
Version 2.1 (mid March)
Tight WIX Integration (MSI’s)
More Actions
WCF Service beta
Version 2.5 (end June)
SAF working in SharePoint 2010
XML-less configuration
GUI to create Macros visually
WCF Service releases
12
Collaboris