FreePark's Blog

SharePoint & RMS

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  38 随笔 :: 0 文章 :: 86 评论 :: 6 引用

2007年1月19日 #

http://blog.joycode.com/ipark
   
      ipark = FreePark
posted @ 2007-01-19 16:40 FreePark 阅读(516) | 评论 (0)编辑

2007年1月13日 #

MOSS中对工作流的强大支持,让我们可以做很多应用。

举个例子,我们可以用表单库做审批表单,然后给这个表单库附加一个流程。

我们可能希望用户在填写表单的时候,在表单中填一些在启动工作流时需要用的信息,比如设置审批人等等。

我们的表单会像下面这样,包括待审批内容,和设置审批者等其他工作流设置。

我们也希望用户在点“保存”的时候,提交表单并同时根据用户设置的审批人来启动工作流。

MOSS默认的模式是,提交完表单以后,在另一个页面启动工作流,需要做两步操作,这样的用户体验比较不好

最好的体检就是“一步到位”,只需要在一个界面完成提交和启动的工作。

 

所以,我们就需要在InfoPath Form Services表单中的“保存”按钮上做一些工作来满足这种需求。

我提供的思路如下:

利用VSTA给表单库的表单模板里的“保存”按钮添加代码来完成提交表单和启动工作流的任务

1)设计表单模板的时候,为InfoPath表单设置一个提交连接(DataConnection)

可以看到这个提交连接会包括提交到的文档库的URl和默认的文件名命名规则。这个提交连接是我们提交表单和启动工作流所需要的。

 

2)给InfoPath表单的“保存”的按钮添加代码(以下代码为示例):

XPathNavigator field2 = this.MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:field2", NamespaceManager);
//取到提交连接的对象,FileSubmitConnection对应的是提交到SharePoint文档库的连接类
FileSubmitConnection osssubmit = (FileSubmitConnection)this.DataConnections["OSSSubmit"];
//我们可以通过表单里面的某个项目来作为表单提交的时候的文件名,或者用其他的命名规则,或者用户指定都可以
string tempfilename = field2.Value +"_"+ DateTime.Now.ToString().Replace(":","_");
//设置提交表单的文件名
osssubmit.Filename.SetStringValue(tempfilename+".xml");
//执行提交
osssubmit.Execute();
//到这一步,表单已经提交到了文档库,接下来启动表单的工作流
try
{
//根据提交连接的FolderUrl属性可以取到文档库所在的网站集
SPSite mysite = new SPSite(osssubmit.FolderUrl);
//根据表单的名称和FolderUrl可以把提交上去的表单的完整URL拼出来
string fileurl = osssubmit.FolderUrl+"/"+tempfilename+".xml";
if(osssubmit.FolderUrl.EndsWith("/"))
{
fileurl = osssubmit.FolderUrl+tempfilename+".xml";
}
//利用FolderUrl可以根据SPWeb.GetList方法取到文档库对应的SPList对象
SPList mylist = mysite.RootWeb.GetList(osssubmit.FolderUrl);
//根据前面拼出来的已上传得表单的完整URL可以取到表单对应的SPListItem对象
SPListItem mylistitem = mysite.RootWeb.GetListItem(fileurl);
//取到文档库绑定的某个工作流关联
SPWorkflowAssociation mywfass = mylist.WorkflowAssociations.GetAssociationByName("Review", System.Globalization.CultureInfo.CurrentCulture);
//EventData中就是工作流启动的时候需要的参数,比如审批人等信息,用表单中用户设置的启动参数替换EventData中的相应信息即可 

/*关联信息定义了工作流启动的参数,格式如下XML所示,我们需要做的只是用表单里面的对应字段值替换这个XML里面的对应内容即可,红色标示的部分

<my:myFields xml:lang=\"zh-CN\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:my=\"http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-12-16T05:28:36\" xmlns:xd=\"http://schemas.microsoft.com/office/infopath/2003\">

<my:instructions>Review it!</my:instructions>

<my:assignees>litwareinc\\Administrator;litwareinc\\DemoUser2</my:assignees>

</my:myFields>

*/
string EventData = mywfass.AssociationData;
mysite.AllowUnsafeUpdates = true;
mysite.RootWeb.AllowUnsafeUpdates = true;

//根据设定的信息,启动工作流
mysite.WorkflowManager.StartWorkflow(mylistitem, mywfass, EventData);
}
catch{ }

更新:示例下载 here

posted @ 2007-01-13 03:02 FreePark 阅读(4231) | 评论 (21)编辑

2006年12月28日 #

一个地震影响还真是大,有线通讯受自然灾害影响太大了。

据说,修复至少需要两到三周的时间。

 太平洋海底光缆系统 示意图

posted @ 2006-12-28 12:02 FreePark 阅读(286) | 评论 (1)编辑

2006年12月22日 #

在企业中,对文档的保护最好是希望能跟着文档的生命周期,从文档创建到文档被下载被离线查看所有的环节都受到保护。
WSS V2中我们对文档库的权限控制只能做到控制文档在下载前,但是当文档被下载以后文档就“自由”了。
在WSS V3中,我们可以设置文档库在文档下载的时候给它附加上离线的权限,权限跟随文档。

一、在WSS V3的IRM框架中包含了四个基本组成部分
1)IRM Protector:保护程序
2)Windows SharePoint Services:
3)Right Management Services:权限管理平台(RMS)
4)Client Application:用来打开受保护文档的客户端程序,对于通过RMS保护的Office文档来说客户端就是Office程序。

WSS V3中的IRM是对下载文档做加密上传回来的时候做解密。所以在WSS文档库中的文档都是非加密状态。
这样做我个人感觉一个方面应该是为文档内容索引服务的。

二、Protector  在WSS V3中对文档的IRM保护是通过Protector来实现的,Protector是服务器场级别的,必须在每个Web前端注册。Protector包括两种:
1)集成的Protector(integrated protectors):这种Protector需要RMS,和RMS的交互都有WSS来完成
2)独立的Protector(autonomous protectors):这种Protector需要独立的注册,这种保护程序可以是不需要RMS的支持

三、IRM权限  WSS V3的文档下载以后附加的权限跟用户在WSS中的ACL(访问控制权限列表)对应的:
1)WSS本身是文档的所有者
2)不同ACL对应不同的权限(ACL和IRM权限对应关系是可扩充细分的):
管理网站:对文档有完全控制的权限,下载后可以管理文档权限
编辑列表,管理列表和自定义页面:编辑,拷贝,保存
查看列表:只读权限

四、发布证书 WSS V3给文档加IRM之前会为文档先生称发布证书(IL)然后在把工作交给Protector,IL包括什么内容:
1)文档的密钥,用来加密文档的内容
2)添加文档的用户列表和用户对文档的权限,WSS会把自己和下载用户加入列表中
3)文档库的GUID(所以在哪个文档库下载的文档,如果上传到另一个起了IRM的文档库是上传不上去的,当然上传到没有启IRM的文档库是可以的

五、如何启用IRM 要让WSS的文档库可以对文档起IRM保护,需要:
1)安装了RMS Server SP2
2)启用WSS的IRM功能

2)如果有要使用独立的Protector,需要进行注册
3)需要设置文档库的“信息权限管理”

注:当设置了“不允许用户上载不支持IRM的文档”的时候不能被加权限的文档类型不能上传(已经用客户端程序加密过的文档也不能被上传了)

具体的步骤微软有一个官方的文档:Deploying Windows Rights Management Services with Microsoft Office SharePoint Server 2007 Step-By-Step Guide

预告:[ECM IRM RMS - 2]WSS V3中的IRM如何对文档上传下载的权限进行控制

posted @ 2006-12-22 10:24 FreePark 阅读(1333) | 评论 (0)编辑

2006年12月19日 #

谁说MOSS的性能是个大问题呢!
世界上第5大日访问量最多的网站就整合了Microsoft Office SharePoint Server技术!
在它的“ About our new home page”中,有这么一段话:

In the background we are beginning to migrate much of Microsoft.com to a new platform based on Microsoft Office SharePoint Server 2007. Using Office SharePoint Server 2007 will bring us a broad range of new capabilities that will help you more easily find the information, products, and services you’re looking for across our site. Microsoft.com is the 5th most visited Web site on the Internet, hosting hundreds of thousands of pages of content. Running our site on Office SharePoint Server 2007 goes a long way in demonstrating to customers worldwide that the product is reliable and provides an effective solution for managing vast amounts of content.

大致的意思就是说:我们用MOSS可以帮助客户很容易的找到他们需要的信息,产品和服务。MOSS是一个很好的平台。在一个访问量如此大的Internet网站上整合MOSS证明了这个产品的可靠性和性能是没有问题的。

这是不是就是“行胜于言”,呵呵。说到这,大家可以访问一下微软美国官方主页

posted @ 2006-12-19 23:48 FreePark 阅读(832) | 评论 (1)编辑

用SharePoint Designer开发工作流的示例视频Kanyboy已经发布了一套,共4辑,讲得很清楚!

在上周六结束的OTEC聚会上,把从空白工程开始开发WSS V3工作流的Demo录制了视频
Demo中做了如何实现多步Document Review的审批流程,演示了一般的工作流开发步骤。

视频下载请到OTEC论坛:http://www.msotec.net/Forums/ShowThread.aspx?PostID=6839

视频中VS开发MOSS 工作流依赖于以下软件的支持:
Visual Studio 2005 Extensions for Windows Workflow Foundation RC5(En)
ECM Starter Kit (SharePoint Workflow Template) 包含在MOSS SDK中
posted @ 2006-12-19 22:34 FreePark 阅读(1330) | 评论 (2)编辑

2006年12月5日 #

     摘要: Microsoft Windows Rights Management Services with Service Pack 2 (RMS SP2) is AvailableRMS Server SP2 :http://www.microsoft.com/downloads/details.aspx?familyid=8EF6D80A-6A9C-4FB9-AB51-790980816FFE&...  阅读全文
posted @ 2006-12-05 00:08 FreePark 阅读(3003) | 评论 (8)编辑

2006年12月3日 #

     摘要: 在开始之前,先讲个故事。马力是公司的一个销售人员,在他完成他的销售任务的同时,差旅费用如果控制在8000以下说明他的这个方面表现很好,如果是超过了8000,低于15000的情况下他就要受到警告了,如果超过15000,他的问题就大了。作为部门主管,我需要有一个最明显的方式来展现这些东西。在MOSS中就有一种列表类型叫做KPI(关键绩效指标)列表,KPI列表有一个评判指标的标准来判断当前的指数的优劣,...  阅读全文
posted @ 2006-12-03 22:40 FreePark 阅读(1153) | 评论 (2)编辑

     摘要: 如果你只想试用一下Excel Services,你只想看看Excel Services发布的Excel工作簿是什么样。你暂时用不着外部数据,自定义函数等功能的话,跟我来,3步让你完成Excel Services的配置和使用。1)给服务器场启用Excel Calculation Services2)设置可信任的位置3)发布Excel工作簿发布出来的Excel工作簿如下:  阅读全文
posted @ 2006-12-03 18:36 FreePark 阅读(1087) | 评论 (9)编辑

2006年12月2日 #

     摘要: 1)SharePoint的工作流是基于文档的工作流,只能关联到列表,文档库和内容类型上2)SharePoint的工作流模板利用网站功能(Feature)来发布3)SharePoint的工作流模板(Template)不能直接被列表,文档库和内容类型所用4)工作流模板需要和列表,文档库和内容类型建立了关联才能被使用5)所有的SharePoint工作流示例都是从关联(Association)创建出来的6...  阅读全文
posted @ 2006-12-02 19:54 FreePark 阅读(3115) | 评论 (5)编辑

Creative Commons License
本作品采用知识共享署名 2.5 China许可协议进行许可。