自动化网站工作流核准过程和邮件报表

自动化关键技术过程前由人完成的任务完全由机器执行在此文章中,我将带诸位研究如何实现网站工作流审批自动化,以便提高工作效率

为何需要AutoApprov

每一个项目都有一套不同的需求, 任务之一是实现工作流审批过程自动化可想而知,要自动批准事物,工作流的目的何在?如前所述,有不同假设可能认为这种需求是必要的

并非因为风险批准内容可能不正确正因如此,工作流中有很多项目从翻译机构传入,为了验证内容,它需要物理批准推向阶段自动化实施将帮助我们知道翻译 并寄送相关内容团队成员验证验证完成后,用户可以简单推送Live

读更多

GetSitecore工作流项

文章中会看到如何获取Sevencore工作流项目代码和网站核心Powershell

工作流标识和工作流状态标识

vardb=Factory.GetDatabasevar workflow = db.WorkflowProvider.GetWorkflow(txtWorkflowID.Text)!var listofWorkflowItems = workflow.GetItems(txtWorkflowStateID.Text);

上方代码, 将获取工作流状态中项目列表 。我需要报告这些项 和URL于是我添加了以下代码获取所需数据并带入更多自动化我会分享更多细节 未来文章

布局取向如下:

              

获取工作流项列表

工作流ID:
工作流状态标识

我创建数据表并输入数据路径转换为 URL

代码 :

字符串Buildersb数据表tb受保护无效Onload/EventArgse{base.Onload/eif(Sitecore.Ctext.User.IsActive{lsumary.Text={tb=新数据表++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++tb.Columns.tb.Columns.tb.Columns.vardb=Factory.GetDatabase{var工作流=db.workflower.GetWorkflower/txworkflID.Text)var listofWorkflowItems = workflow.GetItems(txtWorkflowStateID.Text)!if(IblSumary.Text ="找不到项目"!lblSumary.可视=真+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
              
               列表Workfrorm=新链表
               
                立方公尺Forech项目组 {vrentTrojects=db.GetTrojects(ii.ItemID)DataRow项目=tb.NewRow项目Row[项目ID]=二.ItemID.String/项目路径s.Paths.FullPath/转项路径至URL字符串stringss.Empty){tringurlwinge=s/www.corptwebsite.com/+ii.Language+//这里您可做附加处理- 需要时获取URLLLWERLanguage=当前Troject.Paths.FullPath.ReplacejectRowslLoutLanguage.toLowertb.Rows.Add(itemRow)!lblCount.Text=Total项目:+tb.Rows.Count.StringgredLanguageReport.Data源码grdLanguageReport.DataBind()!{lbliSumary.Text=ex.StackTroce.toString}
               
              

选项提供文框中的Sitecore工作流Id和stateId并提取基于它的结果可添加特征下载报表入表

实现该目标的另一种最佳方式是使用网站核心Powershell,如果您有权限访问所需环境

提供工作流状态识别码,用Get-TrojectReferre就这么简单

$workflowStateID = Get-Item -Path master: -ID "{46DA5376-10DC-4B66-B464-AFDAA29DE84F}"  $referringItems = Get-ItemReferrer -Item $workflowStateID    #EmptyArray  $listofWorkflowItems = @()    #$listofWorkflowItems    #Skip System Items  Foreach($item in $referringItems) {         $itemPaths = $item.Paths.FullPath      if($item.Paths.FullPath.contains('/sitecore/content/'))      {          $rendering = $item | Get-Rendering                    $addInList = New-Object System.Object          $addInList | Add-Member -type NoteProperty -name ID -Value $item.ID          $addInList | Add-Member -type NoteProperty -name Path -Value $item.FullPath          if($rendering){              $addInList | Add-Member -type NoteProperty -name URL -Value $item.FullPath.Replace("/sitecore/content/Home","https://www.nikkipunjabi.com")          }                    $listofWorkflowItems += $addInList      }  }    $listofWorkflowItems | Show-ListView

输出 :

希望能帮助你,如果你正在寻找相似解决办法

网站布局快乐

站点工作流快速启动指南:第3部分

串联分三部分
第一部分 站点工作流快速启动指南
第二部分 网站核心工作流快速启动指南
第三部分 网站核心工作流快速启动指南第2部分,我们看到创建角色和用户 并分配工作流状态

评审者点击批准命令时,Sitecore触发验证动作,该动作检验项目无验证错误发生这种情况是因为批准命令中包含验证动作验证动作将取消项目从等待批准状态移动到发现错误时批准发布状态
验证操作没有发现差错时,批发命令将项目移到批发状态
实战吧
不允许重复工作流项目名发布
网站核心审查者试图批准 产品推广Workflow项目并重命名时
错误审查者不允许批准项目
编辑者/审查者/出版者对工作流项目应用注释时, 批注去向何方?
可见Streview标签中历史段注释
通知我你面对挑战或有更好的点子最受欢迎的是建议/评论/反馈
非常感谢Brijesh Patel www.techitpro.com奈尔希Thakkar www.nileshthakkar.com和Kiran Patil 必威棋牌官网登录sitecorebasics.wordpress.com帮助我理解funtas
引用 :

站点工作流快速启动指南2

串联分三部分

第一部分站点工作流快速启动指南
第二部分网站核心工作流快速启动指南
第三部分网站核心工作流快速启动指南

第1部分sitecore创建工作流,现在让我们创建角色用户 并分配工作流状态

1级 创建角色
最佳实践分配工作流规则给角色而非用户,所以我们将先创建角色,再分配用户创建三大角色
1级 网站核心编辑器
2级 sitecoreReviewer
3 sitecorePublisher

现在,当我们创建角色时,我们必须为角色分配角色 产生用户使用此特殊角色 登录网站核心并做一些动作
我们将分配 网站核心客户委托所有三大角色
打开角色管理程序并跟踪屏幕截图中给出的阶梯
1) 点击 sitecore\SitecoreEditor
2点播 成员
3+点击
4) 点击网站core/Sitecle客户端授权
5)点击确定
相似应用 网站核心客户委托网站核心审查员和网站核心Publisher

此外,我们需要分配网站核心客户发布角色对sitecorePublisher.网站核心Publisher应该能发布项目,所以这家伙需要网站核心客户发布角色网站编辑员和网站核心评审员无法发布PeductPubliingWokflor工作流

现在对每一个角色,我们必须分配那些项目,拥有这些角色的特定用户应该能够访问或执行动作
分配角色访问比用户访问很好,因为未来你需要创建多用户,这些用户必须能够执行相似动作,而不是很容易通过分配角色创建
默认读取分配所有角色
以我为例 MySearch搜索root项和子项工作流子项模板 MyTroject模板 上图显示
获取并创建 MySearch项目并阅读、写、重命名、创建并删除对后代访问(子项目/子项目/子项目)
类似地,我们分配阅读写访问网站核心审查者角色
发布者可批准/拒绝并发布项目,一旦发布者批准项目,它将移到Done状态并自动发布提供读写访问像网站核心审查者角色发布器发布项目后,我们已经赋予发布器额外作用,以便发布器发布项目移位
最重要的是我们必须给 正确 工作流状态访问这三个角色.
一步步行动先分配点数编辑器
Ok网站核心编辑器应只能创建、编辑项目并提交评审器,所以我们必须相应分配工作流状态。网站核心编辑器不能批准或发布项目安全设置已分配 ProductsPublishingWorkflow并发 后代传承状态预设应用现在我们必须拒绝读取网站CoreEditor角色批准、核准和发布Done States
相似点数审查器不能创建或提交项它只应能够批准或拒绝项目
网站核心审查者需要等待批准状态访问,所以我们已经分配它去Workflow及其子孙,故默认应用到等待批准状态无需分配或拒绝网站核心评审器批准状态
删除草稿、完成、核准并发布网站核心审查者访问
并相似点Publisher网站核心发布器无法创建项它只能批准项目发布或拒绝项目因此我们必须拒绝阅读等待批准和汇出状态
2级 创建用户
现在,我们将创建三大用户并分别分配三大角色
1级 网站编辑器
2级 网站评审器
3 WebsitePublisher
引用 本片链接知道如何创建新角色和如何创建新用户
创建用户时,你将获得向每个用户分配角色的选项,因此分配适当的角色,即网站编辑器用户将发挥网站核心编辑器作用,网站审查器用户将发挥网站核心审查器作用,网站Publier用户将分别发挥网站核心Publisher作用
参考下屏幕创建用户和分配角色
就是这样成交
可使用不同的用户测试
继续使用 第三编.

站点工作流快速启动指南:第1部分

串联分三部分
第一部分 站点工作流快速启动指南
第二部分 网站核心工作流快速启动指南
第三部分 网站核心工作流快速启动指南

工作流点保证项目通过预定义状态集
工作流中重要因素

1)状态
2命令
3)行动

  • 状态构建工作流表示工作流中的阶梯
  • 命令允许用户从状态向状态传递内容项
  • 动作自动函数工作流

工作流分配项目模板标准值,所有基于该模板发布的项目都输入工作流

假想内容项由用户创建后提交并审查,
工作流i
工作流项遵循ERP公式
编辑器审查器发布器
编辑创建项ReverorObject或Refer
项目被审查者拒绝后返回编辑器评审者批准项后,它即为批发状态并可由发布者批准发布
归根结底,我们应实现网站核心工作流实现如下:
1级 创建工作流
使用/sitecore/System/Workflows/并输入名称
初始状态分配前, 我们先创建状态
2级 创建工作流状态
选择工作流定义项和选择 从模板插入命令并创建新工作流状态 /System/Workflow/State模板化
调用第一个状态
Creating_Workflow_2_1
类似地创建三大工作流状态 等待核准、核准和发布
视需求而定,你是否必须创建2级或3级工作流检验三层工作流 即网站核心项最终实现状态 成交自动发布到Web数据库
句尾应包含以下内容:
Sitecore_Workflow_2_2
现在让我们把初始状态设为草稿
3 创建工作流命令
向工作流添加命令
状态 :
Creating_Workflow_Commands_3_1

Creating_Workflow_Commands_3_2
创建命令显示在下图中
Creating_Workflow_Commands_3_3




注意:您可以向命令提供有效名称 。命令显示用户举个例子出版社将访问批准发布状态选项代之以提供核准并发布拒绝

现在让我们在命令帮助下从一个状态向另一个状态过渡
点击提交上发状态命令并设置下一状态等待批准状态

Creating_Workflow_Commands_3_4

相似选择等待批准并设置下一状态审批发布

Creating_Workflow_Commands_3_5
选择-拒绝等待批准状态并设置下一状态相接
Creating_Workflow_Commands_3_6
相似地从批发状态批发命令指向下一状态并拒绝命令指向下一状态等待批准状态
注释 : 禁止注释: 复选框定义用户是否被提示输入注释 工作流命令执行时 如果复选框清除,用户会提示if复选框 选择用户不提示
4) 创建工作流动作
a. 验证动作
选择 核准工作流命令右键选择 从模板插入命令并创建新工作流程动作使用/System/Workflor/VerationAction模板调用新命令 验证动作.
Creating_Workflow_Actions_4_1
Creating_Workflow_Actions_4_2
取下屏输入Fields信息
Type Field: Sitecore.Workflows.Simple.ValidatorsAction,Sitecore.Kernel.
最大结果允许:警告
最大响应验证器
可能的值如下:
未知数
有效
建言
警告
错误
临界错误
致命错误
如果此字段值为“错误”,则有差错项会传递,但有关键差错项不会传递
错误结果填充正确报错信息
类似添加验证动作批准 核准并发布状态
b. 自动发布动作
数据段工作流动作包含以下字段:
类型 :
命名空间.类集名实现类
For Example: Sitecore.Workflows.Simple.PublishAction, Sitecore.Kernel
参数:
深度参数说明子项应否
发布
深度=1
发布子
深度=0
-不发布子
相关=1
发布儿童类7.2调用
5 定义工作流最终状态
选择工作流最后状态并选择数据字段最后勾选框
唯经出版商批发状态批发项目可转至DoneState工作流并自动发布
(6) 分配工作流模板
向模板标准值项分配工作流始终是最佳做法
选择标准字段复选框
离开Workflow和状态字段空白, 因为它们会自动填充项目创建时以工作流设置为基础 。 离开锁字段原封不动
保存模板并准备用工作流支持使用 第一阶段创建工作流完成
现在让我们看看如何使用工作流程创建-评审-发布项目 第2部分