MOSS 2007的开发涉及到三个重要的方面分别是:
u 用户自定义的WebParts;
u “_layouts”应用程序;
u 使用user control 和 Son OfSmartpart 建立应用程序;
下面分别阐述这三个方面的优点和缺点:
1.用户自定义的WebParts;
优点:
l 使用 Web Part framework 建立Web Part;
l 可以使用Web Part安装包部署,或使用 Feature/Solution 部署机制;、
l SharePoint 应用程序提供了放置这些Web Parts的Web Part页面;
l 提供了Web Parts之间通讯的Framework
l Web Part可以在多个站点中重复使用。
缺点:
l 没有拖拽的UI界面完成页面布局。
l 需要学习Web Part Framework的知识。
总之,可以利用Web Part实现小型的应用程序,并且可以在多个网站上使用。
2.Layouts 应用程序
一个_layouts应用程序是部署在:\program files\common files\microsoft shared\web server extensions\12\template\layouts 目录下的一个Asp.net应用程序。在每一个Sharepoint站点的根目录下有/_layouts路径,例如http://servername/sites/sitename/_layouts.这也就意味着在每一个sharepoint 站点下这个应用程序都是可以使用的。例如:
http://servername/sites/sitename/_layouts/MyApp/SomePage.aspx
优点:
l 利用在该目录下放置的应用程序,使得每个站点都可以利用这些程序功能;
l 容易开发,就像开发一个常规的asp.net的站点。
l 该应用程序在访问SharePoint object model时具有上下文的敏感性。
缺点:
l 不是通过Solution部署机制部署的。
l 由于_layouts应用程序是一个单独的ASP.net应用程序,所以不能使用站点Context的Master Page
总之,如果想要扩展每一个站点的功能,就最好使用基于_layouts的应用程序。例如额外的管理页面。
3.User Controls和Son of SmartPart
最后一个问题讨论的是在ASP.net User Controls中建立应用程序的界面以及使用Son of SamrtPart发布user Controls为Web Part.
优点:
只需要简单的开发经验;
有建立UI的设计界面;
发布容易;
如果需要可以使用web part connectionFramework.
可以在Sharepoint之外开发,如果这个web part不依赖于Sharepoint.
缺点:
不是通过Solution部署机制管理部署的。
与User Control 和assembly的部署方式稍有不同。
总之,如果仅仅想在一个或多个站点上使用基于UI的胖Browser,利用Son of SmartPart是一个好方法。但是如果想要建立一个可以在多个站点上使用的小型应用程序,则应该建立一个Web Part.