Snowflake enhancements
Performance improvement
Switching data aggregation from list based aggregation to search based aggregation
Environments with many Workspaces
If the environment has a lot of workspaces (default: above 5000), the list view threshold of SharePoint is reached. Due to this limitation some MatchPoint functionality cannot work correctly anymore (e.g. WorkspaceProvider). To fix this issue all configuration files that aggregate Publishing Workspaces have to do this through SharePoint Search instead of accessing the list directly.
To change to Workspace Aggregation Mode to Search for the Publishing Snowflake please perform the following steps:
- Use the cmdlet
Set-MPSWorkspaceAggregation
.- The cmdlet will change all workspace aggregation configuration files to use
SearchDataProviders
and enable the NativeRefinementSettings in the corresponding refinement configs. - The cmdlet also sets
ProviderType
toSearchDataProvider
in allWorkspaceRelationFields
in all relevant workspace template configurations.
- The cmdlet will change all workspace aggregation configuration files to use
Set-MPSWorkspaceAggregation -SnowflakeId PortalSnow -Mode Search -WebApp {WebApplicationUrl}
- Manual change required:
In MPS.Publishing.Streams.Workspace.xml configuration open Workspaces node and Change the ```WorkspaceAggregationMode``` to ```Search
Note: make sure that all backups created for MPSnow.Workspace.Template.xml have been removed, otherwise, there will be errors while implementing step 2.
In order to find out more about how Set-MPSWorkspaceAggregation cmdlet works, please consult MatchPoint Snow documentation, Post_Installation_Steps.md.
Furthermore it is recommended to avoid the workspace list entirely, to reduce query time when accessing the current workspace (MatchPoint needs to access the ListItem in the large list, which induces a significant performenace drop). This can be done by switching to the decentralized workspace mode; i.e. store the workspace item within the workspace web. Note, that this requires a search-based aggregation of workspaces.
To switch to this mode, all you have to do is to set the ListLocationExpression
in the workspace template to null
. Existing workspaces can be migrated to the
new concept by updating the workspace.
This process can be automized by using the MatchPoint CmdLet
Enable-MPWorkspaceItemInWebMode
. This CmdLet expects the following parameters:
WebApp
WorkspaceTemplateconfiguration
and has the optional parameter MigrateExistingWorkspaces
to move workspace items
of existing items. If this flag is specified, make sure to provide the
WorkspaceListUrl
of the list containing the workspaces that have to be migrated.
Enable-MPWorkspaceItemInWebMode -MigrateExistingWorkspaces -WebApp {WebApplicationUrl} -WorkspaceListUrl {WorkspaceListUrl} -WorkspaceTemplateConfiguration MPS.Publishing.WorkspaceTemplate.xml
Measurements with one test user on staging environment with ~350 workspaces resulted in a 18% page load decrease time on Publishing workspaces overview.
On the all-type Workspaces overview, an improvement of 12.59% on the page load has been noticed.