K2与SharePoint 2003集成特征

K2.Net提供了从SharePointK2.Net和从K2.NetSharePoint的集成组件,同时支持与SPSWSS的集成。

SharePointK2.net的集成

这种集成为SharePoint文档库和表单库提供了企业级的流程功能。典型的应用场景是需要文档审批的业务流程。我们可以使用SharePoint事件(Event)发起一个新的K2流程实例。这些事件包括:

  • 向文档库中添加文档;
  • 签入文档;
  • 签出文档;
  • 删除文档;
  • 更新文档;
  • 复制或者移动文档。

K2.net任务列表Web

使用K2.net任务列表部件,用户可以从SharePoint站点上查看并执行自己的任务。SharePoint系统管理员或者用户可以将K2.Net任务列表部件放在任何一个页面上。点击Web部件中的项目,任务就会在新窗口中打开,用户可以在新窗口中执行任务。

 用户可以对K2.net的任务列表进行定制:

  • 设定显示的最多任务项数目;
  • 刷新频率;
  • 显示列;
  • 设定ProcessActivityEventWorklist Item状态筛选条件;
  • 设定排序列及排序方式。

WebPart.jpg

K2.netSharePoint的集成

K2.net为用户操作SharePoint站点中的信息提供了多种集成组件。这些组件称为K2.net Server Events,能够创建和操作SharePoint WorkspaceDocumentList。这些组件包括:

  • SharePoint 2003 Document Event
  • SharePoint 2003 List Event
  • SharePoint 2003 Workspace Event
  • SharePoint 2003 Multiple Documents Event

SharePoint 2003 Document Event

SharePoint 2003 Document Event能够创建和操作SharePoint文档库中的文件。用户可以上传文档获取文档最新版本删除文档签入/签出文档或者审批/否决文档。另外用户还可以用SharePoint 2003 Document Event获取或者设定文档的元数据(Metadata)。

SPS_Doc.gif

SharePoint 2003 List Event

SharePoint 2003 List Event功能更为强大,因为SharePoint中绝大多数信息都是以列表的方式储存的。使用SharePoint 2003 List Event用户可以创建、更新、删除任何标准的列表库或者用户自定义列表。

SPS_List.jpg

SharePoint 2003 Workspace Event

SharePoint 2003 Workspace Event用于在流程执行过程中创建或者删除SharePoint站点或者工作区。用户可以通过代码方式或者流程字段定义SharePoint站点或者工作区的名称、标题以及描述等等。同时用户还可以指定站点或者工作区所使用的模版。可用的模版直接读取自SharePoint站点包括任何用户自定义的模版。

SPS_WorkSpace.jpg

SharePoint 2003 Multiple Documents Event

SharePoint 2003 Multiple Documents EventXML附件字段配合使用。XML附件字段可能包含多个文档。执行此向导时,用户需要选择希望执行的动作。所选择的动作对XML附件字段中的每个文档都执行同样的操作。

SPS_MultiDoc.gif

在用户前台通过拖放式方式进行操作的同时,K2 Server会在后台自动生成相应的代码。如:

ExpandedBlockStart.gif ContractedBlock.gif Public   Sub Main() Sub Main(ByRef K2 As ServerEventContext) 
InBlock.gif
InBlock.gif    
' Set up variables
InBlock.gif
    Dim Temp as String, ErrorMessage As String = ""
InBlock.gif

InBlock.gif
    Dim Server As String
InBlock.gif    Server 
= "http://demo:81/"
InBlock.gif

InBlock.gif
    If Not Server.EndsWith("/"Then Server &= "/" 
InBlock.gif
InBlock.gif    
Dim Site As String
InBlock.gif    Site 
= ""
InBlock.gif

InBlock.gif
    If Not Site.EndsWith("/"And Site.Trim <> "" Then Site &= "/" 
InBlock.gif
InBlock.gif    
Dim Folder As String
InBlock.gif    Folder 
= "Shared Documents"
InBlock.gif
    If Not Folder.EndsWith("/"Then Folder &= "/" 
InBlock.gif
InBlock.gif    
Dim File As String
InBlock.gif    File 
= K2.ProcessInstance.Folio
InBlock.gif
InBlock.gif    
Dim LocalFolder As String
InBlock.gif    LocalFolder 
= "D:\"
InBlock.gif

InBlock.gif
    Dim LocalFile As String
InBlock.gif    LocalFile 
= "code.txt"
InBlock.gif

InBlock.gif
    Dim SpsList As New K2SPSList()
InBlock.gif
InBlock.gif    
' Set Url for Web Service 
InBlock.gif
    SpsList.Url = Server & "_vti_bin/K2SpsList.asmx"
InBlock.gif

InBlock.gif
    ' Set Credentials 
InBlock.gif
    Dim SpsUtils As New SourceCode.K2SPUtilities.SPSUtilities
InBlock.gif    SpsList.Credentials 
= SpsUtils.GetCredentials(Server)
InBlock.gif
InBlock.gif    
' Build The file path
InBlock.gif
    Dim LocalFilePath as String
InBlock.gif    
If Not LocalFolder.EndsWith("\"Then
InBlock.gif        LocalFilePath 
= LocalFolder & "\" & LocalFile
InBlock.gif    
Else
InBlock.gif        LocalFilePath 
= LocalFolder & LocalFile
InBlock.gif    
End If
InBlock.gif
InBlock.gif    
' Read File Into Byte Array
InBlock.gif
    Dim oByte() as Byte 
InBlock.gif    
Dim K2B64 as New K2Base64.K2Base64() 
InBlock.gif    oByte 
= K2B64.FileToByteArray(LocalFilePath)
InBlock.gif
InBlock.gif    
' Call Web Service to Upload Document
InBlock.gif
    If Not SpsList.UploadDocument(Server, Site, Folder, _ 
InBlock.gif                        File, oByte, 
False , ErrorMessage) Then
InBlock.gif        
' Error Occurred in UploadDocument - Raise Error
InBlock.gif
        Throw New System.Exception(ErrorMessage)
InBlock.gif    
End If
InBlock.gif
InBlock.gif    InitializeXmlField(K2.ProcessInstance.XmlFields(
"AttachedDocuments"))
InBlock.gif
InBlock.gif    
' Update the Attahment field
InBlock.gif
    Dim sAtt As String
InBlock.gif    sAtt 
= K2.ProcessInstance.XmlFields("AttachedDocuments").Value
InBlock.gif    sAtt 
= SpsUtils.AddAttachmentField(sAtt, _
InBlock.gif        Server, Site, Folder, File)
InBlock.gif    K2.ProcessInstance.XmlFields(
"AttachedDocuments").Value = sAtt
InBlock.gif    
ExpandedBlockEnd.gif
End Sub

None.gif
ExpandedBlockStart.gifContractedBlock.gif
Private   Sub InitializeXmlField() Sub InitializeXmlField(ByRef oXmlField As SourceCode.KO.XmlField)
InBlock.gif    
If oXmlField.Value Is Nothing OrElse oXmlField.Value = "" Then
InBlock.gif        
' Check if Meta Data exist to initialize the field
InBlock.gif
        If oXmlField.MetaData Is Nothing OrElse oXmlField.MetaData = "" Then
InBlock.gif            
Throw New System.Exception("The " & oXmlField.Name & " XML field could not be initialized.")
InBlock.gif        
Else
InBlock.gif            oXmlField.Value 
= oXmlField.MetaData
InBlock.gif        
End If
InBlock.gif    
End If
ExpandedBlockEnd.gif
End Sub

待续。

转载于:https://www.cnblogs.com/dwang/archive/2005/08/15/215474.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值