views:

60

answers:

3

Hello, I'm still learning Sharepoint and all of its various concepts, so apologies in advance for my ignorance. Here's what's going on - my company is moving a whole bunch of forms from another application into Sharepoint as InfoPath forms. Each InfoPath form is a Sharepoint list. So, we've got something like 300 different lists representing these forms.

My task is to put these lists on a page in some kind of reasonable format, meaning we need to present them in more reasonably-sized groups. Essentially, what I think I need is a list of lists. I've seen a few discussions here on this topic, all of which end with "Sharepoint doesn't provide a list of lists you need to do it yourself". I attempted to use a Content Query web part, but that only could get me the items inside each list, which in this case isn't what I want - I want the Sharepoint list itself.

From what I've read, it sounds like some custom code can build what I want. Is there any other way for me to group these lists?

Edit for more information: Part of the problem we have is that we aren't sure how to group the lists. I believe what Tom says below, that it's pretty easy to get a list of all the lists. But somehow, we still have a need to get the lists into the appropriate buckets.

For example, let's say there are 10 lists, and we want to group them by department. The first three belong to HR, lists 4-7 belong to IT, and lists 8-10 are Executives. Even with a custom code solution, we still need to make that connection, and I'm not sure how to do that (easily). If that's going to be a manual process anyway, it seems like a master list like @strongopinions suggests will be easier than a custom code solution?

A: 

You could create a list of links in SharePoint to act as a "master list." This list would contain URLs to each of the other lists. Then display your "master list." This would have to be created by hand though. Other than that you would probably have to use custom code to generate the list.

strongopinions
A: 

I got this working using SharePoint Designer and a DataFormWebPart.

Steps:

  1. Open the SharePoint site by clicking File -> Open Site and entering your site's URL (Ex: http://servername/sitecollection/subsite)
  2. Open the page you will be adding the webpart to (Ex: default.aspx)
  3. Click in one of your web part zones
  4. Add the DataFormWebPart by clicking Insert -> SharePoint Controls -> DataView
  5. In the Data Source Library pane on the right, under XML Web Services, click Connect to a Web Service.
  6. Enter in a service description location to the Lists.asmx web service (Ex: http://servername/sitecollection/subsite/_vti_bin/Lists.asmx)
  7. Click Connect
  8. Choose GetListCollection for the operation
  9. Click on your newly created Lists datasource and click Show Data from the dropdown
  10. CTRL+Click to select DefaultViewURL and Title
  11. Click Insert Selected Fields as.. -> Multiple Item View
  12. Save your page and you're done!

P.S. You can also use something like this to generate a nice link:

<a>
  <xsl:attribute name="href">
    <xsl:value-of select="@DefaultViewUrl"/>
  </xsl:attribute>
  <xsl:value-of select="@Title"/>
</a>

Edit Shoot. Didn't see the SharePoint2010 tag... these are instructions for SharePoint 2007. I'll leave this answer up here in case it is helpful.

Kit Menke
A: 

I think the most flexible solution would be to create a custom webpart. With Visual Studio 2010, creating and deploying webparts is easier than ever before and the code to list all lists isn't very difficult either.

Not that I don't like SharePoint Designer, but I don't like to call the SharePoint webservices from inside SharePoint. It doesn't sound really performant.

Let me know if you need some help with the code.

Tom Vervoort