2011-11-23 45 views
-1

基本上,我有一个List,将由用户维护,其中包含一个包含指向RSS提要的链接的字段。我正在寻找一个Sharepoint Webpart,它可以查询RSS提要URL的列表,然后显示它

我尝试过使用OOTB RSS,它很棒,但您必须指定供稿网址,并且我需要基于用户选择。例如,用户将从列表中选择他们想要查看的供稿,这应该将它们带到供稿阅读器页面,该页面将使用他们的选择来获取供稿URL并将其显示在页面上。

+0

这可能与我们的产品[赛末点(http://www.colygon.com)来完成。 MatchPoint是SharePoint的应用程序框架。其中一个特性是[连接框架](http://www.colygon.com/technical-features/service- layer-and-api/connection-framework),它简化并改进了Web部件连接。 – Stefan

回答

0

另一种不是一般的Sharepoint解决方案是使用jQuery。

该列表在页面上可见吗?还是仅仅是Sharepoint中的列表?

当然你可能需要某种代理才能调用rss-feeds,如果它们被放置在另一台服务器上。但你会发送到客户端的性能,而不是服务器,这是一个加号。

0

我的解决方案是使用WebPartPages Web服务(SaveWebPart)更改Web部件的定义,以使用新的提要URL点击Feed。

我创建了一个javascript函数,它将接受提要URL并进入显示提要的页面。直到下次访问该页面时才会加载新的订阅源,因此如果您已经在其上,则需要重新加载,因此需要重定向。

有关请求格式和Web部件XML格式的更多信息,请参阅以下页面。 http://msdn.microsoft.com/en-us/library/ms774839%28v=office.12%29.aspx

function SetFeed(feedURL){ 

var webPartGUID = $("#<WebPartID>").attr('webpartid'); 

    // This is where you set the page URL, Full Web Part XML (including path to FEED), 
    // storageKey (webPart GUID), and storage type (none, personal, shared) 
var soapEnv = "<FULL SOAP XML>"; 


jQuery.ajax({ 
    url: "http://<SITE PATH>/_vti_bin/WebPartPages.asmx", 
    type: "POST", 
    dataType: "xml", 
    data: soapEnv, 
    beforeSend: function(xhr) { 
     xhr.setRequestHeader("SOAPAction", 
     "http://microsoft.com/sharepoint/webpartpages/SaveWebPart") 
    }, 
    complete: function(xData, status){ 
     window.location='REDIRECT TO FEED PAGE'; 
    }, 
    contentType: "text/xml;charset='utf-8'" 
    }); 
} 
相关问题