编程访问“我的网站”中的目标链接门户列表

大家都在谈内容推送,其实SharePoint Portal Server 2003中有一个很好的功能可以帮我们实现这个功能。可以将内容的链接主动的发布到个人网站的“您的链接”Web部件区域里。配合访问群体,就可以实现按照用户在组织中的角色(或者说在活动目录中的从属关系、特定的属性信息等)来决定显示用户所关心的内容。这样当用户打开个人主页时,所有与自己相关的信息都摆在了案头,岂不是很方便。

如何操作呢,其实很简单。管理员可以在“网站设置”的门户网站内容一节中的“管理我的网站上的目标链接”中添加、编辑。

进一步,我想要通过编程来实现上述的过程,通过参考sdk,实现代码如下:

TopologyManager tm = new TopologyManager();
PortalSite ps 
= tm.PortalSites[ new Uri("http://testsrv") ];
Microsoft.SharePoint.Portal.PortalContext ctx 
= Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid guidTopics 
= AreaManager.GetSystemAreaGuid(ctx, SystemArea.MySite);
Area areaMysite
= AreaManager.GetArea(ctx, guidTopics);
System.Guid[] guids
=new Guid[1];
guids[
0]=new System.Guid("{00000000-0000-0000-0000-000000000000}");
areaMysite.Listings.AddListing(
"Example","",ListingType.ExternalUrl,"http://www.example.com",guids);

为一串零的ID代表的是“所有门户用户”这个特殊的访问群体。这里只加了这么一个访问群体。当然我们也可以指定多个了,只需要获取相应的ID加到这个数组里就可以了。
这里可以看到“我的网站”实际上是一个特殊的门户区域,我们要操作的就是这个区域下的门户列表。这里我添加了一个外部链接作为我们要推送的内容。有关更详细的门户列表操作,请参考sdk.

posted @ 2006-10-13 21:08  Sunmoonfire  阅读(1680)  评论(2编辑  收藏  举报