使用Visual Studio工作流发布SharePoint网页

本文将介绍SharePoint发布网页的一种设计思路。

在最近的一个项目里,我们遇到这样一个需求。我们需要控制和自动化在一个面向互联网的SharePoint网站中就业岗位相关信息的发布体验。要将这一过程自动化的目的是为了确保统一的格式,并控制导航的设计,以及方便使用预先定义好格式的WebPart模板。

为此,我们开始设计用一个SharePoint列表来捕捉和组织那些创建网站中每个Web页面时所需的内容。该列表包括多个单行文本、富文本字段,以及用于从库中选择合适的自定义WebPart所需的元数据字段。一旦列表项被保存,Visual Studio 2008工作流将自动完成其余部分的工作。

 Visual Studio工作流操作的简要内容如下:

1. 检查网页是否重名。

2. 重名的网页会被签出,并删除其上的所有WebPart。

3. 新建页面,使用某个自定义页面布局并为其命名。

4. 构建好页面的页眉信息并插入到页面中的一个Web部件里。

5. 由用户填写的内容通过Visual Studio模板插入到页面中。

6. 基于列表项的元数据自动选择预先格式化好的WebPart模板和并定制部分属性。

7.将新建/编辑页面发布为主版本。

8.将导航中链接指向正确的文件夹并设置为隐藏。


工作流第一步是检查页面库中现有的网页,看看是否有相同的名称。如果发现,该网页会被签出,页面上的所有Web部件都会被删除。 如果没有找到同名的,工作流会选择一个“就业岗位”对应的自定义布局,并新建一个页,页面的名称为工作编号加职位。


下一步,通过把工作的职位/代码和预先格式化并插入到内容编辑器WebPart的HTML部分连接起来,构建出页眉。 该WebPart会顺序插入到页眉区域。其中的HTML部分包含一个动态生成的按钮,绑定了一个更新的查询字符串,可以自动传递职位和数量信息到职位申请表单。主体内容通过使用内置的富文本字段,由用户填写完成。此内容使用在Visual Studio 2008工作流中规定的模板来布局,然后会插入到另一个内容编辑器WebPart中,最后添加到其对应的页面区域中。


点击查看大图

通过为列表项指定元数据,工作流可以从WebPart库中的48个预先格式化好的自定义WebPart模板中挑选2个,将其插入到页面右侧区域。做完这一步后,工作流的检查工作就完成了,接下来该页面会自动迁入并发布为主版本。


最后,SharePoint网站是用非常具体的导航要求,包括为所有的页面在顶部导航条中高亮显示标签,或者据页面的类型控制左侧导航的显示和隐藏。当用户导航到一个招聘广告页上时,在顶部导航中的“职业”和左侧导航中的“当前开放”将以高亮的方式突出显示,但该网页本身的链接不应该显示在当前的导航中。为了解决这个问题,工作流会选择左侧导航中新的一页,并将其移动到当前开放栏目标题下。然后,它会修改新的一页的状态为隐藏。


此外,当网页发布者从就业岗位列表中将列表项的状态修改为非活动时,工作流会自动删除相应的招聘页面。在其他地方,该网站使用数据视图按照功能需求驱动和对应列表项的元数据来控制职位信息的上层展现。


通过Visual Studio 2008自动处理SharePoint页面的发布可以大大减少发布网页所需的时间,并改进设计的一致性,因为用户再也不需要手动选择内容编辑器WebPart并创建内容了。


参考资料

Publishing SharePoint Web Pages Using Visual Studio Workflows

原文地址:https://www.cnblogs.com/Sunmoonfire/p/1775464.html