We have a problem which most of the organizations face. We have a team site created for each of the project in our organization. There are 100-300 project sites being created every year. Each project site associated with metadata like project name, code, status, risk, start date, end date, project lead etc. We have tried both ways 1. add them to site property bag 2. Also, as a SharePoint list with content type to save the project site metadata.

We have common structure for each project team site, like 5 libraries, content types, workflows. When a user is searching for a keyword in search center the OOB search is able to bring all documents fine without any issues which matches the keyword.


Scenario 1: A user may have more than one project as a project lead. Project lead field is mapped to search mappings. And it can be refinable. When they select this refiner in search center, we able to pull the project sites for them, but not documents for that site because they aren't tagged to each document. Using OOB search there is no possible way to achieve this.

Scenario 2: We cannot add site metadata to each document in site as site metadata can change any time and it is not really possible to update all documents when it happened (problems like workflows are running on documents etc.)


Temporary solution is to do custom search with 2 round trips to search API. 1. To get all sites belongs to a project lead. 2. And then scope the documents to those site collections. This isn't going to be a scalable solution due to number of sites growing time to time.

Anybody has any recommendations? Any ideas?

Thanks for the time.


1 Answer 1


You are right, this is a common problem. I solve some of your issues by using a standard list with a custom content type. I create a new page to search for the sites (the Site Catalog) and then create refiners for that content type. The challenge as you indicate is that the contents of the site is not tagged or does not "inherit" this metadata. You can build a UI that executes the second query against the first path, but as you say this is a lot of work. The other option would be to provide a "Search this site" link that pops a new window with a query parameter that specifies the target site so they can find the site and then click to search inside it.

You can read my opinion and get links to all the videos that I use to demonstrate this approach here: https://www.ableblue.com/blog/archive/2017/07/11/stop-using-the-property-bag/

  • I believe what you described is already what I have tried and implemented. But, that isn't what the implementation I was looking for. I need a way to get documents from across the sites where I am a project lead. See the solution I mentioned in my original question. Thanks anyway for your inputs here Matthew. May 16, 2019 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.