Link to home
Start Free TrialLog in
Avatar of Epistrophy
Epistrophy

asked on

Sharepoint 2010. Webparts on layout that gets data from top level site list.

Hi,

 I have a 2010 sharepoint top level site with multiple subsites.   I have some lists on my top level site that contain such as Upcoming Events and News items.  All my layouts use a webpart that display Upcoming Events and some also display news.  This all works fine for pages created in the Top Level site.  If I try to create a page using a layout  with these webparts in a sub site I get an error telling me the list does not exist.

“List does not exist. The page you selected contains a list that does not exist. It may have been deleted by another user. “

I tried editing the website properties to change the URL of the list but that does not work.  I also tried exporting the webpart at the top level site and importing it into the webpart gallery but that does not work either.

I am using the Content Query Webpart. I also have tired displaying a list view as a webpart as well but to no avail.  It seems like this should be part of building a layout. To display common information stored in one central site on layouts.
 
I have access to the site with Sharepoint designer as well.

Can I do this without buying a 3rd party product?

Thank you
Avatar of Epistrophy
Epistrophy

ASKER

Additional information. The webpart, when placed in a stand alone aspx page in a subiste works fine. It is when the same website is used in a layout, then a page created using the layout, that does not work in a subsite.
Avatar of Ingeborg Hawighorst (Microsoft MVP / EE MVE)
Hello,

Just off the top of my head, because I'm not in front of SharePoint right now:

You say you are using a CQWP. Could you switch to a DVWP instead? DVWPs can easily be integrated into a Page Layout. Initially they will use the current site, but by changing the Select parameters, they can be unlinked and use any source in the site collection.

I have a few DVWPs in my site, one even on the master page. They propagate nicely to sub sites with these settings:

<DataSources>
  <SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true" UseServerDataFormat="true" selectcommand="&lt;View&amp;gt;&lt;/View&gt;" id="dataformwebpart1">
    <SelectParameters>
      <WebPartPages:DataFormParameter Name="ListName" ParameterKey="ListName" PropertyName="ParameterValues" DefaultValue="Announcements"/>
      <WebPartPages:DataFormParameter Name="WebURL" ParameterKey="WebURL" PropertyName="ParameterValues" DefaultValue="/TheSourceSite"/>
    </SelectParameters>
  </SharePoint:SPDataSource>
</DataSources>

Open in new window


The key element is this bit:

      <WebPartPages:DataFormParameter Name="WebURL" ParameterKey="WebURL" PropertyName="ParameterValues" DefaultValue="/TheSourceSite"/>

Open in new window


The query source for CQWP is more complex and I've never tried to embed a  CQWP into a Page Layout. I will give it a try when I'm back in front of SharePoint tomorrow.

cheers, teylyn
I will give the DVWP a try this morning and let you know.

Thank you
I get the same problem.  Here is what I did.

1) Created a new layout with one webpart zone
2) Added a DVWP using a list in the top level site. (A simple orgainaztion list and I displayed on the Title)
3) Saved my layout.
4) Successfully created a page using the layout in the top level site.
5) Got an error when I  try to create a page with a layout in a subsite.

Here is the error.

Error
List does not exist.

The page you selected contains a list that does not exist.  It may have been deleted by another user.

Troubleshoot issues with Microsoft SharePoint Foundation.

Correlation ID: 2ac83d35-f55d-41dd-bb30-51535e0493b5

Date and Time: 4/12/2012 9:42:57 AM
Trying a different approach....
It does not work right out of the box. You need to edit the DVWP code and set the URL, as described in the link above.
In the link example his subsite that had the data was "marc".  Her eis his operative line.

     <WebPartPages:DataFormParameter Name="WebURL" ParameterKey="WebURL" PropertyName="ParameterValues" DefaultValue="/Marc"/>

In my case it is the site collection root on a development server.  

http://isvspwebprod:19023/

so should it be this?

     <WebPartPages:DataFormParameter Name="WebURL" ParameterKey="WebURL" PropertyName="ParameterValues" DefaultValue="http://isvspwebprod:19023/"/>

Is that right?

What about when this is moved to a production server? Will this link then break and all my web parts will have to be edited?

Thanks,
You should be able to use just the "/" to point to the root site collection
Ok.   I obtained the webID and pasted in the wepart as mentioned above.

I have been trying to get this to work and I keep getting the page creation error. Finally I built a brand new layout and I got the same error. I then deleted my wepart and the webpart zone.  I added back the webpart without the zone and it works!  I then added back the webpart zone and added the webpart again and I get the error.  

Is there a problem using webpart zones in a layout when you are creating pages in subsites?

the webpart zone code itself is very simple.


 <WebPartPages:WebPartZone id="g_B0B12C0D6C4A47BAA1CF7037EE6CA792" runat="server" title="Zone 1">
</WebPartPages:WebPartZone>

I am going to try to build my layouts without zones but I would rather not. I like the webpart zones.

Any ideas?
If you use web part zones, the user will be able to add/remove web parts from the page, even those that originate in the page layout. If you want to protect the web part from deletion or manipulation, then don't put it in a web part zone.
I want the users to edit the webparts. This will be public facing website. When the staff creates pages, they need to be able to filter and edit the webparts to tailor the page to their needs.

 The public user will of course not have permission to edit the pages

It is a top level site with 7 subsites all using the same master page and css.

I am doing some more testing.   So far the zones are the problem. I create a layout from scratch with a zone and a webpart and can't create a page. Without the zone no problem.  My webpart is n existing xsltListView. I am going to try with just a simple DVWP now.

BTW, I was following this approach.  http://sarpoint.wordpress.com/2011/04/29/sharing-one-list-library-across-multiple-sub-sites/

My layouts do not contain DVWPs so I would rather not switch because it would be a ton of work to do so but I may have to if I can get a layout example to work.
I am stumped.  

I can get a webpart to display list information on a subsite when the list is based on the top level site.  But as soon as I put that same webpart in a webpart zone I get a page creation error.

I know its the webpart zone because I can create a page with a working layout and switch it to the layout with the zone and I get this more specifc error.

"One or more web parts on this page references a zone that doesn't exist. It has been moved..."

I tried changing the title of the webpart zone but that does not do anything.   I have looked in the log file but I am at a loss to what is relevant. I see errors and I see what might be apermission issue, "cannot get user profile, no UserProfile",  but I am not sure it is.  I have full admin rights to sharepoint and the server.  I have attached a cut down version of the log file with just the relevant event info.
 
I am not sure what to do next.
log.txt
ASKER CERTIFIED SOLUTION
Avatar of Epistrophy
Epistrophy

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for getting back on this. Good detective work and valuable info.

Happy for you to mark your last comment as the solution.

cheers, teylyn
Basically there is no solution to the problem because of a Microsoft SharePoint limitation. Hopefully this will save others the time I spent trying to figure this out.