SharePoint 2010 技巧系列: 定制化历史版本页面(Version History page)

摘要:
您将发现文档处于草稿状态(仅当您启用版本控制时,系统会提示您向发布的版本添加注释(当前版本的简要描述)。批准文档后,还需要添加注释。此时,完成完整的审批流程后,请在Layouts/version.aspx中找到它。在显示审批意见时,应考虑以下事项:1。文档库启用审批工作流后,显示审批注释2。当未为文档库启用批准工作流时,

 MOSS 2007 和SharePoint 2010的文档库都自带内容审批工作流, 顾名思义, 内容审批就是发布的文档需要被审批通过后才能被普通用户看到,首先我们来看下如何启用内容审批.

打开文档库的设置, 然后版本控制设置, 参考以下设置. 我们一并启用了版本控制

SharePoint 2010 技巧系列: 定制化历史版本页面(Version History page)第1张

保存设置, 上传一个文档, 你会发现文档的状态是草稿(Draft) 状态 (只有当你启用了版本控制(version), 才回有草稿状态; 如果你设置没有版本控制,当你传文档后, 文档的状态是待定(pending).

当文档处在Draft状态时,必须发布一个主要版本才能被审批人审批. 当你发布一个主要版本时, 系统提示你对你们发布的版本添加注释(当前版本的简要说明). 审批通过时, 同样需要添加注释.这时走完了一个完整的审批流程, 查看历史版本记录, 如下图.

SharePoint 2010 技巧系列: 定制化历史版本页面(Version History page)第2张

你看到在版本记录中既然只有发布时的注释, 没有审批的注释,那么如何来显示审批的注释呢? 很简单, 定位到Layouts/ version.aspx. 再显示审批注释的时候要考虑倒

1. 当文档库启用的审批工作流, 显示审批注释

2. 当文档库没有启用审批工作流时, 并不显示.

用VS2010 打开Version History的页面后, 通过研究发现.只有几个技术点要注意.

1. 首先判断当前文档库是否启用了审批工作流. 判断代码如下:

//定义变量表示是否启用工作流
bool isEnableContentApproval=false;

if (List.EnableModeration)
{
isEnableContentApproval
=true;
diidDeleteMinorVersions.Text
= (string)(this.GetGlobalResourceObject("wss", "versions_delprevdraftversions"));
diidDeleteMinorVersions.ToolTip
= (string)(this.GetGlobalResourceObject("wss", "versions_delprevdraftversions"));
}

2. 如果获取当前版本的审批注释. 代码如下

<% SPField ApproverComments = m_item.Fields.GetFieldByInternalName("ows__ModerationComments"); %>
<% SPHttpUtility.NoEncode(itemcurr.GetFieldValueAsHtml(ApproverComments,SPHttpUtility.UrlKeyValueEncode(CurrentRequestUrlAndQuery)),Response.Output); %>

剩下就没有啥技术难点了, 只要在HTML代码中添加相应的IF else语句就可. 一下是完整的代码:太长添加不了,下载吧.

Version.aspx

免责声明:文章转载自《SharePoint 2010 技巧系列: 定制化历史版本页面(Version History page)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HttpClientFactory 是 HttpClient 的正确使用方式cocos creator游戏适配这事下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

git学习简单操作

 一、使用原因及来源   1. 方便版本控制   2. 方便多人协助开发   3. linux之父:Linus  Torvalds   4. git开发目的:为了辅助Linux内核的开发   5. Git迅速成为了最流行的分布式版本控制系统   6. 码云官方网址:https://gitee.com/   7. git是分布式管理系统,服务端和客户端都有版...

SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决)

前言:   俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持Windows和Mac...

Apktool下载与安装 windows环境

Apktool 下载与安装 百度网盘地址:https://pan.baidu.com/s/1slQBMOl  (apktool 2.2.4版本) 更多版本可以从官网https://ibotpeaches.github.io/Apktool/install/ 下载,感谢大师提供如此好用的工具,哈哈。。。 这里只提供windows环境安装: 1. 打开cmd...

从 sourcemap 中获取源码

使用 paazmaya/shuji: Reverse engineering JavaScript and CSS sources from sourcemaps 可以从 sourcemap 中获取源码。 一个故事: 今天同事在完全没将代码加到过 stage 的情况下按了 VSCode 的Discard All Changes,然后这个版本的所有代码都丢失...

tomcat服务器的搭建

一、准备工作 首先第一步就是到一个相对正规的网站下载一个java-jdk的安装包,(建议下载7.0或者8.0版本的,比较稳定) 二、安装java-jdk java环境的配置应该都学过吧,这里简单的讲一下。下载安装java JDK,注意安装的路径,我们需要进行环境变量的配置。    三、环境变量的设置   1、安装完成以后,配置环境变量环境变量的配置这里就以...

15分钟让你了解如何实现并发中的Barrier

说到Barrier,很多语言中已经是标准库中自带的概念,一般情况下,只需要直接使用就行了。而最近一些机缘巧合的机会,我需要在c++中使用这么个玩意儿。但是c++标准库里还没有这个概念,只有boost里面有这样现成的东西,而我又不想为了这么一个小东西引入个boost。所以,我借着这个机会研究了下,发现其实这些多线程/并发中的东西还是蛮有意思的。 阅读本文你可...