设为首页 收藏本站
查看: 883|回复: 0

[经验分享] K2与SharePoint 2003集成特征

[复制链接]

尚未签到

发表于 2015-9-25 11:56:46 | 显示全部楼层 |阅读模式

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

  • 向文档库中添加文档;
  • 签入文档;
  • 签出文档;
  • 删除文档;
  • 更新文档;
  • 复制或者移动文档。
K2.net任务列表Web部件
  使用K2.net任务列表部件,用户可以从SharePoint站点上查看并执行自己的任务。SharePoint系统管理员或者用户可以将K2.Net任务列表部件放在任何一个页面上。点击Web部件中的项目,任务就会在新窗口中打开,用户可以在新窗口中执行任务。
   用户可以对K2.net的任务列表进行定制:

  • 设定显示的最多任务项数目;
  • 刷新频率;
  • 显示列;
  • 设定Process、Activity、Event或Worklist Item状态筛选条件;
  • 设定排序列及排序方式。
   DSC0000.jpg
  
从K2.net到SharePoint的集成
  K2.net为用户操作SharePoint站点中的信息提供了多种集成组件。这些组件称为K2.net Server Events,能够创建和操作SharePoint Workspace、Document和List。这些组件包括:

  • 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)。
   DSC0001.gif
  
SharePoint 2003 List Event
  SharePoint 2003 List Event功能更为强大,因为SharePoint中绝大多数信息都是以列表的方式储存的。使用SharePoint 2003 List Event用户可以创建、更新、删除任何标准的列表库或者用户自定义列表。
   DSC0002.jpg
  
SharePoint 2003 Workspace Event
  SharePoint 2003 Workspace Event用于在流程执行过程中创建或者删除SharePoint站点或者工作区。用户可以通过代码方式或者流程字段定义SharePoint站点或者工作区的名称、标题以及描述等等。同时用户还可以指定站点或者工作区所使用的模版。可用的模版直接读取自SharePoint站点,包括任何用户自定义的模版。
   DSC0003.jpg
  
SharePoint 2003 Multiple Documents Event
  SharePoint 2003 Multiple Documents Event与XML附件字段配合使用。XML附件字段可能包含多个文档。执行此向导时,用户需要选择希望执行的动作。所选择的动作对XML附件字段中的每个文档都执行同样的操作。
   DSC0004.gif
  在用户前台通过拖放式方式进行操作的同时,K2 Server会在后台自动生成相应的代码。如:


DSC0005.gif DSC0006.gif Public Sub Main()Sub Main(ByRef K2 As ServerEventContext)
DSC0007.gif
    ' Set up variables
    Dim Temp as String, ErrorMessage As String = ""

    Dim Server As String
    Server = "http://demo:81/"

    If Not Server.EndsWith("/") Then Server &= "/"

    Dim Site As String
    Site = ""

    If Not Site.EndsWith("/") And Site.Trim <> "" Then Site &= "/"

    Dim Folder As String
    Folder = "Shared Documents"
    If Not Folder.EndsWith("/") Then Folder &= "/"

    Dim File As String
    File = K2.ProcessInstance.Folio

    Dim LocalFolder As String
    LocalFolder = "D:\"

    Dim LocalFile As String
    LocalFile = "code.txt"

    Dim SpsList As New K2SPSList()

    ' Set Url for Web Service
    SpsList.Url = Server & "_vti_bin/K2SpsList.asmx"

    ' Set Credentials
    Dim SpsUtils As New SourceCode.K2SPUtilities.SPSUtilities
    SpsList.Credentials = SpsUtils.GetCredentials(Server)

    ' Build The file path
    Dim LocalFilePath as String
    If Not LocalFolder.EndsWith("\") Then
        LocalFilePath = LocalFolder & "\" & LocalFile
    Else
        LocalFilePath = LocalFolder & LocalFile
    End If

    ' Read File Into Byte Array
    Dim oByte() as Byte
    Dim K2B64 as New K2Base64.K2Base64()
    oByte = K2B64.FileToByteArray(LocalFilePath)

    ' Call Web Service to Upload Document
    If Not SpsList.UploadDocument(Server, Site, Folder, _
                        File, oByte, False , ErrorMessage) Then
        ' Error Occurred in UploadDocument - Raise Error
        Throw New System.Exception(ErrorMessage)
    End If

    InitializeXmlField(K2.ProcessInstance.XmlFields("AttachedDocuments"))

    ' Update the Attahment field
    Dim sAtt As String
    sAtt = K2.ProcessInstance.XmlFields("AttachedDocuments").Value
    sAtt = SpsUtils.AddAttachmentField(sAtt, _
        Server, Site, Folder, File)
    K2.ProcessInstance.XmlFields("AttachedDocuments").Value = sAtt
   
DSC0008.gif End Sub
DSC0009.gif
Private Sub InitializeXmlField()Sub InitializeXmlField(ByRef oXmlField As SourceCode.KO.XmlField)
    If oXmlField.Value Is Nothing OrElse oXmlField.Value = "" Then
        ' Check if Meta Data exist to initialize the field
        If oXmlField.MetaData Is Nothing OrElse oXmlField.MetaData = "" Then
            Throw New System.Exception("The " & oXmlField.Name & " XML field could not be initialized.")
        Else
            oXmlField.Value = oXmlField.MetaData
        End If
    End If
End Sub
待续。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118661-1-1.html 上篇帖子: SharePoint 创建 Lookup 类型的Site Column解决跨站问题 下篇帖子: SharePoint 2013 创建web应用程序报错"This page can’t be displayed"
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表