欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

如何在Drupal当中实现内容管理工作流 有大用 有大大用

一.可以利用Workbench模块(依赖于Workflow模块)实现工作流。

二.可以客制化生命周期当中的不同状态,转移,权限控制。

Home » Administration » Configuration » Workbench

image.png

三 普通用户可以通过Workbench模块管理自己所负责的内容

image.png


来自   https://blog.csdn.net/habout632/article/details/7745997


【Drupal教学】用Workbench客制化自己的后台样式

前言

用drupal做的网站功能非常多样化,需要的模组安装启用之后就能得到,本篇文章在为读者介绍其中一个好用的功能【workbench】,一个网站的组成很丰富,如果想要编辑网站的内容,就会需要一个集中管理的地方,简单来说就是要有一个自己的工作室,做出来的用途就是拿来管理自己的后台样式,这时候使用drupal做的网站可以很容易做出这个效果!

接下来让我们一起来看看这个网站优化的功能!

完成作品


这张图就是完成工作室的样子,可以看到里面把网站有的内容都清楚分类,看到完成品读者是不是也想要了解怎么做出这个功能呢?

以下开始步骤说明

当然首先要安装启动相关模组

1. 架构» Views » Add new view开始参考图片设定

根据需要的样子可以自己更改,这里呈现的是大部份的设定,这一步是让使用者新增一个专门的页面

2. 创建完成页面后的进阶设定

这一步是将想要显示的内容加入,并将想要拿来分类的条件也设定好,设定完成就可以进行下一步

3. 架构» 页面启动Workbench并编辑

这里可以把需要的页面加入,依照需求的位置点选齿轮加入

齿轮点开找到Views可以选取已经创建好的网页加入

4. 完成设计

启动Workbench之后预设会在左上角,可以点选我的工作室进入

完成之后的画面是不是可以很详细呢?

以最新公告为例,点进来会看到前面Views设定好的功能都会在这,依照需求可以很容易将内容进行编辑

讲解结束啰
文章总结有以下几个部分

  1. 安装并启用相关模组

  2. 从「架构» Views」中创建一个专用的页面,让网站可以使用

  3. 把需要管理的内容类型都加入

  4. 从「架构» 页面」中启动workbench并编辑想要呈现的位置

注意显示的图片要记得给限制,长宽设定(100x100)才不会有图片太大造成网页歪掉的状况
日期格式也照需求自订,但是更新日期通常会选成Time ago

使用心得把一个复杂的架构都整理到一个页面编辑,不但看起来美观,也能做到网站优化,虽然对没用过的人来说可能会很陌生,但总结来说就是模组设定,把需要的内容放进去而已,如果你也对管理网站觉得困扰,这篇文章的介绍相信能让你有所收获!

来自  https://www.hellosanta.com.tw/knowledge/category-37/post-216



Drupal工作流概览

现在,一个商业公司如果发布了静态或者过时的Web内容,会给人造成不合时宜、步履蹒跚的印象,因此,各种机构都体会到了要频繁创作Web内容,更新现有内容以及同在线用户分享文档的持续增长的压力。

内容维护的压力使得内容采编人员的编制随之增长,人数的增长就要求组织利用Drupal这样的内容管理系统,来开发并执行一套内容采编流程。最主要的挑战是如何为众多的采编人员提供一个环境,这一环境能够在不影响现有的内容,也不降低安全性的前提下,让采编人员能够发布内容。在此基础上,还要建立品牌标准并提供质量保障。这一过程涉及到的内容编写和审批的职责:

编辑/审批

  • 审查:是否有淫秽或者其他的负面内容?

  • 可读性:有没有语法、格式拼写或者其他类似问题?

  • 准确性:内容是否真实?其中涉及到的统计数字以及事实是否需要再次确认?

  • 品牌:是否正确使用公司的字体、颜色以及图片?内容、语气以及技术术语是否符合公司的标准?

  • 版权:公司是否有权发布这些内容、图像以及外部文档?所有的来源引用是否都有标明?

作者

  • 提供能够准确体现公司信息的内容。

  • 准确,专业,及时

  • 务必保证内容能够被团队以及其他受众接受,耸人听闻、哗众取宠永远不是好主意。

  • 发布内容应有保存价值,好内容的价值会持续较长的时间。别发什么公司野炊之类的破事,一周后就没人记得这回事了。

上面列出了两种角色,接下来我们看看Drupal 7能为这种场景提供什么样的解决方案。

Drupal 7核心目前并未提供发布内容的流程管理。一个内容Node(页面)只能是发布或者未发布状态。然而,有些第三方模块实现了我们需要的功能。

Workbench模块

Workbench

对内容管理工作流程,Workbench提供了模块化的支持能力。有很多模块可以启用或者禁用,以此来定制不同类型的工作流。这个模块包含大量代码,涉及到方方面面。还可以编写自己的模块对Workbench进行扩展。

WorkBench套件有很完备的演示视频、文档以及相关模块的连接。在这里必须夸奖一下他的高质量代码、文档以及深思熟虑的模块结构。这些模块以经典的Drupal模式构建,易于配置浏览和使用。Workbench的弹性令人印象深刻。他能简单的生成常见的简单工作流,也能针对各种环境,通过定制实现复杂的应用流程。

##Workflow模块

Workflow是本文中三个模块中最成熟的一个。他为内容发布状态管理提供了一个简单的工作流方案,他为指定的内容类型提供了包含草稿、审核以及发布状态。

用于承载状态的Field在内容编辑界面可以进行控制,同时也为管理员提供了简单的配置页面。还可以利用Views列出不同状态下的内容。

##Maestro模块

Maestro

Maestro是Drupal 7下面的一个非常强大的工作流系统,他通常见于出版性网站。有视频演示了一篇内容从草稿状态转变为发布状态的过程。这一系统可以满足出版者任何复杂需要,他也可以用极简的方式进行配置。

Maestor的最为独特的功能就是图形化的工作流设计器了。这一特性以图形界面提供了直觉化的工作流设计功能,其中以令人惊叹的方式提供了必要的配置功能。然而,这依然需要一些学习,新潮的界面和交互,以及右键菜单,都需要学习和适应。

抛开实现问题不谈,最重要的是识别工作流的需求。推荐下面的检查表,该列表用于确认需求的要点是否都被满足:

  • 版本:必须能够记录、回滚,并能够进行版本之间的比较。Drupal核心提供了版本控制能力,不过有些工作流模块提供了更好的扩展。

  • 备注:应该具有一个备注字段,让编辑和作者能够留下各自的备注。

  • 时间表:内容定时过期或定时撤回已发布内容是一个很有用的功能。

  • 审核队列:审核队列需要非常易用,这方面是否便利,会直接影响到系统的选型工作。

  • 多重审核:在内容发布之前,进行多步审核是很有帮助的。例如,可能三个或者四个部门经理需要在内容发布之前进行确认。

最后,工作流系统的合理建设,能够通过结构化的通信和有组织的内容,让组织内的各种角色更好的参与内容发布过程,极大的提高在线内容的质量。

来自  https://blog.fleeto.us/post/drupal-workflow-summary/



利用 Drupal Workflow 模块实现审批发表流程

工作流,在大多数出版和办公情景下都属于一个必选组件。在之前的译文中我也介绍了一些相关的 Drupal Module,不过之前的介绍都流于表面,并没有很完整的解决问题,因此这里以一个典型的编辑审批流程为样本,详细介绍 Workflow 模块的工作流设置方法。

目标需求

  1. 编辑人员在未完成编辑时,可以暂存草稿。

  2. 编辑完成之后,提交给上级进行审核。

  3. 审核人员可以选择批准或者驳回,审核通过的稿件即可发布,未能通过的则退回到草稿箱。

  4. 只有审核通过的内容才能被浏览

这里假设读者熟悉一般的 Drupal/Drush 操作,能够自行解决模块依赖等常见问题。

准备工作

首先是安装,这里我们用 Drush 来解决:

drush en -y workflow
#访问控制
drush en -y workflow_access
#Workflow和内容的关联
drush en -y workflowfield
#rules 集成
drush en -y workflow_rules
#views集成
drush en -y workflow_views
#管理界面
drush en -y workflow_admin_ui  

其次,我们建立两个角色:

  1. 编辑:editor

  2. 审核:auditor

设置工作流

根据上面的需求,我们可以确定,一篇文章有以下几个状态

  • 创建

  • 草稿

  • 审核

  • 通过

以此为依据,我们开始建立工作流:

访问 admin/config/workflow/workflow/add (配置-> Workflow)开始

命名,这里我们起名为“发布流程”,机读名称为 “workflow_publishment”。 保存后,开始编辑工作流的其他内容: 切换到states标签页,按照前面的结果输入状态,其中缺省的creation状态代表了我们的“创建”状态。录入结果如图所示

workflow states

这里我们给发布内容确定了四个状态,而工作流所做的工作的中心,就是状态的切换,定义了状态之后,我们打开Transitions标签页面开始定义他的切换,界面如图所示:

状态迁移

这个表格初看上去比较费解,这里做个简单的解释 这个表格的意思是,每个单元格,所在行(最左侧,行首)的状态,到所在列(最上排,列头)的状态之间的切换,可以由什么角色来完成。

因此图上的箭头 1,代表从创建到草稿的状态切换,可以由作者或者一个editor角色的人来完成;而箭头2,代表从创建到审核过程是没有人可以做的,换个说法就是不存在这种切换。按照这个概念,我们最终完成切换设置如下:

状态迁移设置结果

在设置完成各个状态之间的切换后,还有一个可选配置,就是给每个状态的切换动作进行命名,这些命名会显示在工作流按钮之上,给最终用户以更加清晰的指引。这一步骤位于“Labels”这一标签页上。

这里我们做出如下命名:

名称
草稿审核送审
审核通过发表
审核草稿驳回
发表草稿撤回

权限设置

最后我们可以在 Permission Summary 这一标签页来查看我们的设置,其中显示了各个角色能够完成的状态迁移。

设置访问权限

在实际工作中,一般来说,提交到下一环节的内容,原作者就不应该尝试变更了。而审核人员也不应该尝试修改编辑人员的草稿,为了流程的严谨性,我们还需要对访问权限进行设置。

之前我们启用的workflow_access模块就是用于这个目的。

这里我们设置所有人可以看所有流程的文档。

但是只有作者可以修改草稿状态的文档,只有审核人员可以修改审核过程中的文档。

验证设置结果

设置文档类型

这里我们新建一个简单的内容类型,命名为“需审核文档”,机读名称为“workflow_document”。保存后,为其添加字段field_workflow,字段类型为workflow,这一字段类型是由workflow_field模块声明的。这一类型的字段也是让文档流程化的关键点。

字段设置中,我们选择workflow type为我们之前设置完成的工作流名称,也就是“发布流程”,下面的微件类型,依照个人喜好,我比较习惯用按钮方式来呈现。

下面的两个记录选项,打开即可。

新建文档类型之后,需要为之前新建的角色分配权限。值得注意的是,Workflow Access 模块改写了核心的权限,因此,这里只需要给编辑人员新建这一类型文档的权限即可,其他权限由工作流进行控制。

新建文档

首先我们切换到editor角色的用户,新建一篇文档,保存后,我们会发现,多出一个工作流的标签页,其中按照我们之前对动作的命名,有草稿和送审两个状态。

这里我们可以分别切换成审核人员、管理员、匿名用户来分别查看这一 Node 对不同用户的权限区别以此验证我们之前对 Access 的设置是否正确。

新建结束之后,点击“送审”按钮,完成提交。

审核发布

接下来切换到审核账号,打开这篇新文章之后,我们可以点击“发表”按钮,完成发表动作;也可以选择“驳回”,让编辑人员重新编辑。

注意:这里按照我们之前的访问控制设计,审核人员是可以进行修改的

发布后

按照之前的设置,所有符合要求的角色都可以查看发布完成的结果了。

注意:如果想让匿名用户可以查看这一文档,则需要在权限中为匿名用户打开参与工作流的权限,并在上面的流程中,为匿名用户指定可以查看的状态。

Views

workflow_views 启用之后,会自动新建一个视图,称为workflow dashboard,其中包含了各种 Views 所需的字段过滤条件等,可以拿来参考。

Rules & Actions

Wrokflow 同样对这两部分进行了集成,可以根据不同流程的状态切换,结合 Actions 来完成一些自动操作。


来自 https://blog.fleeto.us/post/publish-workflow-in-drupal/



普通分类: