How to manage multiple lists

Copper Contributor

Hi,

 

We have a Sharepoint site which we use for product development.  In the lack of a proper PLM system as yet we are storing all the relevant documents for hundreds of projects within this site.

 

We need a solution for the next couple of years to track project progress and I have been considering using the Tasks App.  This would mean generating a new app for each of the projects in development which, as far as I understand, means adding a new custom list for each one.  That would mean hundreds of lists within the site.

 

Is there a way to manage all of these lists?  Put them in a folder or something?  Otherwise the site contents is going to get very messy very quickly!  Or a better solution within Sharepoint than using a custom list for each project?

3 Replies
Hi,
You don't you try using 'Document Sets'?
Hi,

Do you mean store all of the custom lists in a document set? I wasn't sure that was possible?

@BangorKeith , I'm trying to do this, too. I actually have a solution for you, which you'll hopefully like, but I'll quickly pretend like I don't and say why / how I'm having the same or similar issue here.

 

By the way, this message system screwed up my numbered lists in here, and I can't be bothered to try to fix it / beat the system ... I'll try to come back and make everything look nicer later.

 

My Issues

I thought I could handle it by simply adding a managed termset with hashtags in the site that they're in, then have that column in the site contents. However I can't seem to get any more columns to add to the "site contents" after I've added the columns or termset.

 

Obviously (for me) the hashtag thing is ideal, because then the users gradually build the right metadata (with pruning from my team) to categorise the many lists contained within. But I can't even get any more columns to appear.

 

@Sudharsan K 's Solution

This would actually be pretty good on a small scale for a small company, which (forgive me for saying) it sounds like you are. But I haven't (in an admittedly brief search) seen how one would create a document set for lists. But it seems ideal.

 

There is maybe one shortcut to maybe a similar functionality to this, which would be the site settings, some site setups show a link to all of the site's lists. Perhaps something can be done there, especially if it's using a hidden content type or something.

 

First, Easy, Solution - A List of Lists

If you have multiple lists (and who doesn't, I can't believe there's no management of them by now) then this is a simple 5-step way to manage them, and add functionality to a site.

 

I've also created a listId/GUID to URL converter here that you can insert into your flow like I have:

https://powerusers.microsoft.com/t5/Connecting-To-Data/SharePoint-ListId-GUID-to-URL-Converter/m-p/5...

 

  1. Create a products list.
    (my images are from my own one, which actually used this to fix my flow!)
    03-00 - LIST OF LISTS list.jpg
  2. Open up Flow and create a Scheduled Flow
    03-01 - LIST OF LISTS basic flow.jpg
  3. First we need to setup the data retrieval and any variables:
    03-02 - LIST OF LISTS setup and variables.jpg
    1. Create a Get_lists action for the site with all the lists.
    2. Create a Get_items action for the products list.
    3. Create an integer variable.
  4. Now we process the data that we've taken:
    03-03 - LIST OF LISTS does the list exist.jpg
    1. Create an Apply to each action on the Get_lists value field.
    2. As the first action create a Filter array action to filter the Products list by the current value from Get_lists (ie which list the flow is currently handling).
    3. Now set the value of the integer variable by counting how many times the current list pops up in the Products list.
  5. Finally we need to work out if that number means anything, so using a condition we can assume that if the listId doesn't crop up in our Products list at all it needs to be added:
    03-04 - LIST OF LISTS if it does not add itt.jpg
    1. Add a condition to check if the integer variable is equal to 0.
    2. If yes then create item in the products list with the details of this new list.
    3. If no then nothing.

 

Obviously you can complicate this however you want, and I apologise for my formatting being a little bland above, but I'm tired. Basically, this will maintain a list of all the lists that exist on your site, and you can then place that list on any site page, and link to it (or the page it's on) from anywhere in 365.

 

You might want to consider a next step of checking for lists that don't exist anymore, and certainly think about any alerting that you might want ... but I'll leave all that to you. ;)

 

My Second, Better Solution - Project management Hub Sites

Treat each product as a "project" and give it its own site. I believe that you've already said that you operate the Products as Projects, so this is really just an extension.

 

In case I've misunderstood. If you've thought of this, or I'm seemingly like I'm speaking down, I'm just trying not to assume anything, so apologies if that's the case ... anyway ... hear me out. ;)

 

Ideally, within SharePoint each project exists within its own site, in order to give it autonomy, and provide its own unique set of resources, which can include its own team (for project specific talk), planner (for project specific ... planning), and even mail boxes, and more.

 

To do this, one would ideally create a project hub site for all projects, then a theme/template for the sites that are created within that hub site. This allows you to control how each project is created, ensuring that each one has specific stuff in it.

 

You can shortcut this by using Power Automate (Flow from now on) until you're ready to start messing with all the site templates, etc. Luckily, there's also ways of snapping around the system to avoid using the dreaded/paid API connectors.

 

The only thing I haven't addressed here is removing the "Create site" button on the hub, but that's another groan for another day.

 

So ... Let's make a Product Hub  (more images will come later, I'm just needing to finish this mega post!):

  1. Make the Hub Site:
    1. Convert your current products site into a hub site.
    2. Once it's a hub, grab the ID. There's lot's of discussion online about how to do this, but I have found using the browser inspect tool the easiest way to get this, and also noted that the ID is different to the one shown using the webapi method which doesn't work to add hub sites.

      To do this you need to:
    3. Go to the Hub home page, and ensure that the browser's inspector is running and on the network tab.
    4. Once the Network traffic has basically stopped, click the 'Create Site' button, you'll see a URL that might begin with CreateGroup, the full url will be:

 

 

 

[Site URL]/_layouts/15/CreateGroup.aspx?hubSiteId=[Hub Site ID]​

 

 

The Hub Site ID at the end is what we want here, so keep a copy in a notepad.

 

  • Then create a list in that site with an appropriate, but one word name, this will operate a bit like the list of lists in my previous suggestion.
    (rename it later to something attractive, that's to ensure a decent name in the url)
    01-01 - products list.jpg
    There are more complicated alternatives, this is just a simple first version, add some other values if you like.
    01-02 - products list - ready.jpg
  • Now we need an attractive form on the front page of your Products Hub:
    1. Open up Microsoft Forms, and create a new form, with these questions:
      01-03 - New Product.jpg
      1. Short Text - Product Name
      2. Short Text - Product Short Name (used for the URL, here, but could be useful otherwise).
      3. Long Text - Product Description
      4. Grab the url for the form once done.
    2. Back in the Hub front page, edit the page, and add a Microsoft Forms webpart, and enter the URL of your form, then publish the page.
      01-04 - Hub Page Done.jpg
  • Now that the basic front end is done, we need a back end, time to Flow, create a flow on a new form submission.
    02 - New Flow.jpg
  • Here's the basic layout of the flow:
    02-00 - Flow Basic.jpg
  • Now make sure that you get the response details of the Form when submitted. My test variable is there so that I can quickly test stuff out, it's in all my flows.

    Ensure that you select the form that you just created here.
    02-01 - Initial Details.jpg
  • Now we need variables ... you can choose to do a lot of this work with Compose actions, but I find that if you get used to creating variables, you'll get more use out of the functionality in the future.
    02-03 - Variables.jpg
  • Now to the endgame, this has three sections, processing the data, creating the site, and followup:
    02-04 - Endgame Basic.jpg
  • In your processing, there's a bit more to go on, too, we have to work out the shortname, user details, and information for the list:
    02-05a - scopes.jpg
  • You'll first need to ensure the shortname is all one word:
    02-06 - scopes product short name.jpg
    I've only done a simple space removal here, ideally you should do more (symbols, etc). 
  • Now we can populate the list with information, firstly we create an entry with the information that we've gathered so far, then we grab the list item id for that, then we generate a unique url. The URL part is optional but it makes a basic taxonomy which differentiates the groups and site urls from others):
    02-07 - scopes list stuff.jpg
  • Parallel (or after) to this you can just ensure that you have some of the user's basic information:
    02-07 - scopes user stuff.jpg
  • Now we do our little cheat to create the site, use the Azure AD 'Create a group' action to make a group, use the information that we've generated previously to fill the relevant sections here. You will need access to create groups (if you're a SharePoint Admin you may have this, otherwise ask IT).

    We'll then Delay for a minute, then add the user to the new Group, via their UPN generated earlier.

    Finally we join our brand new site to the hub site using the SharePoint 'Join Hub site' action. This is where we call on the URL that we generated earlier as the requesting site, and paste in the Hub Site ID (which will never change) to associate it to.
    02-07 - scopes group and site stufff.jpg
  • Finally just enter some follow-up actions, and / or notifications, perhaps to yourself, definitely to the user involved, to let them know that it's all good to go, and up and running. Alternatively, you may want to go through an approval process.

That's it! You've basically created a very simple governance / taxonomy / naming convention, as well as ensureed that sites are all made the way they should be (you can get super complicated if you like) and now each product has its own defined area.

 

Plus with your main products list that you've created, you can start using that to centralise a lot more information on the products.

 

It's obviously important not to take all of this literally, I'm not dictating what you do here, but hopefully this provides some inspiration. :) 

 

Oh, and again ... sorry for the formatting, but I can't even with this thing.

 

Best

Eliot