在MOSS2007时代的Document Management System中非常需要一个唯一的标识(Unique Identifier)来有效的管理我们的文档。但当时并没有提供这样的一个Unique Number,许多用户或开发人员只有另想办法来实现这个要求。当然,在以前的MOSS2007中,系统可以使用URL来定位文档,但它主要的问题是:当你删除或移动了某个文档,那个文档以前的URL就失效了,如果你是通过发送文档的URL来分享某个文档,那么其它用户想要通过你以前发送给他们的URL来获取它就注定会失败。
从Sharepoint2010开始,文档的唯一标识不再是另人头疼的问题,你可以使用Sharepoint默认的DocumentIDProvider来生成文档ID,也可以自行开发DocumentIDProvider来满足特定的需要。
一、对于Unique Document ID,我们需要关注以下特点与限制:
1、在SharePoint Foundation 2010 版本中不提供对Document Unique IDs的支持,此功能仅在标准版以及企业版提供
2、只有从Document Content Type或从其衍生出来的Content Type才能使用Document Unique IDs,这很好理解,本来Document Unique ID就是针对Document管理的,所以当然不能针对其它类型的Content Type了。
3、你可以设置特定格式的Unique Number
4、你可以把文档保存在任何位置并可以通过Unique Number来找到它。
5.在文档的整个生命周期,Sharepoint的Records Management 和Document Management都可以通过Document ID来管理它们。
6、Document IDs 在Site Collection的范围内是唯一的。但是通过在Unique Document IDs前面加上前缀就可以让Document IDs在跨Sharepoint Farm的范围上也变得唯一了。
7、当你在Sharepoint Collection内移动一个Document时,这个Document的ID也会跟随着它而不会变化。当你拷贝一个Document时,新的Document的复本将会拥有一个它自己的新的Document ID。
8、如果你使用Document Set(文档集)时,这个文档集将会拥有它自己的 Unique Document ID,这个ID与包含在文档集内的文档的Document IDs是独立的,各管各,它们并无关联。
9、当你启用Document ID feature后,系统会在Document List中新增一列(实际是新增了一列到Document Content Type上),当你再停用Document ID feature后,那些已经存在的Document IDs仍然有效,它们并不会随着你对Document ID feature的停用而被删除。但SharePoint系统却不会产生新的Documnet IDs.
10、Sharepoint系统有两个timer job与Document IDs服务相关: Document ID enable/disable timer job 和Document ID assignment timer job. 你可以在Sharepoint Central Admin中去设置和启用两个Job。这两个Job默认是一天运行一次,但你可以在设置中心通过"Run Now"来即时运行它们。
二、下面我们来看看如何启动和配置我们的Sharepoint环境使其支持Unique Document ID。
1、首先要启动和配置Document ID Feature.
因为Document ID Feature是Site Collection级别的,所以需要到Site Collection的配置管理页面去设置。
在你应用程序所在的Sharepoint网站,通过Site Actions-->Site Setting进入设置页面
点击链接(Site Collection Administration下的Site Collection Features)进入激活页面
激活页面内激活此服务
回到设置页面,可以看到在Site Collection Administration栏下多出来一项Document ID Setting,点击此项进入配置页面
在配置页面里,可以设置Document IDs的前缀,决定是否重启已有的Documents使用这个前缀.....2、然后要启动相应的Timer Jobs
如果你只是在Site Collection级别开启Document ID Feature,你可能还并不能马上看到系统给Document分配Document ID,这是因为Document ID Feature工作需要依赖于两个Timer job Service( Document ID enable/disable timer job 和Document ID assignment timer job),这两个Jobs需要到Sharepoint管理中心去启动。
通过管理中心进入Job Definition页面
在此页面下点击相应链接进入设置页面,在此页面下可以手工运行对应的Job
回到应用程序所在的Sharepoint网站,进入某个Doucment List,上载文档 ,就可以看到Document IDs Service开始工作了
有一点需要注意的是:如果你对 Document ID的前缀设置作了更改,你就需要先运行Document ID enable/disable job,再运行Document ID assignment job,注意它们的运行顺序,这样你才能看到你的修改生效。