September 1, 2010 - 19:50, by Steven Van de Craen
Categories: General, SharePoint 2010, SharePoint Foundation 2010, SharePoint Server 2010I decided to have a go on the SharePoint 2010 exams with little or no preparation and see how it’d go. The first three went smoothly. I have to admin I struggled somewhat with the PRO Administrator exam today, but cleared it nevertheless.
I’m a Certified SharePoint 2010 Developer and Administrator ! :D
August 24, 2010 - 20:49, by Steven Van de Craen
Categories: Event Receivers, MOSS 2007, SharePoint 2007, SharePoint 2010, SharePoint Foundation 2010, SharePoint Server 2010, WSS 3.0A lesser known trick to make use of the HttpContext in asynchronous Event Receivers in SharePoint 2007 or SharePoint 2010 is to define a constructor on the Event Receiver class that assigns the HttpContext to an internal or private member variable. Next you can access it from the method overrides for handling events.
public class MyER1 : SPItemEventReceiver
{
// Local reference to HttpContext during Type Construction so we can use it in the Async Methods
internal HttpContext _ctx = null;
public MyER1()
{
_ctx = HttpContext.Current;
}
public override void ItemAdded(SPItemEventProperties properties)
{
string requestUrl = _ctx.Request.Url.ToString();
}
}
There’s a difference in behavior for Lists and Libraries; the former allows you to also read/write from the Context.Session, while the latter doesn’t allow this (Session is null).
I’ve (ab)used this once on a project where I’d call a custom LayoutPage called with QueryString parameters to force a SPListItem.Update(). In the Event Receiver the code would interact with the values of those parameters.
Side note:
Doubt that there’s official support on this. Feel free to drop a comment with your opinion.
August 16, 2010 - 09:24, by Steven Van de Craen
Categories: Office Web Applications, Office 2010, SharePoint 2010, SharePoint Foundation 2010, SharePoint Server 2010
The Office Web Apps allow users without Microsoft Office installed to display or work on Word, Excel or PowerPoint files from the browser. It is a separate installation to your SharePoint Farm and controllable by two Site Collection Features:
When active it will render Office 2007/2010 file formats in the browser, without any requirement to a locally installed Office suite.
As you notice in the screen there’s no obvious way to create a new document, spreadsheet or presentation. So how would that work ?
The ‘New’ button on libraries has both functionalities; when a local installation of Office is found it will open up the corresponding application, else it will navigate to a page for creating a new file directly from the browser.
Word Web Application:
If you’re using a modified document template, the new document will be based on the modified template.
Excel Web Application:
If you’re using a modified spreadsheet template, the new document will NOT be based on that.
PowerPoint Web Application:

If you’re using a modified presentation template, the new presentation will be based on the modified template.
It’s a shame Excel behaves differently, but other than that it’s a really nice feature !
August 6, 2010 - 14:37, by Steven Van de Craen
Categories: Search Server 2010, SharePoint 2010, SharePoint Foundation 2010, SharePoint Server 2010A feature of using the Remote Blob Storage with SharePoint 2010 (FILESTREAM provider in SQL Server 2008) is that document versions do not always create a new full copy of the original file, as it would in a non-RBS environment.
This is a huge improvement since 5 versions of a 10 MB file where only metadata is changed would result in 50 MB purely for file contents (not counting metadata storage size).
SharePoint 2010 without RBS
The files are stored in the Content Database in [AllDocStreams] in a varbinary field called Content. Each version counts as a record and the Contents field is replicated, even if only a metadata change occurred.
SharePoint 2010 with RBS
The files are stored on the file system. Each file or version record in the Content Database (table [AllDocStreams]) maintains a pointer to the RbsId. As you see in the screen below multiple versions still point to the same identifier of the blob, as long as the actual file hasn’t changed.
Very nice !
July 31, 2010 - 12:23, by Steven Van de Craen
Categories: SharePoint Updates, SharePoint Foundation 2010, SharePoint Server 2010, SharePoint 2010Spreading the news…
The first Cumulative Update (called “June 2010 CU”) for SharePoint 2010 was made available a few days ago:
SharePoint Foundation 2010
SharePoint Server 2010
Source: Stefan Goßner
July 24, 2010 - 11:19, by Steven Van de Craen
Categories: SharePoint 2010
Quick reference:
(Source: http://msdn.microsoft.com/en-us/library/ee231545.aspx)
|
Name |
Description |
| $SharePoint.Project.FileName$ |
The name of the containing project file, such as, "NewProj.csproj". |
| $SharePoint.Project.FileNameWithoutExtension$ |
The name of the containing project file without the file name extension. For example, "NewProj". |
| $SharePoint.Project.AssemblyFullName$ |
The display name (strong name) of the containing project’s output assembly. |
| $SharePoint.Project.AssemblyFileName$ |
The name of the containing project’s output assembly. |
| $SharePoint.Project.AssemblyFileNameWithoutExtension$ |
The name of the containing project’s output assembly, without the file name extension. |
| $SharePoint.Project.AssemblyPublicKeyToken$ |
The public key token of the containing project’s output assembly, converted to a string. (16-characters in "x2" hexadecimal format.) |
| $SharePoint.Package.Name$ |
The name of the containing package. |
| $SharePoint.Package.FileName$ |
The name of the containing package's definition file. |
| $SharePoint.Package.FileNameWithoutExtension$ |
The name (without extension) of the containing package's definition file. |
| $SharePoint.Package.Id$ |
The SharePoint ID for the containing package. If a feature is used in more than one package, then this value will change. |
| $SharePoint.Feature.FileName$ |
The name of the definition file of the containing feature, such as Feature1.feature. |
| $SharePoint.Feature.FileNameWithoutExtension$ |
The name of the feature definition file, without the file name extension. |
| $SharePoint.Feature.DeploymentPath$ |
The name of the folder that contains the feature in the package. This token equates to the "Deployment Path" property in the Feature Designer. An example value is, "Project1_Feature1". |
| $SharePoint.Feature.Id$ |
The SharePoint ID of the containing feature. This token, as with all feature-level tokens, can be used only by files included in a package via a feature, not added directly to a package outside of a feature. |
| $SharePoint.ProjectItem.Name$ |
The name of the project item (not its file name), as obtained from ISharePointProjectItem.Name. |
| $SharePoint.Type.<GUID>.AssemblyQualifiedName$ |
The assembly qualified name of the type matching the GUID of the token. The format of the GUID is lowercase and corresponds to the Guid.ToString(“D”) format (that is, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
| $SharePoint.Type.<GUID>.FullName$ |
The full name of the type matching the GUID in the token. The format of the GUID is lowercase and corresponds to the Guid.ToString(“D”) format (that is, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
July 19, 2010 - 09:15, by Steven Van de Craen
Categories: Search Server 2010, SharePoint 2010, SharePoint Foundation 2010
In SharePoint Server 2010 you have the option to create an Enterprise Wiki, but what if you have SharePoint Foundation 2010 or Search Server 2010 and you want to create a Wiki site ? You’ll notice that there’s no Wiki Site Template available like in SharePoint 2007 but nowadays you can activate Wiki-functionality on any site template.
You can activate the Wiki-functionality in the Site Features, look for the “Wiki Page Home Page” Feature.
It will
- Create the Site Pages library
- Create a new home page and set it as the Welcome Page for the site
- The original home page (“default.aspx”) will remain available in the background. You can still navigate to it directly.
Any modifications to the original home page (like Web Parts) need to be reapplied to the new home page. And keep in mind that it doesn’t play so nicely with some multi-paged site templates like the Meeting Workspaces template.

May 12, 2010 - 08:49, by Steven Van de Craen
Categories: General, Sandbox Solutions, SharePoint 2010, SharePoint Server 2010, SPF 2010
Last Saturday (8 May 2010) the first SharePoint Saturday event in Belgium took place. It was a day full of SharePoint 2010 aimed specifically at developers. As promised here’s the slide deck and demo files I used.

/Steven
May 10, 2010 - 10:00, by Steven Van de Craen
Categories: Office 2010, SharePoint 2010, SPF 2010, SharePoint Server 2010
If you’re having trouble with opening from or saving to SharePoint from Word, Excel or PowerPoint 2010 it might be that the Protected View settings are interfering in the process. You might see this when you’re running a SharePoint and Office on the same machine, like in a demo or development environment.
- Creating a new document from SharePoint: “Word has encountered a problem.”
- Opening a document from SharePoint: “Word experienced an error trying to open the file.”
- Saving a document to SharePoint: Dialog will not open on the Document Library, but rather your local Documents folder
A quick fix is to disable the Protected View for “potentially unsafe locations”:
Important: This is a per-application setting so do this for Word, Excel and PowerPoint individually !
March 30, 2010 - 09:22, by Steven Van de Craen
Categories: General, SharePoint 2010, SharePoint Server 2010, SPF 2010
BIWUG is organizing the first SharePoint Saturday in Belgium ever. It’s held in Hof Ter Elst, Edegem on the 8th of May 2010.
Topics include Visual Studio 2010 Tools, LINQ to SharePoint, Client Object Model, Sandbox solutions, Managed Metadata and WCF and REST in SharePoint.
I’ll be there presenting on Sandbox solutions, so feel free to drop in !
For more information and registration visit http://www.biwug.be.