3

We have a site collection at the top level to create the navigation between the different site collections of all departments.

The desire is to have a central announcement board on the main page of the main site collection. I cannot however, find a web part that supports this behavior.

So my question in short: What web part should I use to show content from different site collections? Or is there no such web part?

  • Can you clarify if you really need to query across site collections or just sites within one site collection? Your post says you have a top-level site collection, but a site collection does not contain other site collections. – Laurie Aug 9 '11 at 15:28
  • You are absolutely right. I use manual links in the top level site collection to the site collections of other departments, so as you stated technically there are no levels. I use different site collections because i want to manage the quota's on document centers of the departments. – nldev Aug 10 '11 at 8:33
4

For querying across site collections you could use Fixed Keyword Query in a core result web part.

This is completely out of the box. You just specify a keyword query (use search box and experiment with managed properties like contenttype, url or other meta data) in web part properties.

6

There is no reason why you couldn't write your own web part to pull data from another site collection. There are various ways this could work.

  • As Marc mentions, you could use the web services.
  • There is, inSharePoint 2010, the REST API, which is nice in that it's a bit simpler to use.
  • You could use the Client Object Model, I think, to connect to the other Site Collection and pull back results - but the user would need to have access to those announcements!
  • You could use managed code - the the SPSiteDataQuery object is the core of the Content Query Web Part. This has the possible advantage that you can use elevated privileges - so you can retrieve items that the actual user doesn't have rights to.

Which to use? Well, it depends on your comfort, and the details of what you're trying to achieve.

  • This is a very nice answer. The desire however was to use out of the box web parts, i did not mention this in my post so you do get vote up, but i marked Anders as the answer – nldev Aug 10 '11 at 8:31
1

If you want a simple, no code solution, you could always open Sharepoint Designer.

  1. Create a blank aspx page on the site collection that holds the list you wan to display.
  2. Then, using Designer, insert a Data View web part of that list into that page (you can choose your columns, paging, etc in Designer). That creates a page that just shows the list, with no master page and locked content parts, just the list view of the information.
  3. Then on the destination site collection, insert a Page Viewer web part in, point it to that aspx page and adjust the height and width for optimum display.

It's not the most elegant solution, but it's simple enough for a power user to do (if they have Designer permissions) and one less customization to keep track of. Also, I haven't tried this yet, but it may work for even different farms if you have cross farm permissions and trusts set up properly.

0

There's no out of the box Web Part which will allow you to pull data from different Site Collections. Site Collections are hard boundaries.

You can, however, use the Web Services to do this, assuming your authentication model allows it. Take a look at my SPServices jQuery library at http://SPServices.codeplex.com. Alternatively, you can write a managed code solution.

There are also some third party products which facilitate what you are trying to do.

0

There are third party tools that will allow you to break the site collection wall and aggregate content as Marc mentioned. The Lightning Conductor web part from Lightning Tools is an example.

0

If you go for a custom web part, in SharePoint 2010 you can use the Core Result web part as a base class and override some of the methods.

By overriding ConfigureDataSourceProperties, you can set the query and perhaps gain greater control if the query is dynamic - or you can set a fixed query.

Notice that the data is only as fresh as the last crawl.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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