Displaying SharePoint Lists or Libraries in other sites 显示其他站点的List

Child objects within SharePoint, like a list in a Site, share an inherent connection with that Parent object. Today‘s blog is regarding the usage of one SharePoint object like a list and how we can project that list into other locations.

Now in the example here, the Engineering department wanted to create an interactive and collaborative list based around ideas for their weekly Monday night meeting and they want it to be easily accessible from the Engineering home landing page. The Discussion Board List template was an ideal match for this request and the list can be displayed on the landing page by editing it and adding the List View Web Part.

You can see it has been created underneath the Engineering site which itself is in a political site hierarchy design along with HR, IT, Projects, etc. underneath the parent Site Collection called Synergy Alternative Power. Traditionally, this list could be viewed here and/or displayed in a List View Web Part on the landing page of the Engineering site as shown here :

The issue with the List View Web Part is that it can only display List or Library content from the current Site Parent and below, ie - where are we right now? We‘re in the Engineering landing home page therefore we only have access to the lists and libraries (or objects) that reside underneath the Engineering site or parent object.

Now management have decided that the other departments will join the Engineering meeting and form a weekly Company meeting. The managers would like the Meeting Discussion Board displayed in a Web Part on the IT site landing page as well so that the IT department can view and add their own ideas.

Here a decision needs to be made from management and/or key stakeholders:

· Do we maintain one list or multiple lists? A very common question as SharePoint Administrators/Designers we need to ask our clients and one that I‘m faced with very often. Either is acceptable but one may be easier to secure, maintain or implement. If you choose to maintain one list then the following procedure will assist you. If you decide each department should maintain there own meeting ideas then I will attempt to cover this in my next blog. In that solution we need to aggregate data from multiple lists into one Web part should the need ever arise to collate all data.

While there are many different ways and web parts to achieve this in SharePoint 2010 I‘m going to share the best way I‘ve found to accomplish this and that is to save the List View Web Part of the List into the SharePoint Web Part Gallery for reuse. Here‘s how:

· Go to the page in which your Web Part resides, in this case the Engineering landing page.

· Edit in SharePoint Designer (SPD) from the Site Action menu. If SPD is not installed the option will still be in the Site Action menu and you will be prompted to download and install it.

Now you have two options here in SPD. You can either:

· Click Lists and Libraries on the Left Hand Navigation Pane

· Select your List or Library and then click on the default view from the Right Hand Side Views section

Or

As my list already appears in my Engineering homepage in a Web Part I can simply

· Click ‘Edit Site home page‘

· Now wait for the page to load in editing mode and highlight the Web Part you would like to distribute

· You will notice the List View Tools in green highlighted up in the Ribbon. Underneath this is four tabbed sections

· Select the Web Part tab

· On the far right hand side of the ribbon you have two options. ‘To Site Gallery‘ and ‘To File‘.

· Click on ‘To Site Gallery‘

Note: It‘s a good idea to Name the Web Part without spaces otherwise %20 will appear instead of the space wherever you use it. It‘s good practice to avoid spaces as much as possible in SP.

· Before saving to the Site Collection Web part Gallery you have the option of editing the web part before doing so by clicking Set Properties.

· If you‘re happy with them Click Ok

· After you click Ok a very important message appears in relation to what I was discussing in my introduction.

It asks Do you want the Web Part to always show List Data from the current Web Site (ie - the Engineering Site where the list resides)?

Or

Do you want the Web Part to show data from the list at the Site at which you place this Web Part?

In this case we will almost always Click Yes for our purposes but of course you have the option of utilizing separate Lists and List templates, etc.

· After clicking Yes you can now close SPD. We did not edit anything in SPD only use its functionalities to have access to the Edit View and Web part exporting options.

· Now go back to your Site Collection Home Page, in this case Synergy Alternative Power

· Click on Site Actions then Site Settings

· Underneath the Galleries section click Web Parts

· Your Web Part should now be available to the rest of your Sites in your Site Collection as it now resides in the Site Collection Web Part Gallery

Let‘s test it out by complying with the IT department‘s request to have the Meeting Ideas Web Part added to their Home landing page as well

· Navigate to another Site in your Site Collection

· Click Site Actions then Edit Page or Edit Page icon above the ribbon

· Click in the editable Web Zone where you would like to place the Web Part

· Click the Insert tab under the Editing Tools in the ribbon

· Click Web Part

· Under Web Part Categories there should now be a new Category called ‘Miscellaneous‘ that will contain any newly submitted items into the Web Part Gallery

· Click Add

· Click the Disk Icon above the Ribbon to save the page

Now if you get an error with any type of List or Library at this stage which I did (purposely of course :p) you will get the following error:

When this occurs you need to Click on the Link on the page ‘Web Parts Maintenance Page‘ to resolve the error. In this case there are two XSLT List View Web Parts and one of them has a conflict. Our newly created one needs to be deleted So highlight it and click the Delete option. To return to the page click Go Back to Web Part Page.

TIP: If you ever need to go to the ‘Web Parts Maintenance Page‘ simply add ‘?contents=1‘ (without the single quotation marks) at the end of the url in the address bar.

So why did this occur? You see there is a very important caveat to this whole process and one I discovered the hard way.

CAVEAT: Do not enable Management of Content Types on any List or Library you wish to Export or display on an external Site from the one in which it was created.

Now this did happen to me with this particular List as Management of Content Types is enabled by default. Most lists will not but very often when you want to alter content types this needs to be switched on so that you can. If this is the case and you still want to display the List elsewhere, don‘t alter the content type, instead attempt to create a new one, eg. Column content type.

· To resolve this we need to go back to our Site Collection Web Part Gallery and delete the custom Web Part we created.

· Then we need to make sure Management of Content Types is not enabled. There are a few ways to do this.

- The easiest is in SPD. In SPD go to your List and under Settings-> Advanced Settings un-tick Allow Management of Content Types as shown below:

- The other method is to navigate to the List Settings, click Advanced Settings and click No next to Allow management of content types? Then click ok.

· The Final Step is to proceed with the solution above all over again. Yes it‘s frustrating when you find out that Content types is on so it‘s a good idea to check beforehand and also inform the Site\List administrator of this issue as well.

The IT Site landing page will then have the list web part and both are updated as changes are made as it is pointing to the same original list.

时间: 2024-10-22 08:04:18

Displaying SharePoint Lists or Libraries in other sites 显示其他站点的List的相关文章

理解SharePoint Web Application和IIS Web Sites 和 HTTP请求

当你创建一个web application的时候,你实际上在IIS里面创建了一个站点.一个IIS站点有bindings,包含单独的IP地址,一个Host Header 和port.IIS通过Bindings来决定HTTP 请求是请求的哪个站点. 当一个用户请求一个网页的时候,比如http://intranet.contoso.com/SitePages/Home.aspx, 客户端发起了一个HTTP请求.客户端通过查询DNS来获取到Host(比如intranet.contoso.com)的IP地

SharePoint Iframe 报错“此内容不能显示在一个框架中”<续>

在之前的SharePoint站点iframe引用中,我们遇到过下面的问题,就是其它系统或者不通环境的SharePoint站点,引用SharePoint页面会报错"此内容不能显示在一个框架中",之前我们采取了解决方案的办法. 今天,无意中翻看msdn,发现了更加简便的方法,分享给大家. 原理介绍 在大部分情况下,如果网页在响应中发送 X-Frame-Options HTTP 头,则该网页将无法在框架中显示.默认情况下,SharePoint 网页包含 X-Frame-Options 头.如

SharePoint网站测试数据自动化系列——通过PowerShell创建SharePoint Lists

代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PSSnapin microsoft.sharepoint.powershell function CreateSPLists() { $sites = Get-SPSite if($sites.count -eq 0) { Write-Warning "There is no site available." CreateSPLists } else { Write-Host "C

在 SharePoint 2010 打开网页出错时,显示实际的错误信息

每次打开错误页面时,SharePoint出错显示的都是友好信息“发生意外错误”,而且友好到您基本上无法明白到底出什么错,怎么办? 修改Web.config文件配置就可以了,就可以显示更详细的信息: 1. 将<customErrors mode="On" />的mode改为"Off" 2. 将<SafeMode ... CallStack="false" ...... AllowPageLevelTrace="false

sharepoint column中的图片链接不能显示为图片

在sharepoint的list中定义了一个Calculated (calculation based on other columns) 类型的column,需要自动根据条件显示相对应的图片. 在Formula 中输入了以下代码: =IF([kpi status]="on time","/_layouts/images/kpipeppers-0.gif",IF([kpi status]="delay","/_layouts/image

SharePoint Iframe 一个错误此内容不能显示在一帧&amp;lt;继续&amp;gt;

在之前的SharePoint网站iframe引用中,我们遇到过以下的问题,就是其他系统或者不通环境的SharePoint网站,引用SharePoint页面会报错"此内容不能显示在一个框架中",之前我们採取了解决方式的办法. 今天,无意中翻看msdn,发现了更加简便的方法,分享给大家. 原理介绍 在大部分情况下,假设网页在响应中发送 X-Frame-Options HTTP 头,则该网页将无法在框架中显示.默认情况下,SharePoint 网页包括 X-Frame-Options 头.假

SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片

在"SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片"文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰度都不是非常理想.本文将介绍如何同步Exchange Server显示高清用户照片. 原理 与SharePoint Server 2010相似, 在SharePoint Server 2013中存在一个用户照片的目录.当SharePoint启用Exchange照片同步时, SharePoi

SharePoint 2013 Service 状态无法启动,显示“启动中(Starting)”

Problem 在SharePoint 2013 Central Administration中启动 SharePoint Service(也称为:Service Machine Instance)时,有时会出现"卡住"这种情况,直接的体现就是某个SharePoint Service一直停留在Starting状态,如下图所示: Resolution 当SharePoint Service的状态为Starting时,不管经过多少时间,仍然没有被启动,就仿佛被"卡住了"

sharepoint 部分site下的库不能显示正常名称,显示为&ldquo;error&rdquo;

错误现象: 部分site下的库不能显示正常名称,显示为"error",Navigation的部分也會顯示Feature '525dc00c-0745-47c0-8073-221c2ec22f0f' for list template '101' is not installed in this farm.  The operation could not be completed. 从故障现象分析,是缺少某个模板功能导致的,根据错误提示发现,所有错误site提示错误的GUID和对应的L