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:

  1. 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 to SearchDataProvider in all WorkspaceRelationFields in all relevant workspace template configurations.
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 (+)
      • 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
      • 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 (+)
      • 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 (+)
      • 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 (+)
      • 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 (+)
  • 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

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.

results matching ""

    No results matching ""