Mark Jones - Thursday, March 11, 2010
For those out there that are a little curious as to whether SAF is any use to your organisation, please read this FAQ.
Full story
Comments (0)
Category: SAF
Mark Jones - Thursday, February 18, 2010
One of the major areas developed for v2 of the SharePoint Action Framework (SAF) is its ability to integrate tightly with Msbuild. In order to get SAF working, you simply need to reference the Msbuild Saf task - which can be referenced like this :
<UsingTask AssemblyName="Collaboris.Saf, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195" TaskName="Collaboris.Saf.Adapters.MSBuild.SAF" />
You may also choose to create a couple of targets (one for the Undo and one for the Do) - like this - but this is optional.
<Target Name="Do"> <SAF MacroPaths="@(Macros)" ProcessMode="Do" ContinueOnError="false" /></Target><Target Name="Undo"> <SAF MacroPaths="@(Macros)" ProcessMode="Undo" ContinueOnError="false" /><Target>
<Target Name="Do"> <SAF MacroPaths="@(Macros)" ProcessMode="Do" ContinueOnError="false" /></Target><Target Name="Undo"> <SAF MacroPaths="@(Macros)" ProcessMode="Undo" ContinueOnError="false" />
<Target>
Now this is setup, you then need to create a few item groups where all the properties can be passed to.
<ItemGroup> <Macros Include="Collaboris.Saf.Actions.Wss.Web.CreateWeb.macroTemplate"> <disabledo>false</disabledo> <disableundo>false</disableundo> <description>New Web created by SAF</description> <lcid>1033</lcid> <overwrite>true</overwrite> <template>STS#0</template> <title>New Web title</title> <url>NewWeb</url> <useuniqueperms>false</useuniqueperms> <webname>New Web name</webname> <id>{47B640DD-64A9-493b-8445-789FC0D05FF1}</id> <stopondoexception>true</stopondoexception> <stoponundoexception>true</stoponundoexception> <Url>http://localhost:4422</Url> <InstanceId>{156E17A5-A7BA-4e1f-8A48-1BC341A7C658}</InstanceId> </Macros> </ItemGroup>
For a more detailed walkthrough, please take a look at 'How to run a Macro from MSBuild '. You will find an example of how to call every SAF action in the documentation which can ...
Mark Jones - Wednesday, July 29, 2009
It’s 6am and I am bored, so I thought I would give you a quick heads up on what’s coming in the next version of SAF (due by the end August). Here’s the Feature list :
This is probably been the most exciting one for the release. We have been spending a few months working on a way to create SAF Macros visually via a VS 2008 designer window. This will give you the following advantages :
Usage will be very simple and will happen like this :
Mark Jones - Sunday, July 26, 2009
This post is purely to claim my blog on Technorati code : ymw9k6n57q
Category:
If you have ever deployed a SharePoint Content Type via a Feature (using standard CAML) you will more than likely run into one or more of the various “quirks”, namely :
I have detailed most of the issues in “Upgrading Content Types”. Becky Bertram also wrote an awesome post on the issues in “Updating Content Types and Site Columns That Were Deployed as a Feature”.
The reason for this post is to tell you about a SAF Action that removes some of these barriers and offers the following benefits :
Mark Jones - Thursday, July 09, 2009
Well, the hayfever has got me again! Here I am at 6am with a bunged up nose and itchy eyes wide awake. So I thought I would do the sensible thing and give you a heads up on what’s due in the next release of SAF.
Here’s the Feature list :
STSAdm Action. This allows us to call STSAdm commands and pass arguments from a SAF Macro.
Powershell Action. Allows us to to call Powershell “Function” and pass arguments from a SAF Macro.
In SAF, we think of “Adapters” as being components that allow a SAF Macro to be run from a particular technology. In the current release we have :
STSAdm Adapter. Allows you to run SAF from an STSAdm extension.
Feature Adapter. Allows you to SAF run from a SharePoint Feature. This is simple as creating a Feature.Xml and a Macro.xml file. Check out the Quick Start for more info.
In the next release here’s what’s coming :
MSBuild Adapter. This will let you hook SAF directly into your MSBuild process. This is going to pretty useful for companies that already have a MSBuild process, but want to hook SharePoint ...
Mark Jones - Thursday, June 25, 2009
I am pleased to announce that it’s now possible (with release 1.2.3463.00) , to run STSADM commands from the SharePoint Action Framework (SAF). Hence, if you add the standard STSAdm commands (that ship with SharePoint) to the truly awesome collection that Gary Lapointe has developed, (available on his STSADM Blog), you are looking at over 250 useful SharePoint Actions.
This functionality has been made available by a new Action called “StsAdm”. The Action should be called via an Alias like this “Action.StsAdmin”. (Aliasing is for convenience so that you don’t have to put the full 4 part assembly reference into the Macro).
This example illustrates how to create a Macro that calls the new Action and executes 2 STSAdm commands to delete a group and also create the group.
<?xml version="1.0" encoding="utf-8" ?> <objects xmlns="http://www.springframework.net"> <!-- Defines the main macro to process --> <object id="MacroToProcess" type="Macro" > <constructor-arg name="id" value="{8BB25F02-5E41-4e86-BCA2-E253747354A3}" /> <constructor-arg name="actions"> <list element-type="IAction"> <!-- Runs the STSAdm Command--> <object name="RunStsAdminCommands" type...
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<!-- Defines the main macro to process -->
<object id="MacroToProcess" type="Macro" >
<constructor-arg name="id" value="{8BB25F02-5E41-4e86-BCA2-E253747354A3}" />
<constructor-arg name="actions">
<list element-type="IAction">
<!-- Runs the STSAdm Command-->
<object name="RunStsAdminCommands" type...
Mark Jones - Monday, June 22, 2009
SAF contains 6 ready-to-use Actions that allow the Exporting and Importing of :
- List Items
- Lists
- Webs
The 3 pairs of Actions that allow you to do this, are namely :
- ExportListItem & ImportListItem
- ExportList & ImportList
- ExportWeb & ImportWeb
The actions are listed as pairs, for convenience, although there is nothing that mandates that they have to be run one after the other. In fact, you can export a List and import it into a completely different Farm months later if you so wish. In addition to this, although each pairing exports and imports different types of content, they all follow the same process, which is :
1. Export to a Content Migration Package (CMP) according to settings specificied in the “Export” Action.
2. Import from a CMP file according to settings specificed in the “Import” Action.
In principal that’s it! If you download the source code from here : http://SAF.Codeplex.com, you will find some useful examples at the locations listed below :
The examples all demonstrate how to export and import in one go from a Feature. However, in reality, you will more than likely Export from a ...
Comments (5)
Mark Jones - Thursday, June 18, 2009
A couple of you emailed and asked how to install SAF (version 2), so here's some instructions.
If you have never insalled SAF on your SharePoint Farm then you need to install. To do this, you need to use STSAdm commands which I have popped into a batch file. Hence follow the steps below :
If you already have a version of SAF on your Farm and want to upgrade to a newer version, please complete the steps below :
Mark Jones - Wednesday, June 17, 2009
At Last! Finally, we have released the SharePoint Action Framework (SAF) on CodePlex!! Please take a look at : http://saf.codeplex.com .
Now that I can take a minute, I just wanted to spend a bit of time detailing why we have spent the best part of 18 months (with lots of late nights building it!) Here's a FAQ to give you some answers:
Tags:: SAF SharePoint
Mark Jones - Saturday, May 16, 2009
In a previous post, I explained my findings with "Upgrading Content Types", but now I want to test out a few scenarios with upgrading Site Columns. On the whole, the test results for Site Columns were pretty similar to that of Content Types. Although, I wanted to test what we can do when it comes to updating site columns that contain data. If you don't want to read each test case, please check out the "Summary" at the end of this post.
Can we remove a site column by deactivating the Feature that deployed it? Yes
Test Steps:
1. Deploy a Site Column (via Feature and CAML)
2. Deactivate the Feature
Outcome:
1. Site Column will be removed
2. Feature is deactivated
Can we remove a site column (thats referenced by a List Column) by deactivating the Feature that deployed it? Yes
2. Add the Site Column to a List (as a List Column)
3. Deactivate the Feature
4. Recycle Application Pools
2. ...
Comments (3)
Tags:: CAML Deployment SAF Best Practices
Well it's now Saturday afternoon and the family have been out shopping all day, so I have taken the opportunity to conduct some tests that I had been meaning to do for a long time now (geek I hear you say). I wanted to find specifically what happens if you want to make changes to Content Types, Columns and Lists that have previously been deployed using Features and CAML. I am going to split my findings up into several posts.
I will detail each set of tests then summarise at the end what I think should be best practice if you want to update these.
Can we remove a content type by deactivating the Feature that deployed it? Yes
1. Deploy a Content Type (via Feature and CAML)
1. Content type will be removed
Can a Content Type can be removed that’s in use by a List? Yes (and No)
2. Reference it in a list
1. Content Type is removed
3. ...
Comments (4)
Tags:: CAML Deployment Best Practices
Mark Jones - Thursday, May 07, 2009
SharePoint Guidance
The Patterns and Practices team at Microsoft have developed guidance to help developers and architects build applications on top of SharePoint. The first release covered building intranet applications in a team environment. Release 2 targets enterprise class content oriented applications accessing LOB system information.
SharePoint Guidance on CodePlex
10 Best Practices For Building SharePoint Solutions
An excellent article covering topics such as App Dev, Testing and Continuous Integration.
Best Practices: Common Coding Issues When Using the SharePoint Object Model
"Learn common issues encountered by developers who write custom code by using the SharePoint object model"
http://msdn.microsoft.com/en-us/library/bb687949.aspx
Best Practices: Using Disposable Windows SharePoint Services Objects
"Learn best practices to follow when using Windows SharePoint Services objects to avoid retaining the objects in memory in the Microsoft .NET Framework"
http://msdn.microsoft.com/en-us/library/aa973248.aspx
Summary of sessions for the European Best Practices SharePoint Conference 2009
Syed Adnan Ahmed Kindly summarises what he discovered at the European Best Practices SharePoint Conference. He breaks the points down by Web Part Development, Custom Field Types and SQL Server Tuning.
http://www.codeproject.com/Articles/36209/Summary-of-sessions-of-European-Best-Practices-SharePoint-Conference-2009.aspx
Developer Best Practices Resource Center for SharePoint Server 2007
Find up-to-date guidance about how to write Microsoft Office SharePoint Server 2007 applications and customizations that perform well, avoid common pitfalls, ...
Category: SharePoint
Tags:: Best Practices SharePoint
I have spent quite a bit of time lately surfing the net for the latest news/rumours about SharePoint 2010 and whats likely to be in it. Hence, here's my list so far.
Sources...
Category: SharePoint 2010
Mark Jones - Tuesday, April 21, 2009
Sorry about the title, but, this blog posting is an attempt to save you from the nightmare I have just been through so wanted to be descriptive.
Here's my rig:
I am running a Windows 2008 Enterprise Server with SharePoint 2007 64 bit and Visual Studio 2008.
I have been trying to create an MSI (using VS), that installs Action Server on a SharePoint 64 bit platform. My main problem arrives when the installer attempts to run my Custom Action. The Custom Action is responsbile for installing evaluation licenses into the SharePoint Config databases. Every time, my Custom Action hits a line containing, "SPFarm.Local", the installer would throw an error like this :
"Attempted to Load a 64 bit assembly on a 32 bit platform"
After a bit of research, the main crux of the problem is that (by default) the Custom Action runs as a 32bit process and attempts to load the Microsoft.SharePoint.dll (which is 64 bit). Hence, the error. So, how do you get around this ?
Well in short, we offer big respect to Heath Stewart! The solution isn't a coded solution, or some property you can flick inside of the Visual Studio Project. You need to ...
Display as : cloud | list
© 2009 Collaboris Ltd. All rights reserved.
Sitefinity ASP.NET CMS