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 Newsroom Workspaces have to do this through SharePoint Search instead of accessing the list directly.
To change to Workspace Aggregation Mode to Search for the Newsroom Snowflake please perform the following steps:
- Use the cmdlet
Set-MPSWorkspaceAggregation.
- The cmdlet will change all workspace aggregation configuration files to use
SearchDataProvider
s and enable theNativeRefinementSettings
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 NewsroomSnow -Mode Search -WebApp {WebApplicationUrl}
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 empty value: ``.
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.Newsroom.Workspace.Template.xml
Measurements with one test user on staging environment with ~350 workspaces resulted in a 18.4% page load decrease time on Newsroom workspaces overview.
On the all-type Workspaces overview, an improvement of 12.59% on the page load has been noticed.
Environments with many News articles
If the environment has many news articles and teasers, it is highly recommended to switch to a Search Aggregation mode. This can be manually done by replacing each News overview list-based configuration with the coresponding search-based configutraion.
In order to switch aggregation to search, modify the following TabbedView configurations as described bellow:
- MPSnow.TabbedView.Content.xml (Content view)
- Tab: News
- Tab My
- Content: MPS.Newsroom.Content.Overview.xml -> MPS.Newsroom.Content.Overview_Search.xml (+)
- remove the proxy web part
- Refinement: MPS.Newsroom.Articles.RefinementMy.xml -> MPS.Newsroom.Articles.RefinementMy_Search.xml (+)
- Content: MPS.Newsroom.Content.Overview.xml -> MPS.Newsroom.Content.Overview_Search.xml (+)
- Tab Preferred
- Content: MPS.Newsroom.Content.Preferred.xml -> MPS.Newsroom.Content.Preferred_Search.xml (+)
- remove the proxy web part
- Refinement: MPS.Newsroom.Articles.RefinementMy.xml -> MPS.Newsroom.Articles.RefinementMy_Search.xml
- Content: MPS.Newsroom.Content.Preferred.xml -> MPS.Newsroom.Content.Preferred_Search.xml (+)
- Tab All
- Content: MPS.Newsroom.Content.Overview.xml -> MPS.Newsroom.Content.Overview_Search.xml
- remove the proxy web part
- Refinement: MPS.Newsroom.Articles.RefinementAll.xml -> MPS.Newsroom.Articles.RefinementAll_Search.xml (+)
- Content: MPS.Newsroom.Content.Overview.xml -> MPS.Newsroom.Content.Overview_Search.xml
- Tab Read later
- Content: MPS.Newsroom.Content.ReadLater.xml -> Content: MPS.Newsroom.Content.ReadLater_Search.xml (+)
- remove the proxy web part
- Refinement: MPS.Newsroom.Articles.RefinementReadLater.xml -> MPS.Newsroom.Articles.RefinementReadLater_Search.xml (+)
- Content: MPS.Newsroom.Content.ReadLater.xml -> Content: MPS.Newsroom.Content.ReadLater_Search.xml (+)
- Tab Archive
- Content: MPS.Newsroom.Content.Archived.xml -> MPS.Newsroom.Content.Archived_Search.xml (+)
- remove the proxy web part
- Refinement: MPS.Newsroom.Articles.RefinementArchived.xml -> MPS.Newsroom.Articles.RefinementArchived_Search.xml (+)
- Content: MPS.Newsroom.Content.Archived.xml -> MPS.Newsroom.Content.Archived_Search.xml (+)
- Tab Favorites
- Content: MPS.Newsroom.Content.Favorite.xml -> MPS.Newsroom.Content.Favorite_Search.xml (+)
- remove the proxy web part
- Refinement: MPS.Newsroom.Articles.RefinementFavorite.xml -> MPS.Newsroom.Articles.RefinementFavorite_Search.xml (+)
- Content: MPS.Newsroom.Content.Favorite.xml -> MPS.Newsroom.Content.Favorite_Search.xml (+)
- Tab My
- Tab: News
- MPSnow.TabbedView.Portal.MyNews.xml (Portal page)
- Tab News
- Content: MPS.Newsroom.Portal.MyNews.Overview.xml -> MPS.Newsroom.Portal.MyNews.Overview_Search.xml (+)
- remove the proxy web part
- Content: MPS.Newsroom.Portal.MyNews.Overview.xml -> MPS.Newsroom.Portal.MyNews.Overview_Search.xml (+)
- Tab News
Measurements on the Homepage with one test user on staging environment with ~30 News articles resulted in a 0.75% page load decrease time. This means views coresponding both aggregations behave the same on low ammount of content. Improvement can be noticed on search/filter due the removal of the proxy web part which is a high resource cosumer. For a lot higher ammount of News articles (thousands), Search data provider is proved to be much faster.