爱莎居

.Net

导航

为SharePoint新项目做准备

上周五把一个SharePoint相关项目的Proposal发出去了,等待结果中。。。是否能中标还未可知。但是已经开始要做些准备工作了。之前虽说和SharePoint有比较多的接触。但是经验主要集中在Features开发,WebPart开发等领域。和这个项目的交集不是很多。所以,应该要在这之前做些准备了。

这个项目内容是为一家公司实现一个Intranet WebSite供内部使用。要以SharePoint为基础,要实现以下内容
  • 界面和现有网站的样式统一
  • 数个简单工作流
  • 论坛
  • 调查
  • 为每个部门创建一个页面(页面内容待定)
  • CMS

内容相当简单,虽然我们在Proposal中接照基于WSS3.0和基于MOSS2007分别做了建议,但是我估计客户会选择WSS3.0。因为他们目前来讲看不到什么需要用到MOSS2007中特有功能的地方,即使以后有,也可以再将基于WSS3.0上的站点移植到MOSS2007上。

整个站点内容并不多,功能也不复杂,多数之需要WSS内部的功能就能满足。只有论坛还不知道WSS自带的Discussion够不够用。
因为基于SharePoint的WebPart开发实在是效率太低,不能可视化开发会导致工期加长,再加上需求中没有什么可重用要求页面组件。所以我们采用的开发方式应该是SharePoint Designer + Visual Studio直接开发WebPage。
SharePoint再高级,他也是基于ASP.Net运行的。所以我们会用SharePoint Designer直接在SharePoint站点中新建页面,设计页面,然后再在Visual Studio中新建一个类库项目用来作为自建Web的后台代码。

下面是今天做的收获:
1. 用SharePoint Designer设计页面,用Visual Studio写页面后台代码。是可行的,可以完美结合。
2. 使用该方法,需要在页面前台的@Page指令中使用"Inherit="来指定继承自类库中相应的后台类的完全限定名。
3. 使用该方法,需要将类库的输出程序集复制到相应的站点的bin目录中或者GAC中。
3. 使用该方法,需要在SharePoint站点的Web.config文件中将类库添加到safe control列表中
4. 使用该方法,每在页面中添加一个控件,都需要在后台同时声明一个同名的控件对象,不需要在声明时初始化。但是必须声明为protected或public。
5. 使用该方法,可以在页面中添加SharePoint控件,并且可以在后台代码中操作该控件
6. 使用该方法,需要在类库项目中引用System.Web程序集以及SharePoint程序集。
7. 使用该方法,可以直接声明 protected void Page_Load函数用来在页面加载时执行某些操作
8. 使用该方法,可以重写 OnError 函数以避免出现默认的SharePoint异常页面。但要在使用Server.GetLastError()函数得到错误内容后要调用Context.ClearError()来清楚之前的异常
9. 目前未发现任何较大的与普通ASP.NET开发的不同点。只是把页面与后台代码放在了不同的编辑器中进行。

posted on 2007-11-19 14:42  焰凌  阅读(942)  评论(2编辑  收藏  举报