visit us on www.sharepointsapiens.com

05/06/14 Update!

I changed the ID of the web template to 2. This is also the id of the SharePoint MPS templates. This allows you to modify meeting workspace sites and save them as custom template. Because it's the same id than the SharePoint Meeting Workspace template, we don't need the delegate control to redirect to the other id anymore.
If you want to upgrade, download the latest wsp and run the following command in the SharePoint Management shell:
Update-SPSolution -Identity Sapiens.at.SharePoint.MPSTemplate.wsp -LiteralPath c:\<deploymentpath>\Sapiens.at.SharePoint.MPSTemplate.wsp -GACDeployment

Enable Meeting Workspaces in SharePoint 2013

Meeting workspaces, site templates designed specially for meetings, are a discontinued feature in SharePoint 2013.
In this project we want to show you a way how to make them available again. In SharePoint 2013 the meeting workspace templates are still available but hidden in the webtemp.xml file.
This project provides some site templates to make meeting workspaces available in SharePoint 2013 without changing the original webtemp.xml file. The solution contains some custom site definitions (only a webtemp, an onet.xml is not required), a simple provisioning provider and a control that ensures that the correct meeting workspace templates can be selected.

The project consists of 4 parts:
  1. The site templates
  2. A provisioning provider
  3. A delegate control
  4. A calendar list template

The site templates

The site template only needs a webtemp_.xml. The onet.xml and the default.aspx are not required for this approach.

The custom webtemp_.xml file contains the same configurations than the MPS configurations in the webtemp.xml file, with a few exceptions.

I set the Hidden attribute to FALSE
I configured a provisioning provider with the original MPS site template name in the provisioning data. E.g. MPS#0, MPS#1, ...

The solution has one webtemp in English (1033) and one in German (1031). If you need it for another language, copy the webtemp to the corresponding language folder and change title, description and display category.

The provisioning provider

The provisioning provider is a handler that gets called when one of my custom site templates is applied. The only thing that the provisioning provider does, is to apply the original MPS template that is configured in the Provisioning Data.

The delegate control

Deprecated: 05/06/14 Update
The only thing that's left now is something to ensure that my templates can be selected instead of the SharePoint Meeting workspace template (that are hidden anyways). For this I decided to use a delegate control that is registered in the AdditionalPageHead and gets loaded on every page in the site collection where the feature is activated. After a calendar event is created or updated and the "Workspace" option is activated, the uses gets redirected to a page (newMWS.aspx) where the title, description, path, permissions and the language of the new meeting workspace can be configured. After clicking OK the next page is the template selection (templatepick.aspx). In the query string there is a parameter ID set to 2 (ID=2). 2 is the ID of the SharePoint Meeting Workspace templates. In this case, in SharePoint 2013, no template can be selected, because they are all hidden. What I did in the delegate control is to check the URL and if it's the template picker with the ID set to 2 I redirect the user to the same template picker with the ID set to 72742, my meeting workspace templates.

The calendar list template

What's also included in the solution is a custom calendar list template with the "Meeting Workspace" field visible. In the SharePoint 2013 calendar template the required fields are defined in the schema.xml but set to hidden and it's not possible to change the hidden attribute in SharePoint Manager or SharePoint Management shell. This is why I decided to also include my own calendar template.

So if the solution is installed and you activate the feature "Sapiens.at.SharePoint Meeting Workspaces" in the site collection features, a new list template named "Calendar with meeting workspaces" should be available. If you then create an event in a "Calendar with meeting workspace" list you will be able to create a meeting workspace like you are used from SharePoint 2010.

This solution is also included in the Employee Training Management and the Calendar Email Extension. In the Employee Training Management you can use Meeting Workspaces for example to publish documents and other training material. With the Calendar with Email Extension is even possible to create meeting workspaces automatically if you send a meeting request to the calendar. This can be configured in the calendar settings.

Installation

In the download section you can download the solution packages (.wsp). Install this package using the SharePoint 2013 Management shell.

Upload the solution package to the farm:

Add-SPSolution -LiteralPath "c:\foldername\Sapiens.at.SharePoint.MPSTemplate.wsp"

Deploy the solution

Install-SPSolution -Identity Sapiens.at.SharePoint.MPSTemplate.wsp -GACDeployment -AllWebApplications

or

Install-SPSolution -Identity Sapiens.at.SharePoint.MPSTemplate.wsp -GACDeployment -WebApplication http://yoursite:port

or

Deploy the solution in the Farm Solutions in Central Administration.

After this you have to activate the feature "Sapiens.at.SharePoint Meeting Workspaces" in the site collection features.

Visit us on http://www.sharepointsapiens.com for more useful tips and trick around SharePoint.

Last edited May 6, 2014 at 4:00 PM by florianwachter, version 14