Implementing Workspaces
This section explains which steps are required to implement MatchPoint workspaces in your environment.
Activate "Self-service Site Creation" on the Web Application (optional)
In case you want to create your workspaces as site collections, you need to enable self-service site creation: You can do this by browsing to the central administration, choosing "Manage Web Applications" and selecting your web application. In the ribbon you can click the "Self-Service Site Creation". Set "Allow users to create site collections in defined URL namespaces" to "On".
Activate "EnableWebRoles" (optional)
In case you are planning to use webs as workspaces and not site collections, you need to check the "EnableWebRoles" setting in the MatchPoint configuration. If this is set, MatchPoint will create new roles per web (per workspace). We recommend using site collections, as they are better scalable than webs and Microsoft recommends this approach as well.
Define Root Tags for Workspace- and Role-Tags
The workspace- and the role-tags which are part of the workspace concept need to have existing parent tags. You can create these by adding two root tags to a static tag importer configuration. You can configure these root tags as groups, since they do not need to be applied to content (only their children do). Please note that you do not need to specify these tags, even though it is recommended.
Create a Workspace Template with SharePoint out of the box template
In the dashboard add a new Workspace Template Configuration. Specify the parameters according to your requirements. Please note that in the expression or pattern strings you can use the Self variable to point to the defined fields.
- ListLocationExpression: This is the location of the list which stores the meta information associated with the workspace.
- ListTitle: This is the title of the list in the location specified in the ListLocationExpression.
- SiteId: The ID of the workspace which needs to be unique. You can
use expressions here. A good practice is to use the
MPUtility.GetNextId
expression to ensure that you have a unique ID for each workspace:MPUtility.GetNextId("WorkspaceId", 1).ToString("00000")
Please note that you need to put this expression in {} as it is a pattern string. This means, that you could as well combine it with other strings. E.g. prefix it with"WS\_": WS\_{MPUtility.GetNextId(...)}
- SiteTitle: The title of the workspace to be created. This
information is usually defined in the workspace editor which is used
to create the workspace (use
{Self.Title}
to access the value). - TemplateExpression: For the beginning a workspace with a standard SharePoint out of the box template should be created. This way you can easily check if the configuration is correct and if it works, before going into the details of specifying exactly what the workspace should look like. At this point you should decide whether to base your configuration on a provisioning template or not.
- ContentTypeName: The content type of the workspace. The workspace
item in the workspace list will be of the defined content type.
Additional nodes of the WorkspaceTempalteConfiguration:
- Fields: You can add fields to a workspace. These fields can contain metadata about the workspace, for example a Title or a Description field.
- Tags: You can specify two kind of tags for workspaces. Please note, that you do not need to specify this information, however it is recommended that you do so.
- TagDefinition: Defines the parent tag of the workspace tag. If you specify this, each workspace will get its own tag. This has the advantage that this metadata is then assignable to the documents, lists, etc. inside the workspace. This way the SearchDataProvider can be used to search for the content of a specific workspace.
- RoleTagDefinition: As with the TagDefinition, the RoleTagDefinition enables this metadata to be searched.
Create a WorkspaceEditorConfiguration to add new workspaces
- TemplateId: Choose the workspace template you specified in the previous step.
- WorkspaceExpression: Choose "Create new" to add a new workspace. Please note that you can also use the workspace editor to edit the properties of existing workspaces. Depending on where the Workspace Editor Web Part is placed, you can point to the current web or list item or even access information from URL (query string parameter).
- As the workspace editor is a MatchPoint Web Part, you can configure it with the regular web part options like Chrome, Columns, etc.
- You can add the fields you like to the editor. It is recommended to define the fields in the workspace template and reference them in the workspace using FieldRefs.
Create a new Workspace
At this stage you have configured everything it needs to create a new workspace. You can add the configured Workspace Editor Web Part to a page and then use it to add a new workspace. The newly created workspace should be created in the location you specified.
Modify the workspace so it fits your needs
Modify the workspace you created in the last step by adding web parts, pages, lists and defining the settings to fit your needs. It is recommended - if this is required - to add a workspace editor to the workspace where the users can edit the metadata of the workspace.
Save configured site as provisioning template
Once the workspace is configured you can save it as a provisioning template which you can then later use as your site template in the workspace template.
Please note: To be able to do this, you need to go to the site settings of the site collection in which the workspace was created and enable the site collection feature named "MatchPoint Save Site as Template Action".
- To save the current workspace as a provisioning configuration, you need to go to the site settings of the workspace and choose "Save Site as Provisioning Template" from the MatchPoint-section.
- Type a file name for your configuration and press "OK".
- The created XML is then accessible through the dashboard by choosing "Provisioning Configurations" in the ribbon.
Adjust the saved Provisioning Configuration
Clean up the provisioning configuration: You can remove all items which are being added in the web template (document libraries, default lists and views)
Open the provisioning configuration and configure it to meet the requirements of a workspace.
Use the Provisioning Configuration in Workspace Template
Adjust the Workspace Template so it uses the Provisioning Configuration as TemplateExpression.
Test
Create a new workspace based on your adjusted configurations and test if everything works as expected. You can adjust your setup by either making changes in the provisioning configuration or be changing a concrete workspace and then saving it as a provisioning configuration again.