今天晚上回来不是特别的忙,仔细扒了扒MSDN Blogs里面的SharePoint相关的Blog,几个连接大家分享。
在几个Blog里面都看到了MOSS和WSSv3的最新版SDK发布到MSDN上面了,但是现在只能在线阅读,离线的CHM版本还停留在Beta2TR阶段。对于两者的区别还不清楚,先把连接给大家列出来吧:
WSS SDK here
MOSS SDK here
在MOSS2007产品组的Owen Allen 的Blog上面看见了他发布的四个连接,分别是WSSv3和SharePoint2007的单机和服务器场部署指南。这些文章好像是这两天才发布到TechNet上面的。先记录在案:
WSS – Single Server
WSS – Server Farm
MOSS – Single Server
MOSS – Server Farm
现在还没有中文的MOSS版本出现,所以我想我会先翻译WSS的版本,估计到时候会配上中文版的WSSv3的截图,大家为我祈祷吧!
今天上午WSS3.0提供下载了,中文版也一同发布了。正好手头有一个.NET Framework 3.0的虚拟机,立刻就把这个东西装上了。感觉不错。安装过程很顺畅,没有BETA2时候安装不长的问题了。安装过程和MOSS2007 BETA2的安装过程很像,但是缺一些东西,估计这些就是区别。
现在发现的和MOSS2007的区别是MOSS2007独立模式安装的时候,会安装一个SQL Server 2005的Express版的引擎,这个引擎可以通过标准的SQL Server 2005的管理工作室进行管理。而WSS3.0独立模式安装的时候,数据库引擎是一个SQL Server 2005的嵌入版。在使用SQL Server 2005的管理工作室的实例列表当中可以看到他创建的实例,但是不能连接,提示“引擎不提供远程连接功能”。估计这就是SQL Server 2005的Express版和嵌入版的区别所在,还有就是嵌入版默认的安装位置是%windir%\SYSMSI目录。我是第一次知道有这样一个SQL Server 2005的版本存在,需要研究一下这个版本的特性。
WSS3.0的内存消耗堪称一流,我的机器上除了企业版的SQL Server 2005以外,就是这个WSS3.0和其附带的嵌入版的SQL Server 2005了,这个时候内存占用达到了850兆。不知道MS怎么想的,这个内存的消耗是在太大了,虽然现在内存便宜,工作组服务器也不贵,但是这样的内存消耗也太大了点…在虚拟机里面有点实在吃不消了。
在前两天随.NET Framework 3.0一起发布的VS.NET 2005的WSS3.0扩展是个很不错的东西,除了带有Webpart模板意外,还能创建站点定义。这个可以看看陈曦的blog里面的描述。
前面一段时间我的blog里面的文章少了,但是随着.NET Framework 3.0和MOSS2007的到来,各样的文章会如潮涌一样上来的…敬请关注
一直没有安装好beta2TR,这几天正好参加TechEd2006,回来后坚定了不做这个升级的信心。
安装不好的主要表现在按照随MOSS2007beta2TR一同下载的升级指南的指示一步一步做下来并不能实现升级指南的效果。问题出在WSS的Search:无论使用LOCAL SERVICE还是域管理员、无论使用原有数据库名字还是创建新的数据库名称,都无法重新启动WSS的Search。在TechEd上面问问了OTEC里面的几个微软的MOSS2007的专家,大家都表示不是自己装的虚拟机,使用的是别人装的。微软还有中文版的beta2和beat2TR的安装介质,但是并不提供下载也不为合作伙伴提供。
挑着听了TechEd上面的比较前沿的几个MOSS2007的课程,感觉大家并没有都在用Beta2TR来做自己课程的演示,再有就是有消息Windows Vista正式版会在10月底11月初这段时间上市,这前后RTM版的Vista和Office2007将可以在MSDN上面下载,相应的中文版本应该在英文版的10天以后可以开始下载。看看日历,也就还剩一个月的时间了。
综合上面两点,即使MOSS2007beta2的对象模型与beta2TR以及RTM会有一定的区别,但是并不足以影响其它对MOSS2007的学习与评估。所以决定这一篇“下”,不写Beta2TR的部署安装了,鼓舞大家等正式的RTM吧!
准备分两次介绍MOSS2007beta2单机开发环境的创建,第一部分主要是基本的创建过程,第二部分是主要是由beta2升级到Beta2TechRefresh的过程。
看我Blog的人,大约都已经看了kaneboy和ocean的介绍了,但是我还是要说说我创建MOSS2007beta2开发环境的创建,主要我觉得他们的写的过程,我觉得并没有把所有的事情都讲清楚。我的文档是根据英文的Deployment Guide for Office SharePoint Server(Office SharePoint Server部署指南,简称MOSS部署指南)实践后编写的,但不是单纯的翻译。我假设我的读者熟悉Win2003的管理和熟悉ASP.NET2.0的开发,这样我可以把MOSS部署指南当中叙述很详细的过程描述简化。
下载需要的文件。除了需要MOSSbeta2的安装部件以外,如果单机开发环境还要做域控制器的话,那么还要下载一个补丁。这个补丁需要在MOSS安装完毕,配置向导运行成功以后执行。可以修正在域控制器上安装单机环境浏览报错的问题。
我们可以准备一个VirtualPC或者一个真实的PC。这个PC要安装好Win2003的任何一个版本,为其安装配置好AD、DNS、应用服务器(启用ASP.NET)三个角色。然后打补丁SP1。接着我们需要安装.NET Framework 2.0 运行时部件和Windows Workflow Foundation 2.2(简称WWF)运行时部件。
接下来我们开始安装MOSS。在添加完序列号以后,系统会提示我们用Basic还是Advanced方式安装。Basic是默认使用Stand方式安装,默认C盘为安装路径,同时在配置向导运行时,还将默认创建一个的MOSS网站和相应的Web Application。Advanced则全部需要自己手动设置。我们这里选择Basic。后面只需要逐步点Next就可以将MOSS安装完毕。安装完毕以后,可以根据需要安装对于域控制器做MOSS服务器的补丁。
注意:我们没有安装SQLServer2005,这是因为MOSS的安装程序在Basic模式下会自动安装一个SQLEXPRESS,并默认一次数据库作存储。
在测试以后,我们可以开始Office2007beta2和VS2005安装开发环境了。安装Office2007beta2就不详细介绍了。然后我们可以选择任何一个VS2005的版本,除了VS2005Express的版本以外。安装的时候我们可以只选择VS2005的最小版本,比如只安装最小的VistualC#.Net环境。接下来可以安装WWF的VS2005设计组件。这时一个基本的MOSS2007beta2的单机开发环境就已经做好了。
使用Basic模式虽然可控性比较差,但是我们可以通过这个快速的建立MOSS2007beta2的开发环境。此外这个环境大约需要1.5GB的内存,如果不需要开发环境大约1GB内存就足够了。如果要在VisualPC当中做的话,则宿主需要至少2GB以上的内存。
这样的事情在生产环境很少见,但是在我们搭建演示平台的时候,还是比较常见的。我们首先安装SPS2003,在SPS安装成功以后再安装Exchange2003。
安装成功以后,我们要将Web访问Exchange需要的几个虚拟目录加到SPS当中,我们知道SPS2003的会把站点的文件存储转向,没有这一步,我们就没有办法通过web来访问Exchange的web功能。
这一步需要C:\Program Files\Common Files\Microsoft shared\web server extensions\60\bin中的STSADM程序。具体的格式为:
STSADM -o addpath -url http://localhost/<你的Exchange> -type exclusion
需要加的虚拟目录包括:
Exadmin Exchange的Web管理端
Exchange Exchange的Web访问入口
ExchWeb
Microsoft-Server-ActiveSync Exchange用以远程同步移动设备的接口
Public Exchange的公共文件夹
这个方法也适合我们部署ASP.NET应用到SPS2003所安装的服务器:
在我们创建WebApplication之前,先在C:\Inetpub\wwwroot创建和你WebApplication同名的文件,然后在IIS当中的这个文件上创建应用。之后使用上面的命令。再在VS2003里面在http://localhost 创建那个名字的WebApplication就不会有问题了。
安装环境:
英文Windows Server 2003 标准版+AD+IIS+ASP.NET+SP1
英文SQL Server 2005 标准版
Windows Workflow Foundition Beta 2.2
安装关键环节一:选取下图中的"Advanced"。
关键环节二:选取下图中的“Complete”。
第三个环节:选择下面的“No,I want to create a new server farm”。
虽然我的OSS2007已经装好了,但是在创建OSS的共享服务的时候还有问题。现在仍在摸索中。
这次做了一个新的虚拟机,和上次的基本一样。不过这次Sharepoint2007用的是基本安装,这次安装到没有什么问题了。但是初始化的时候到Step8的时候还是出了错误:创建Sample Data失败。看看了日志没有什么有用到的东西,把错误截屏放上面吧。
这是我前几天为了研究WWF准备的虚拟机,环境为Win2003+IIS6+SP1,还安装了VS2005、SQLServer2005、WWF部件、WWF的VS2005扩展。
安装的时候提示SQL Server 2005 Tools安装未完成,提示我是否停止未完成的安装,我选择是,但是安装完成仍然提示安装未正常完成。然后使用Sharepoint2007的配置工具进行配置,10个步骤的进度条正常结束以后,还是提示设置未正常完成。
准备过两天在试一次….
这几天一直写一个在SPS当中修改AD用户密码的Webpart。我向鞠海洋大哥要来了他写的代码,仔细研究了,自己也动手写了一个。但是包括鞠大哥写的和我写的都不用正确运行,总是捕捉到异常信息。不同的是,鞠大哥的代码可以显示用户的displayName属性,而我的显示不了。
昨天就想起来在ASP.NET中测试一下吧,毕竟ASP.NET当中条是要容易些。我有在写Webpart之前,先用ASP.NET预演的习惯。但是却发现ASP.NET当中不仅可以显示displayName属性,连密码也可以修改了。于是又仔细看了鞠大哥的代码,发现他并不是从AD用户的displayName属性显示的用户名称,而是通过SPS的CurrentUser对象来获取的用户名称。这样在仔细测试后可以发现,在SPS的Webpart当中是没有办法读取AD内数据的,即使将SPS网站的安全信任级别提高到了“Full”也是不行的。
详细的错误信息:
System.Runtime.InteropServices.COMException (0x80070035): 找不到网络路径。 at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind() at System.DirectoryServices.DirectoryEntry.get_NativeObject() at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) at nChi.WebParts.Utility.UserCtrl.chgPwd()
以此猜测这可能是SPS把有关的COM调用给屏蔽到了…
前两天SPS的数据库服务器坏了,数据被迁移到了备用数据库。这两天把原来在SPS上做的应用都检查了一遍,发现一个使用SSO的Webpart不能正常工作了,表现就是SSO不能正常取出数据,成脱机状。
找不到原因,有怀疑是迁移数据库或者安装了SPS2003的SP2造成的,于是重新安装了SPS2003而且没有安装其SP2。但是问题依旧,于是开始分析我的代码。最终发现是我的Webpart的问题:界面上显示从SSO当中获取的帐号,是在调用一个WebService并得到正常返回以后才显示,而当数据库迁移以后,WebService的数据连结没有更改过来,WebService没有返回一般性的错误代码;而我的代码只对WebService正常返回和一般性错误信息进行捕获。这样造成了我的Webpart的假脱机状态。
最终可以确定SPS2003的SP2不会对SSO造成这样的影响,但是不能确定数据库的迁移会不会对SSO造成影响。
在以前的Blog上面曾经对这个方法曾经进行过描述,但是当时没有验证。这次服务器坏了,终于有机会进行验证了。只不过这次不是服务器升级,而是服务器坏了,要换成新的服务器。
下面是引用的原来Blog内容。
场景:
用户的SQL Server 2000服务器需要扩容,原本想做SQL Server服务器群,后来客户决定从新建SQL Server服务器,SPS使用新的SQL Server 2000服务器。
方法:
1.在“配置服务器场拓扑结构”中去掉服务器场中所有的服务器角色的设置。
2.在“指定配置数据库服务器”中断开与当前的数据库服务器的连接。
3.将旧的数据库实例暂停,复制SPS的配置数据库和内容数据库的数据文件和事务日志文件到新的数据库实例上面上。
4.在新的数据库实例上面创建配置数据库和内容数据库。数据库的名称不能改变。
5.在新的数据库实例上配置新的帐号。帐号应使用原来的数据库帐号。
6.回到SPS的“指定配置数据库服务器”,当中按照“连接到现有的配置数据库”进行配置。
7.重新启动“SSO”服务,并将服务改为“自动”。
8.重新启动SPS服务器。
说明:
第8步,不知道什么服务需要新启动,所以干脆重新启动了服务器。各位同学可以试试看,到底是哪个服务器需要重新启动。
此外需要说明的是,除了SPS的以外,WSS的配置数据库和内容数据库也需要调整。在调整完成以后,需要把旧的服务器从服务器列表中删除。
场景:单服务器,独立的SQL Server。服务器在安装SPS前安装了Win2003的SP1。每次启动的时候会提示一个服务启动不正常,察看系统事件中有两个错误,发现来源于SharePoint Portal Administration服务。实践内容如下:
1.等待 SharePoint Portal Administration 服务的连接超时(30000 毫秒)。
2.由于下列错误,SharePoint Portal Administration 服务启动失败:
服务没有及时响应启动或控制请求。
原因分析:由于系统安装了Win2003的SP1,怀疑原因是因为安装了这个SP1。故观察了SPS相关的几个服务的可执行文件路径,这几个服务的可执行文件路径都在引号内,和引起SSO服务异常的情景一样,故决定修改注册表,试验一下。
具体步骤:打开注册表编辑器,定位到\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\。下面是SPS服务对应的文件夹的名称:
SharePoint Timer Service SPTimer
SharePoint Portal Administration SPSAdmin
Microsoft SharePointPS Search SharePointPSSearch
SharePoint Portal Alert spsalert
Microsoft Single Sign-on Service ssosrv
在对应的文件夹下面有一个ImagePath节点,双击打开节点,去掉节点值两端的引号。
重新启动服务器,一切正常。
说明:
由于以上的方法纯属实践得来,没有在各种服务器场环境上进行测试,所以本人不为任何的实验行为带来的后果负责。实验前请做备份。
场景:用户的SQL Server 2000服务器需要扩容,原本想做SQL Server服务器群,后来客户决定从新建SQL Server服务器,SPS使用新的SQL Server 2000服务器。
方法:
1.在“配置服务器场拓扑结构”中去掉服务器场中所有的服务器角色的设置。
2.在“指定配置数据库服务器”中断开与当前的数据库服务器的连接。
3.将旧的数据库实例暂停,复制SPS的配置数据库和内容数据库的数据文件和事务日志文件到新的数据库实例上面上。
4.在新的数据库实例上面创建配置数据库和内容数据库。数据库的名称不能改变。
5.在新的数据库实例上配置新的帐号。帐号应使用原来的数据库帐号。
6.回到SPS的“指定配置数据库服务器”,当中按照“连接到现有的配置数据库”进行配置。
7.重新启动“SSO”服务,并将服务改为“自动”。
8.重新启动SPS服务器。
说明:第8步,不知道什么服务需要新启动,所以干脆重新启动了服务器。各位同学可以试试看,到底是哪个服务器需要重新启动。
由于以上的方法纯属实践得来,没有在各种服务器场环境上进行测试,所以本人不为任何的实验行为带来的后果负责。实验前请做备份。
最近在忙着研究SPS,在定制首页的时候发现页面里用了大量的SPSWC的控件,提笔总结一下。这些好象都是MSDN里面没有的。
<SPSWC:CollaborationServerMetaTag>
这个标签将服务器上定制的<meta>标签写到页面。不需要页面中有HtmlForm的存在。
<SPSWC:ShowMessageToNonScriptableClients>
这个标签会在不支持脚本的浏览器上显示警示信息。不需要页面中有HtmlForm的存在。
<SPSWC:WebProperty>
这个标签会显示网站的属性例如:
<SPSWC:WebProperty Property=“SiteTitle“>
不需要页面中有HtmlForm的存在。
<SPSWC:CategoryProperty>
这个标签会显示子区域的属性例如:
<SPSWC:CategoryProperty Property=“Name“>
不需要页面中有HtmlForm的存在。
<SPSWC:CustomCSSResourceElement>
这个可以把定制的样式表写到标签的位置。不需要页面中有HtmlForm的存在。
<SPSWC:PageHeader>
这个标签可以输出设置里面设置的Logo。不需要页面中有HtmlForm的存在。
<SPSWC:CategoryNavigationWebPart>
这个标签可以输出子区域导航菜单。不需要页面中有HtmlForm的存在。
近期评论