在Alfresco中使用规则和简单的javascript开始非常简单,但我仍然试图通过javascript添加资源来启动工作流程.
我的目标是添加用于启动流程的文档(或文档),这样我就可以在Alfresco WorkDesk的Alfresco BPM的"OW_ATTACHMENTS"中获得引用.我用bpm尝试了很多次:workflowpagckage或bpm:包没有运气....帮助!
编辑:
function startWorkflow(name,docNode)
{
var workflow = actions.create("start-workflow");
workflow.parameters["bpm:workflowPackage"] = docNode;
workflow.parameters.workflowName = "activiti$AdHocactivitiTimer";
workflow.parameters["bpm:assignee"] = people.getPerson("admin");
workflow.parameters["bpm:workflowDescription"] = "test";
workflow.parameters["bpm:workflowPriority"] = "2";
workflow.parameters["bpm:sendEMailNotifications"] = true;
workflow.parameters["initiator"] = people.getPerson("admin");
var today = new Date();
var duedate = today.getDate() + 1;
workflow.parameters["bpm:workflowDueDate"] = duedate;
workflow.execute(document);
}
function main()
{
var docNode = search.findNode(document.nodeRef);
var name = document.name;
startWorkflow(name,docNode);
}
main();
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用activiti 5.16.1在我的项目中启用工作流程.
我有一个spring bean,它执行业务任务,例如从数据库中为给定的id填充数据.
当我尝试在JavaDelegate任务中使用这些bean时,不会填充这些bean.
@Component
public class ServiceClassDelegateSample implements JavaDelegate {
@Autowired
private SampleService sampleService;
@Override
public void execute(DelegateExecution delegateExecution) throws Exception {
sampleService.doSomeTask();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,sampleService始终设置为null.
您是否了解如何在JavaDelegate任务中使用spring bean?
有类似的问题在这里没有任何妥善的解决办法,我希望有Activiti中的较新版本的更好的方法.
我们应该使用camunda生成的表单以及camunda的任务列表和管理屏幕,还是应该开发自定义UI.
如果我们开发自定义UI,我们将获得类似于其他企业应用程序的屏幕布局.此外,我们有时会将流程集成到现有系统中.例如:HR可以登录企业HRM应用程序并列入应用程序,而不是登录到camunda并进行筛选.
但是,开发自定义UI的缺点是,如果我更改图中的流程以添加一个新的用户任务,我还必须修改自定义UI应用程序.
使用Camunda表单和UI的优点是,可以立即实现任何流程建模更改.但缺点是屏幕布局与其他企业应用程序不同.此外,所有用户都必须登录camunda才能完成任务.
BPMN空间中关于UI的最佳实践是什么?是否可以开发自定义UI,或者建议使用由camunda创建的表单和屏幕?
此问题可能适用于任何其他BPMN开源替代品,也适用于camunda.
我希望能够为Eclipse Juno中的项目创建部署工件.我已经为eclipse安装了activiti,但是当我右键单击项目时,仍然存在"创建部署工件"选项.
我正在寻找通过过滤完成日期来查询 Activiti 中已完成任务的解决方案。因为一旦它们完成act_hi_taskinst,BPMN 引擎就会将完成的任务条目移动到表中,我希望所需的过滤器在HistoricTaskInstanceQuery类中。但是没有什么能像startedAfter/startedBefore和finishedAfter/finishedBefore像方法HistoricProcessInstanceQuery。该表具有start_time_和end_time_列,因此没有理由不能进行这种查询。
是否有其他方法可以通过这些属性进行过滤,或者目前解决此问题的唯一方法是act_hi_tasks直接绕过 Activiti 引擎查询表?
我希望工作流程详细信息页面显示启动任务的描述性名称,而不是历史记录表格中的表单ID.userTasks的name属性工作正常,但我无法在startEvent上运行它.如下所示:
<startEvent id="start" name="Início" activiti:initiator="initiatorUserName"
activiti:formKey="workflowdocumentrequest:start">
<userTask id="userTask1" name="Revisão da Requisição de Documento Físico"
activiti:assignee="${workflowdocumentrequest_destination.properties.userName}"
activiti:formKey="workflowdocumentrequest:review">
Run Code Online (Sandbox Code Playgroud)

我需要做什么?
我安装了Activity Explorer和H2独立服务器.一切正常,正如我所见:我可以启动工作流程,声明并完成用户任务,但这还不够.我需要工作流来调用外部服务,假设通过REST.但我不知道如何部署代码来做到这一点.这可能是在工作流xml中使用javascript(或groovy),还是有任何方法可以注入Java代码,甚至可以部署Java模块?我对这项技术感到很困惑,任何一个例子都可以提供帮助.
我正在使用 Spring Boot,我正在尝试部署一个非常简单的过程。
我试图把过程定义放置一个名为文件夹中processes的src/main/resources。不确定是否有效,我还尝试手动部署流程定义。
过程是:
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn"
targetNamespace="MyProcessesNamespace">
<process id="oneTaskProcess" name="The One Task Process" isExecutable="true">
<startEvent id="theStart" />
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" />
<userTask id="theTask" name="my task" />
<sequenceFlow id="flow2" sourceRef="theTask" targetRef="theEnd" />
<endEvent id="theEnd" />
</process>
</definitions>
Run Code Online (Sandbox Code Playgroud)
我用来手动部署它的代码是:
DeploymentBuilder db = repositoryService.createDeployment().
name("Deployment name");
Resource processesResource = resourceLoader.getResource("classpath:processes");
File processesFolder = processesResource.getFile();
Collection<File> files =
FileUtils.listFiles(processesFolder, null, false);
for (File f : files) {
InputStream is = new FileInputStream(f);
db.addInputStream(f.getName(), is); …Run Code Online (Sandbox Code Playgroud) 我需要知道如何创建自定义验证规则以将其应用于Activiti表单中的特定字段,以及如何将所有文件一起部署到其引擎。
谢谢
我正在尝试在 Activiti 中实现两个应该并行运行的服务任务。下面编写的代码随机(有趣的是)可以正常工作。
我的意思是它偶尔只打印“ first”(或“ second”)或打印两个first“一个second”等。
问题:如何使这些服务始终并行运行?无论当前运行的服务数量如何?
PS:当我activiti:async="true"从流程定义中删除时,它只打印“ first”或“ second”。我想我需要那个:)
<?xml version='1.0' encoding='UTF-8'?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn" targetNamespace="Examples">
<process id='testparallelact' name="Developer Hiring" isExecutable="true" activiti:exclusive="false" activiti:async="true">
<startEvent id="theStart" />
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="fork" />
<parallelGateway id="fork" activiti:async="true" />
<sequenceFlow sourceRef="fork" targetRef="receivePayment" />
<sequenceFlow sourceRef="fork" targetRef="shipOrder" />
<serviceTask id="receivePayment" name="Receive Payment" activiti:async="true" activiti:exclusive="false"
activiti:expression="${serviceConnections.runThis2('First')}"/>
<sequenceFlow sourceRef="receivePayment" targetRef="join" />
<serviceTask id="shipOrder" name="Ship Order" activiti:async="true" activiti:exclusive="false"
activiti:expression="${serviceConnections.runThis2('Second')}"/>
<sequenceFlow sourceRef="shipOrder" targetRef="join" />
<parallelGateway id="join" /> …Run Code Online (Sandbox Code Playgroud) activiti ×10
java ×5
alfresco ×3
bpmn ×3
business-process-management ×1
camunda ×1
eclipse ×1
javascript ×1
spring ×1
spring-boot ×1
workflow ×1