技术开发 频道

用于构建SharePoint解决方案的10个非常好的实践

  选择一种工具之前 的品牌,请考虑您的 SharePoint 实现的大小,您产品的工作的专业技术支持应用程序开发人员。 我们将关注两个工具: SharePoint Designer 和 Visual Studio。

  SharePoint Designer 将在 FrontPage 中具有其根,并且是用于编辑母版页和 CSS Web 设计工具。 但是,轻松使用 SharePoint Designer 中提供有代价:

  这里没有集成的源代码控件支持。

  在 SharePoint Designer 将导致修改后的内容成为 unghosted 所做的更改。

  在为 unghosted 的状态内容的副本存储在内容数据库而不是文件系统。 因此,取消重像具有以下效果:

  很难管理,因为内容可以更新只在 SharePoint 或 SharePoint Designer 中的部署

  从更新的内容部署到文件系统断开连接一个站点,导致大,活动的 SharePoint 实现上的潜在性能问题,由于这些原因,我们认为是最合适的 SharePoint Designer 中的实现和原型的小写的。

  Visual Studio 提供一致的开发环境为应用程序组件和品牌的项目,但它缺少图形编辑功能在 SharePoint Designer 中。 因此,开发人员必须编辑 HTML 和 CSS 更 proficient。 必须维护品牌项目设置一个很好的项目结构。 与 Visual Studio 集成的源代码控件支持,容易管理特定于环境的配置和品牌跨多个环境中部署的项目的包。 此外,品牌的项目保持幻像。 因此,Visual Studio 是用于大型企业和商业实现我们首选的 SharePoint 品牌工具。

  有三种方法 应用品牌: 网站模板、 自定义站点定义和 OOB 网站结合通过功能装订的自定义的定义。 创建自定义站点模板,则可能是小型的实现和原型,最快方法。 但是,从模板创建的网站不会更新在上载新模板。 自定义模板不允许您指定模板 ID 将需要对引用模板的任何设置代码。 此外,网站模板创建仅 unghosted 的内容,从而可能影响性能。

  站点定义是更为灵活和便携式比网站模板。 您可以管理站点定义文件 (onet.xml) 和源代码管理中的相关的内容和允许一个网站来它尚未自已定义的新内容更新的情况下部署幻像的内容。 站点定义可能很难创建,因为您需要编辑的 XML 的复杂程度。 此任务更加容易使用 OOB 站点定义 (位于 12\Template\SiteTemplates 作为起始点) 或导出站点定义使用 VSeWSS。

  处理大的实现的媒体组合 OOB 站点定义自定义功能时最好的方法。 功能可用于扩展站点定义,并提供了模块化的方法提供站点。 对于功能一个很好概述查看 Office Space 专栏" SharePoint 的功能 ." VSeWSS 扩展名,以及一些第三方工具提供模板创建产品的网站中使用的通用功能。

  功能装订可以向站点定义附加功能,并创建新的 Web 站点时启用它。 这是要应用您品牌 SharePoint OOB 站点定义的好方法。


  10.构建可部署的解决方案

  可以到 SharePoint Web 应用程序以多种方式来获取您的组件。 此部分集中讲述如何利用 SharePoint 提供包括 Web 解决方案包 (解决方案 / WSPs、 功能和 SharePoint 对象模型在打包和部署框架。

  决定如何包 组件依赖很大程度上部署组件。 解决方案包含将部署到服务器的文件。 功能包含将部署到内容数据库的内容。

  SharePoint 解决方案包含程序集和资源部署到 SharePoint Web 应用程序。 解决方案是压缩、 部署和取消的简单和镜像在多个服务器场中的 SharePoint 解决方案中的文件更新的 SharePoint 句柄。
  可以使用 SharePoint 解决方案,用于 Web.config 修改。图 8 列出了在常见的文件夹位置,受解决方案和它们的内容。 在"12 配置单元"引用 SharePoint 应用程序的根目录或 <%CommonProgramFiles%> \Microsoft Shared\Web 服务器 extensions\12 默认情况下。


图 8 公共文件位置访问从 WSPs 

12 配置单元中的文件夹 包含
\ISAPI\HELP\[LCID] SharePoint 帮助文件。 将您自己的.chm 文件部署到该文件夹 (或一个本地化的子文件夹)
CONFIG Web.config 自定义设置
\ISAPI SharePoint Web 服务 (以及部署自定义的 Web 服务) ; 映射到 /_vti_bin
\Resources 从自定义功能和站点定义访问的全局.resx 文件
\TEMPLATE\CONTROLTEMPLATES .ascx 用户控件 ; 映射到 /_controltemplates
\TEMPLATE\FEATURES 功能,课程的 !
\TEMPLATE\LAYOUTS 常见的网页,映射到 /_layouts
\TEMPLATE\IMAGES 公共网站图像文件 ; 映射到 / _ layouts 图像
\TEMPLATE\SiteTemplates 所有的 SharePoint 站点定义 ; 创建要部署您 onet.xml 自定义网站定义的 <subfolder> \xml
\TEMPLATE\THEMES 所有的 UI 元素在主题中 ; 克隆创建您自己的现有主题文件夹
\TEMPLATE\[LCID]\XML Webtemp.xml 文件定义可用站点定义,; 添加的 XML 文件此处您自定义网站定义
\TEMPLATE\ADMIN 使用中心管理的页,映射到 /_admin
\ADMISAPI 管理 Web 服务,映射到

  下面是记住在使用解决方案的重要规则:

  因为在配置数据库中管理 SharePoint 解决方案,可以有场中的 SharePoint 解决方案只能有一个唯一实例。 这一点如果是很重要您打算使用相同的场到同一 Web 应用程序的主机不同的版本) 是例如同时当前的维护和将来的开发环境。

  SharePoint 解决方案通过跟踪 ID 不是按名称,因此您需要维护源代码管理的解决方案 ID,如果您打算在以后升级解决方案。

  在 12 个配置单元是一个共享的 Web 应用程序空间。 如果您打算承载相同的场中的多个 Web 应用程序,您需要确保 SharePoint 解决方案不会覆盖现有的 SharePoint 文件或部署的其他解决方案在此位置中的文件。

  解决方案不能部署中列出文件夹以外的文件 图 8 包括该 Web 应用程序如 wpresources、 全局 _wpresources 或 12 配置单元以外的其他文件夹下的文件夹。

  解决方案不能部署 SharePoint Web 应用程序内的内容。 这就是 SharePoint 的功能角色。

  功能可以使 Web 部件库中可用,上载和将文件发布到文档库并执行自定义的操作,例如使用功能接收程序集设置站主题或默认母版页。 查看有关使用右侧品牌上文有关使用功能的品牌信息中的技术,信息。

  以下是用于创建功能的一些忠告:

  功能不跟踪添加的内容,因此,该功能以停用通过功能接收器时清理后本身的责任。 请考虑功能和是否内容部署功能可能需要的 Web 应用程序的其他部分中删除内容之前的整个生命周期。 是例如删除母版页停用的一项功能将会中断继承的母版页的网页。

  删除解决方案使用部署功能之前,停用从所有的 Web 应用程序功能。 如果您不,解决方案部署将失败,如果已删除功能文件夹,您需要强制功能使用 STSADM 的卸载。

  其他提示

  以下是有关开发 SharePoint 解决方案的一些其他提示。

  使用相对链接尽可能

  请考虑使用相对链接,而不是绝对链接。 包括到文档库、 数据连接和报表库的位置的相对链接从一个 SharePoint 实例之间简化部署。 报告库示例记住,如果在使用一致的 Web 位置对报告库所有您的 SharePoint 环境,您 ’ll 不再需要指针更改为报告,您的应用程序从一个环境移到下一个。 通常,通过配置的约定适用于代码配置,但此概念可以还松散应用于部署其他配置方面。

  在相关的通知单上我们希望 Microsoft 将支持在当前某些配置设置需要绝对链接在 SharePoint 平台内的相对链接。 是例如必须指定到表单库的绝对 URL L 的 InfoPath.udcx 数据连接文件) 中,,而且重 ReportViewer Web 部件需要到报告定义的绝对路径。

  创建自定义主控页

  与您的外观和体验的品牌 SharePoint 网站的一个常用方法是网站的创建自定义的母版页,使您可以在大多数控制您的布局。 可以采用现有的 SharePoint 母版页,并修改它以满足您的需要。 如果现有的母版页是接近于所需的布局,这种方法的效果非常好的。 如果外观所需的任何 OOB 母版页非常不同,可以 inclined 从零开始启动。 但是,因为 SharePoint 需要母版页中的某些功能,它 ’s 建议开头为最小的母版页,并生成从那里在外观和感觉。

  处理中的自动生成的 InfoPath 项目

  在 Microsoft InfoPath 设计器创建的项目将进一步质询您自动生成的工作。 在让的最可以真正执行 InfoPath 和 SharePoint 处理包装。

0
相关文章