本文转自:
最近使用微软的Sharepoint Portal Server(SPS)为单位开发了新的门户网站,因为是微软自家的产品,因此与Active Directory、Exchange、LCS等都有很好的整合。在整个部署过程中发现有很多值得记录下来的经验,一方面用来备忘,一方面与朋友分享。
一、关于固定IP地址的问题
在安装完Sharepoint后,首先要对一个网站进行扩展,也就是新建一个门户网站。经过我的反复测试这里扩展的网站{zh0}不要指定固定IP地址,否则在日后的使用中会出现很多问题,如Frontpage无法编辑页面,WEB内容编辑器webpart无法使用等。不知道这是SPS的bug还是我的bug…
二、关于匿名访问与用户登录
SPS更适用于一个公司或团队内部,并不对外开放。但是对外开放的需求也是很常见的,我们需要的就是对内部人员开放权限,对外部匿名用户只有阅读权限。SPS也有这样的匿名访问设置,但是设置以后,我们会发现内部用户也变成了匿名用户,连管理员都无法对网站进行管理。解决这个问题有两种方法,一是为网站设置两个入口,即一套数据承载两个入口,一个匿名一个需要身份验证。具体参见http://sps.forever.net.cn/oceanstudy/SharePoint/如何匿名访问SPS门户站点/anyosps.html 。另外也有一个更好的方法,就是在页面上放置一个“登录”按钮,这样不用设置两个入口,在匿名访问的页面上点击登录即可输入用户名和密码,更符合我们的习惯。设置方法如下:
step 1:将SPS开启匿名访问(IIS里开匿名,再在SPS的网站设置里开启匿名)
step 2:在c:\inetpub\wwwroot(这是对应SPS网站的虚拟目录)下的web.config里加入一个key:
<appSettings>
<add key=”SPS-EnforceIISAnonymousSetting” value=”false” />
</appSettings>
step 3:把WSS网站的登陆按钮用FrontPage2003直接拷贝到SPS网站上需要的位置上。这个按钮其实就是一个webcontrol:
<WebPartPages:AuthenticationButton runat=”server”/>
这样,登陆按钮就可以使用了。
三、浴火重生的Frontpage
曾几何时,Frontpage已经被我深深的遗忘和抛弃,Dreamweaver在很多方面都超越了他。但是微软就是微软,Frontpage因为SPS而重获新生。SPS的页面都是可以通过Frontpage来编辑的,比通过页面编辑功能更多,而且可以个性化定制。比如可以跨区域添加webpart、添加blog部件等。但是适用Frontpage编辑后页面的Ghosting Page特性会被破坏,对Ghosting Page的修改会记录在Docs表的Content字段中,默认时该字段为Null,但当我们修改后,该字段中就会用来存储我们的修改信息。要想还原其实就很简单了,只要把该字段置为空就行了。
四、如何去掉最上面的“帮助”链接
SPS页面最上方的“帮助”链接是写在webcontrol里的,我们无法通过常规方法修改掉。不过也有变通的方法,可以通过js脚本来完成。
基本操作过程如下:
1 定位OWSBROWS.JS文件,这个文件在%SystemRoot%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\template\layouts\2052目录中
2 在该文件中加入一个Window Load事件响应函数,以删除帮助链接,源代码如下转载自MSD2D:
window.attachEvent(“onload”, new Function(“DelHelp_OnLoad();”));
function DelHelp_OnLoad()
{
try{
var aTags = document.getElementsByTagName(“A”);
for(var j=0;j<aTags.length;j++){
var aTag = aTags(j);
if(aTag.innerText==”帮助”)
{
aTag.innerText=”";
break;
}
}
}
catch(e)
}
}
3 保存后刷新网页即可看到效果
另:OWSBROWS.JS作用于所有网页,修改之后SPS所有网页都将没有帮助菜单。注意编辑OWSBROWS.JS文件时注意该文件是UTF-8格式,注意保持格式,特别是中文版SPS,我一开始没有注意,始终不能使aTag.innerText==”帮助”条件成立。 修改之后的效果你可以看到帮助链接一闪之后就消失了,这是因为实际上SPS是将该链接生成并送到浏览器了,而加入的代码在页面加载时在将该链接去掉所以看不到,实际上在页面的HTML源代码中还是看得到这个链接的。
五、如何为SPS的列表库设置权限
很多用户发现SPS权限设置的最小单位是区域,而不能想WSS一样为区域中的列表或文档库设置权限。其实是可以的,只是微软把这个功能给屏蔽了。我们分析数据库后就可以发现SPS的区域信息和WSS的网站存在一个表中,而他们的列表库也是存在另外一个表中。这样对比字段后就可以发现其中的奥秘。具体修改方法如下:
修改XXX_Site数据库中的Webs表的对应区域的记录的SecutiryPrivoder字段的值为NULL,在Portal站点中修改列表配置的页面中就会自动出现修改列表权限的链接。还应该注意webs表和webpart表中AnoymousPermMask字段的数值,该字段用来控制是否能够匿名访问,设置为0则无法匿名访问,196609则允许匿名访问。
六、关于公文流转
SPS 2003目前还没有自带公文流转的功能,kaneboy开发了一个webpart,不过使用效果也不是很好,还是让我们期待Office 12吧,新SPS将原生集成OA流程。