RSS 2.0 Feed
2007-01 Entries
摘要:6、ECM Starter Kits 虽然是 for Beta2TR,但完全可以正常跑在正式版里,当然前提是对里面的个别打不开或跑不起来的项目进行一点修改。 CustomSignatures项目:把相关的 CorrelationToken 由 SignatureWorkflow 改为 SignaturesWorkflow。出现这种现象也不知道该说微软什么了,估计是赶时间推出这个 Sample。 ModificationSample项目:跑到 Workflow1.cs 代码里,找到 updateTask1 代码段,把相关 updateTask1.AssignedTo 等等都在中间加个  TaskProperties 属性,变成 updateTask1.TaskProperties.AssignedTo 这类的。 其他如果还有问题,可以具体看,要么注释,要么做修改,不影响整体代码可读性,大部分也都在正式版里运行正常。 7、我有这么一个场景,我一进去编辑 Task Form 时,该 Task Form 前面列出这条记录的Title等基本字段值,然后下面有“同意”或“下一步”的按钮,还有“拒绝”或“取消”的按钮。我点“同意”或“下一步”不要立马提交,而是转到显示另外一个Form让我填同意后需要处理的一些表单数据。如果我按“拒绝”或“取消”也转到显示另一个Form让我填不同意时要录入的另外一些信息。     这个应用只要你用过InfoPath的视图,就立刻知道怎么实施了。InfoPath的一个表单是允许多个视图的,所以你大可以把包含“同意”和“拒绝”的两个按钮的 Form 当作第一个默认视图,同时再增加一个同意后的视图和一个拒绝后的视图,然后制定这两个按钮的规则(Action里有switch view的这项),点同意就显示同意的视图,点不同意就显示不同意的视图,同时把同意或拒绝的状态值赋值给数据源中某个字段,这样就完全达到了上面的效果。     扩展下思路:你可以用radiobutton排出一队的选项,因为 radiobutton 绑定着一个字段,所以可以判断当用户选定哪个项时来决定我要显示哪个视图。比如,我有“全部公开”、“部分公开”和“不予公开”三个项,我选“全部公开”然后按下一步,就可以跑到全部公开的视图里填写一份政府公文,输入xxxx年xx号和备注后,按提交就完成这个步骤了;以此类推。     额外提下InfoPath,我们知道 InfoPath Form 不用编码本身就可以有一定规则流程的,这些动作包括常用的对输入数据的校验、根据某种条件进行某种动作、执行一些Action等。所以,你可以直接在表单里设置诸如必填字段、进行自动计算、动态增加节点数据、根据输入数据动态调整表单表现或设置数据源字段、根据一定规则执行一定操作等等,而大部分这些操作在发布到 MOSS 中进行 Web 显示时,还是可以正常使用的,使得数据收集这块变得异常方便快捷。 8、MOSS的Workflow历史记录在哪里?     你可以通过右键菜单中的Workflow菜单进去查看该条记录的工作流情况,有工作流的已经运行过的步骤产生的Task链接,也有每步的动作列表。如果想看所有Workflow的历史列表,可以访问 http://服务器/Lists/Workflow%20History 查看,不过估计那些数据不是人能看懂的。但至少可以保证,工作流从头到尾所有的业务数据和流程数据都是存在的,都可以提供给你去查到你所要的历史痕迹的。     如果你还熟悉Workflow Foundation的 TrackingService,你用了其Sample的 WorkflowMonitor 打算来跟踪查看 MOSS 的 Workflow 时,sorry,结果是无法运行,无法跟踪,无法查看。Why?没错,WorkflowMonitor可以利用Workflow Foundation的TrackingService跟踪监控Workflow,但是 MOSS 的 Workflow 却没有使用 Workflow Foundation 默认的 TrackingService(这个实在让人费解,不知出于什么目的),所以如果你要Monitor,那可以考虑为 MOSS 写一个 WPF Application 的 Workflow Monitor,相信这个 idea 应该还是不错的:-) 那MOSS怎么做历史跟踪,打开Reflector看看 Microsoft.SharePoint.WorkflowActions.dll里的相关类,也许就清楚了。 9、差不多了,这个 InfoPath + Workflow + MOSS 的主题就到此为止,这个主题仅仅是当作辅助参考。最后看了choral 的《如何配置Windows SharePoint Services 3.0的搜索》的文章的后面评论中,有人评论说 MOSS 不值得关注,而我则反过来想告诉大家一句话:请重视或正视MOSS!微软平台上的企业应用开发商/开发人员都必须重视这个产品,而微软的对手们也必须正视这个产品。也许答案在这张图里。 ...[阅读全文]

posted @ | Feedback (7) | Filed Under [ 微软企业服务器 微软前沿产品 ]

摘要:5、接上贴补充下一些内容。 如何看InfoPath表单是否发布成功:打开SharePoint 3.0管理中心,在应用程序管理有 InfoPath Form Services 一节,进入“Manage Form Template”就可以看到你所有发布的表单。其中看状态 Status 栏,如果为 Ready,则表示该表单已经准备好可以使用了;如果为 Installing,那就是有可能因为前面罗列的各种原因造成表单模板还无法正常发布,这时候你就要检查了。另外,你可以通过URL访问已经发布的表单,地址为类似 http://服务器/_layouts/formserver.aspx?XsnLocation=urn:schemas-microsoft-com:office:infopath:ReviewTaskForm:-myXSD-2005-11-22T23-52-35,后面 XsnLocation=跟上表单的 ID(URN)即可。 前面提过,在MOSS中,每个Workflow都是作为一个Feature存在,然后具体使用时再关联到某个List/Library中然后创建Workflow实例运行的。在一个Workflow生命周期里,业务数据自然主要就是List/Library中的记录数据SPListItem/SPFile,再辅之任务列表数据;而Workflow过程中需要的一些流程状态数据则被WF提供的服务持久化(术语好像叫“钝化”之类的)起来,供Workflow被启用时再度激活,从而顺利继续工作流的运作。 关于 Task。一开始很多要问为什么(是/要) Task?因为在 MOSS 2007 的 Workflow 中,对于业务流程中人的部分,即工作流中人为参与的部分主要是通过“任务 Task”形式实现的。即要某人来审批或添加些数据时,就在Task列表中创建分配一个 Task 给他,然后这个人过来编辑 Task,完成人为数据的录入采集,使得工作流继续运行。 上贴有提到如果不小心用VSTA打开产生后部C#/VB.NET代码后,发布时变成了需要经过管理员审核才能使用。为什么会这样?这类表单和其他表单还有什么区别吗?答案就在《Office Forms Server 简介》。 SharePoint Desginer 2007 的工作流设计不支持 InfoPath 表单形式吗?是的,很遗憾,SPD2007只支持 ASPX Form形式的 Task Form。所以如果要在 MOSS 2007 里开发 InfoPath + Workflow,还得用前面说过的方法。当然,前面的方法也支持 ASPX Form形式,详细可看 ECM Starter Kits中很经典的 ASPX Form 范例 —— CollectFeedback 示例。 为什么 Workflow.xml 中的 AssociationUrl="_layouts/CstWrkflIP.aspx" 和 InstantiationUrl="_layouts/IniWrkflIP.aspx" 不能换成其他页面?这些页面可以理解为 InfoPath Form 的 Host Page(实际是这些页面内部嵌入了显示InfoPath Form的WebPart),InfoPath Form Services处理 InfoPath Form后通过这些 xxxIP.aspx 的页面把 InfoPath Form表单以 Web Page形式呈现出来。所以,不能改变成其它页面,否则无法正常显示 InfoPath Form。 不太明白 ItemMetadata.xml 作用,或者说把SPListItem数据传给InfoPath Form并和InfoPath控件绑定显示出来的过程是怎样的?这个一开始确实比较费解。首先根据 SDK 操作一遍后,此时 ItemMetadata.xml 已经作为辅助数据源和资源文件保存在 InfoPath Form里了。记得,此时最好把 ItemMetadata.xml 理解为 InfoPath Form 的“数据源”!然后传递过程是这样的: 把准备传递给 Task......[阅读全文]

posted @ | Feedback (7) | Filed Under [ 微软企业服务器 微软前沿产品 ]

摘要:在MOSS 2007种利用InfoPath 2007结合Workflow Foundation可以高效的做出非常强大的工作流应用。因为在SDK中这部分的内容有点不流畅,读起来比较费劲。所以我想以我的一点小经验和大家Share下,希望能少走点弯路,然后再结合 SDK 、ECM Starter Kits 和 WSS Workflow StarterKits 快速掌握这个非常棒的功能。 1、我要创建用于 MOSS 的 Workflow 项目。      请下载 WSS Workflow StarterKits,安装后将有个"SharePoint Server"的组,内有 SharePoint Sequential Workflow Library 和 SharePoint State Machine Workflow Library 两个项目模板。利用这两个模板创建的项目,对 Workflow 的开发、部署都很方便。 项目用到的 Microsoft.Office.Workflow.Tasks.dll、Microsoft.SharePoint.dll 和 Microsoft.SharePoint.WorkflowActions.dll 均在装有MOSS 2007的机器的 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI\ 目录下。其中开发时主要注意记得在VS2005工具箱里注册 microsoft.sharepoint.WorkflowActions.dll,就可以从工具箱里拖拉出 MOSS 特有的 Workflow 控件了。 Feature.xml:在 MOSS 中, Workflow 是作为 MOSS 的 Feature 存在的,具体使用时再关联到具体某个 List 或 Library 中并创建实例运作的。因为 Feature.xml 文件就是安装部署时候要把生成的项目 dll 文件作为 Feature 注册到 MOSS 中的描述文件了。刚打开时是空的,只是一些提示,按提示插入 Feature 的 Snippets,就有一段 xml 代码插入。其中 GUID 可通过 VS2005 菜单 Tools 下的 Create GUID 创建一个新的 GUID 填入;中间有个 <ElementManifest Location="workflow.xml" /> 节点用于关联工作流 xml 描述文件。 Workflow.xml:工作流描述文件。其中有工作流名字Name(该名字在添加 Workflow 关联具体列表或文档库时显示在工作流列表中);GUID(同样通过 Create GUID 生成填入);CodeBesideClass和CodeBesideAssembly对应工作流类全名和程序集全称(项目如进行签名,此处需明确PublickToken,同时把 install.bat 中 gacutil 部分反注释掉);TaskListContentTypeId为工作流使用到的任务列表的 ContentType ID,默认为 Workflow Tasks......[阅读全文]

posted @ | Feedback (10) | Filed Under [ 微软企业服务器 微软前沿产品 ]