作者:成都长风云Drupal开发
最近,我在Drupal10的开发中遇到了一个相对简单的问题,并决定探索ECA作为一种可能的解决方案。最初的问题是一个非常简单的用例,可以通过一些自定义代码来完成。随着这个博客转移到Drupal,我们建立了一个简单的编辑工作流程,为我们的营销团队提供了一些保护和对发布过程的控制。自发布以来,我们决定将此工作流程从“草稿”->“审阅”->“已发布”扩展为包含一个新状态“技术审阅”。新流程将是草案->技术评审->评审->发布。
一、管理技术评审员并扩展工作流程
为了便于技术审查,我添加了工作流参与者模块。这使得作者可以指定编辑或审稿人对帖子进行技术审查,然后再将其发送给市场营销部门进行审查和发布。不幸的是,由于“工作流参与者”模块添加了一个本地任务,而不是扩展编辑表单,因此缺乏开箱即用的创作体验,因此作者必须知道如何单击该选项卡来添加其技术审阅者。
为了解决这个问题,我求助于ECA。我创建了一个简单的模型,当博客转换到“技术审查”状态时触发它。当该事件触发时,ECA模型将作者重定向到“工作流参与者”URI,并设置一条消息来指导作者如何添加技术审查员。
二、进一步建设以应对新挑战
这个简单的模型解决了我们最初的问题。解决了这个问题,我收到了我们的下一期。为了保持博客在网站上的显示一致,我们希望确保每个帖子都有媒体,但我们不想让媒体字段成为必需的。为了使创作体验尽可能流畅,我们希望我们的员工能够登录并开始撰写帖子,尽可能减少障碍。仅仅为了保存初稿就强迫他们找到媒体并在帖子中添加媒体,这将是一个障碍。我想要一个更优雅的解决方案,而不是制作所需的字段,或者必须联系作者并要求他们进一步添加媒体。
为了解决这个问题,我在ECA中添加了另一个模型。当作者将其帖子转换为技术评论时,此模型会触发。在转换时,它会检查媒体字段是否为空,如果为空,则模型会设置一条消息,要求作者添加图像,将帖子的状态设置回“草稿”,并将作者重定向回编辑表单。
有了这种新的流量,媒体领域现在是一个“软”需求。你不必添加媒体来创建博客或编辑草稿,但当你完成后,你想发送帖子供审查时,你会得到指导,需要添加图片才能继续。
三、将其整合在一起
我通过在技术审查模型上添加一个检查来检查媒体,将这两个流程联系在一起,所以现在如果有媒体,并且您转到技术审查,则会被重定向到添加工作流参与者,如果没有图像,则会重定向回编辑视图并要求添加图像。
最后,我将其简化为一个模型,该模型如下所示:
虽然所有这些都可以通过自定义模块和一些代码来完成,但ECA使原型和实现解决方案变得快速而简单,然后将其扩展到新的用例中。这有助于改善我们的作者和营销团队编辑的创作体验和工作流程。
四、专业的Drupal开发团队 - 成都长风云Drupal开发团队
在2024年,我们已经专注于Drupal开发16年(始于2008年)。无论您计划从Drupal7升级到Drupal10、从旧版本迁移到Drupal9、基于Drupal开发新的系统、企业官网、电商网站,维护基于Drupal开发的系统等,我们都能依靠我们的专业技术为您完成。手机号:13795726015 或 微信号:changfengqj 扫微信二维码:
备注:本文涉及的模块
eca:https://www.drupal.org/project/eca
workflow_participants:https://www.drupal.org/project/workflow_participants