What is Filtering and Why Does it Happen?
MacroView DMS and DMS Pro provide a user working in Outlook, Word and other popular business applications with an intuitive tree-view display of all the areas in SharePoint for which that user has access permission. This MacroView tree-view display makes working with SharePoint feel as familiar as working with a tree of folders in Windows or Outlook.
There can be a lot of nodes at any level in the SharePoint tree – hundreds or even thousands of site collections in an on-premises web application or SharePoint Online tenant, many document libraries in a site and large number of folders in a library. MacroView seeks to be efficient when displaying its tree – efficient both in terms of user effort and machine resources. Key to that efficiency is the way MacroView automatically applies filters to its display of nodes in the tree.
A good example of this automatic filtering of nodes is when displaying site collections. Rather than display 1000 site collections, MacroView will prompt the user for some details that enable the user to drill down quickly to the site collection that the user wants to work with. The alternative of displaying all 1000 site collections would not only be painful to the user (who would have to cursor down through the site collections until he / she reaches the desired one); it would also waste significant server CPU and connection bandwidth, with consequent performance impacts on other users.
MacroView will also prompt you to filter when there are many:
- sub-sites and / or document libraries in a site
- folders or document sets at the same level in a document library
In summary, MacroView’s tree-view display is a key benefit for users wanting to manage documents and emails in SharePoint (on-premises or Online). MacroView’s ability to filter is key to making that intuitive tree-view feasible in a large SharePoint environment.
Configuring Automatic Filtering
MacroView provides the following configuration settings in Options – Appearance to control the operation of automatic filtering:
- Nodes to Trigger Filter
- Nodes to Block ‘Show All’
- Minimum Filter Text Length
The Nodes to Trigger Filter setting specifies the maximum number of nodes in an on-premises SharePoint Server environment that MacroView will retrieve without first displaying the filtering prompt. The default value for this configuration is 200 nodes, which has been shown to provide acceptable performance in most environments. Users with a low bandwidth connection and / or a slow or heavily loaded SharePoint server might want to specify a lower limit.
The Nodes to Block ‘Show All’ setting controls whether the ‘Show All’ button is displayed in the Filter dialog. The default value for this configuration is 500 nodes. If the number of sub-nodes is greater than the value of this setting, the Show All button will not be displayed. This is to prevent accidental retrieval of an excessive number of nodes, which wastes machine resources and can cause a timeout.
Figure 1: Show All button is not displayed if there is an excessive number of sub-nodes
These configuration settings can be viewed and adjusted using the File, Options dialog of MacroView and choosing the Appearance tab. These settings can also be deployed using Group Policy. In this case the user may be prevented from adjusting the values.
Figure 2: File, Options, Appearance dialog - note Nodes to Trigger Filter and Nodes to Block ‘Show All’ settings
Filter Hubs and Sites
When you right-click on a Server node in the MacroView tree-view, the right-click menu contains Filter Hubs and Sites.
In cases where a Server node in the MacroView tree contains many site collections, The Filter Hubs and Sites command makes navigation easier by allowing you to filter so that the only site collections displayed are those whose titles contain some text that you nominate.
To apply the filter manually, you right-click the top-level Server node and choose Filter Hubs and Sites from the menu.
Figure 3: Right-click a Site Collection to choose Filter Site Collections.
The filter dialog will appear (see below).
Figure 4: Filter Site Collections dialog.
If a manually applied filter is already present on the selected Server node, the previous filter text will be pre-populated by default.
Type in the text to be used for filtering and then click Filter. The filtered list of site collections will be displayed, and a ‘Filter’ icon will be displayed adjacent to the Server node to indicate that it has been filtered.
The Filter button will not be enabled until you have entered the minimum number of characters specified in the Minimum Filter Text Length configuration setting.
If the number of available site collections is greater than the Nodes to Block ‘Show All’ setting, the Show All button will not be displayed on the Filter Site Collections dialog. Otherwise clicking the Show All button is one way that you can remove an existing filter.
Figure 5: Server node filtered to show only site collection where title contains site.
If there are no site collections matching the entered filter text a message will be displayed advising that no matches were found, and no site collections will be displayed.
Filter Site Collections Applied Automatically
If the number of available site collections is greater than the Nodes to Trigger Filter setting, MacroView will apply a Filter Site Collections automatically as you attempt to expand the top-level Server node.
If the number of available site collections is greater than the Nodes to Block ‘Show All’ setting, the Show All button will not be displayed on the Filter Site Collections dialog.
Configuration Settings for Faster On-Premises Tree Display
In SharePoint it is possible that a user will have permissions to an area within a site collection, even though they have no permission to the top node of a site collection. In an on-premises SharePoint Server implementation, the default action of MacroView is to traverse each site collection to check whether you have permission to a node somewhere in that site collection. The traverse of a site collection stops when MacroView comes across a node for which the user has permission. If the user has no permission to any node in that site collection, MacroView will have checked every node in that site collection. Such traverses can consume a lot of server-side resources and result in poor performance when the user attempts to expand a top-level server node.
The MacroViewApplication Management page in the SharePoint Admin Console has three configuration settings that are useful for speeding up the display of an on-premises SharePoint tree:
- Hide No Access Site Collections
- Distinguish Limited Access Site Collections
- Server-side Caching
If Hide No Access Site Collections.is ON, MacroView will not traverse a site collection if the user has no permission to the top node of that site collection.
If Distinguish Limited Access Site Collections. is ON, MacroView will traverse a SharePoint tree that contains multiple permission breaks in order to display accurate expansion indicators on each node in the tree. Setting Distinguish Limited Access Site Collections to OFF prevents that traverse.
Server-side Caching (see below), significantly speeds up the checking of top-level nodes and the traverse down through those nodes. MacroView creates and maintains a cached copy of the details of site collections, sites and optionally document libraries that it needs in order to perform the traverse described above. These cached details enable traverses of large on-premises SharePoint environments to be performed much more quickly. Server-side Caching is particularly useful when there are many site collections – e.g. Personal Site Collections in an organization with a large user population.
If any of the following apply to your on-premises SharePoint Server environment, you should consider the above settings:
- Large number of Site Collections defined for a single Server (Web Application),
- Site Collections have large, deeply nested trees of Sites and sub-Sites
- Multiple instances of broken inheritance in the Site tree (i.e. sub-nodes do not inherit permissions from their parent node).
Office 365 / SharePoint Online Tree Display
When implemented with Office 365 / SharePoint Online (including OneDrive for Business and Teams) MacroView uses SharePoint Search to discover and display the tree of nodes for which the user has permission. While the internal techniques are different, the filtering still is governed by the Nodes to Trigger Filter and Nodes to Block ’Show All’ settings. The only differences are:
- The MacroView tree display stops above the first node for which the user does not have permission – MacroView does not traverse below that permission break to find more deeply nested areas for which the user has permission.
- New or changed areas in the tree will not be found until they have been indexed by the SharePoint Online Search engine. Typically this takes no more than 5 minutes.
Filter Site Collections by Favourites
This menu item appears when you right-click a Server node in the MacroView tree-view. It automatically filters the Site Collections beneath the server so only those that contain one or more MacroView Favourite nodes are displayed.
This can be a convenient and performant means of narrowing the list of Site Collections in a large SharePoint environment. It allows you to easily navigate easily to the Sites and Libraries that you use often.
Filtering Sites and Libraries
In cases where a site node in the MacroView tree has many sub-sites or document libraries navigation is made easier by the way MacroView allows you to filter these sub-nodes so that only those whose titles contain some nominated text are displayed.
To apply the filter, you right-click the Site node and choose Filter Sites and Libraries from the menu.
Figure 6: Right-click a Site to choose Filter Sites and Libraries.
The filter dialog will appear (see below).
Figure 7: Filter Sites and Libraries dialog.
If a manually applied filter is already present on the selected node the previous filter text will be pre-populated by default.
Type in the text to be used for filtering and then click Filter. The Filter button will not be enabled until you have entered the minimum number of characters specified in the Minimum Filter Text Length configuration setting.
The filtered results will be displayed, and a ‘Filter’ icon will be displayed adjacent to the Site that has been filtered.
Figure 8: ClauseBank site filtered to show only sub-nodes for which Title contains letter.
If there are no sites or libraries matching the entered filter text a message will be displayed advising that no matches were found, and no sub-node will be displayed.
Filter Sites and Libraries Applied Automatically
If the count of sub-sites plus document libraries in a site is greater than the Nodes to Trigger Filter setting, MacroView will apply a Filter Sites and Libraries automatically as you attempt to expand that site.
If the Sites and Libraries option is selected, the Show All button will only be displayed if the total count of sub-sites plus libraries does NOT exceed the Nodes to Block ‘Show All’ setting.
If either the Sites only or Libraries only options are selected, the Show All button will always be displayed. This is because SharePoint does not provide MacroView with separate counts for sub-sites and libraries. However if the number of relevant sub-nodes does exceed the Nodes to Block ‘Show All’ setting, no sub-nodes will be displayed, and the dialog will be re-displayed so that the user can enter a filter criterion.
Timeout when Expanding a Node
If expanding a node takes longer than the currently specified connection timeout limit MacroView will display the loading icon (see spinner on the left) in the tree-view and if appropriate the filter dialog.
Change or Remove Filtering
To change or remove the filter for the node enter a new filter or choose Show All to remove the filter from the node. If no matches are found no site or libraries are added to the tree-view.
Filter Folders
A document library, folder or document set can all contain folders. You can right-click on a document library, document set or folder and choose Filter Folders from the right-click menu – MacroView will prompt you to enter some characters and then display only those sub-folders whose names contain the characters that you have entered.
Note that if the document library has Metadata Navigation defined, you will need to click on the Folders heading node.
Figure 9: Document Library with Metadata Navigation filtered to show only Folders or Document Sets whose name contains proposal.
Note: The Folders node will only be displayed above managed metadata navigation if folders or document sets actually exist in the library.
Clear Filter
To clear an existing filter on a node, right click on the node and select Clear Filter. If the node was previously expanded it will update to show all child nodes. If there are more child nodes than defined by the Nodes to Trigger Filter setting, the filter dialog is redisplayed, so a new filter can be entered.
Navigate to URL
The Navigate to URL feature allows you to insert a known URL for a location in the SharePoint document store. MacroView will navigate you automatically to that location in the tree-view.
Within any MacroView tree-view display, right-click on the node for a Server (Web Application) or Site Collection and choose Navigate to URL.
Figure 10: Right-click a server node – menu includes Navigate to URL
MacroView will display the following form allowing you to type or paste the URL. When you click OK, MacroView will automatically navigate to the corresponding node in the tree-view.
Figure 11: Enter the URL of a location and MacroView navigates there automatically
Note: Navigate to URL also supports navigation to URLs that include a DMS Pro Protocol Handler prefix.
Minimum Filtering Width
Navigate to URL may well cause automatic navigation to a node that is deeply nested in the MacroView tree. To make such navigation efficient, MacroView will generally apply a filter so that there is only one node shown at each level – the node that is a parent of the ultimate destination node. The result can be a lot of filters in the MacroView tree. Not filtering (i.e. showing all nodes at each level) is only efficient if you have previously expanded those nodes. If this is the case, MacroView will retrieve that previous expansion information from the tree cache and may display multiple nodes at that level.
Figure 12: Nodes above the destination node (Agreement) filtered with minimum width for optimal performance
Open File Location
This option is available when you right-click on a result from a MacroView Search. Selecting this menu item causes MacroView to switch from Search to Browse mode and navigate automatically to the SharePoint location in which the search result is located. That location can be a document library, document set or folder. This is a useful way of browsing related documents – many of which will usually be stored in the same area of the SharePoint document store.
Note that behind the scenes, Open File Location performs a Navigate to URL. The result is that the levels above the destination node will be filtered so that only nodes on the path to the library are displayed.
Figure 13: Open File Location option on right-clicking a search result.
If the search result is a folder or document set, double clicking the item will navigate to the items location in the tree-view.
Search Site Tree
The Search Site Tree command is a quick and efficient way to find and navigate to sites (webs), document libraries, folders and document sets in on-premises SharePoint 2013, 2016 and 2019 servers and in Office 365 / SharePoint Online (including One Drive for Business and Teams.
A key advantage of Search Site Tree is that it is based on an indexed search of the nodes in the SharePoint document store, which will remain quick even when the SharePoint document store is very large (i.e. contains many nodes).
You can right-click anywhere in a MacroView tree-view (in Browse mode), select the Search Site Tree option and enter a word or phrase contained in the title or name of the area to which you wish to locate.
MacroView uses the SharePoint Search engine to find all sites and document libraries whose title contains the word or phrase that you have entered, and all the folders and document sets whose name contain the text that you have entered. You can also check Any of these words to find nodes whose titles / names contain any of the individual entered words.
The matching areas are found across the entire server in which the node that been right clicked is located. Nodes will be found no matter how deeply nested they are within the SharePoint tree structure.
Figure 14: Right-click node and choose Search Site Tree
In the following example the Search Site Tree facility is used to quickly locate nodes in a SharePoint 2013 server whose title contain the text ‘test’.
Figure 15: Enter characters in the Search box, tick the required result types to include then click Search or press Enter. MacroView lists nodes whose Titles or Names contain these characters. Note the paging at the bottom of the dialog.
When you double click or select an entry in the search results list and click OK, MacroView will automatically navigate to the corresponding node in the DMF tree.
Behind the scenes, MacroView performs a Navigate to URL. The result is that the levels above the destination node will be filtered so that only nodes on the path to the library are displayed. Intervening nodes will be filtered so that you can see how the destination node is nested in the SharePoint document store.
Figure 16: MacroView DMF navigates to the Document Library found by Search Site Tree.
The Search Site Tree results are paged so if there are more results that can be displayed on the first page, arrows will be displayed below the list of results. You can click the arrows to page through all the results. With previous versions of MacroView, Search Site Tree displayed a maximum of 100 results.
The Search Site Tree dialog allows you to specify the types of nodes that you are interested in locating. You do this by checking the appropriate boxes:
- Sites
- Libraries
- Document Sets
- Folders
If the appropriate configuration is performed using the MacroView Application Management page (See MacroView Installation and Configuration Guide), Search Site Tree can also find libraries based on custom list definitions whose Title contains the word or phrase that you have entered.