As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
Yes in order to create the new workflow you need to fist create one workflow node set all that related properties in that.For assignee you need to create start task and then set assignee as its parameter. than you need to update the start task.So it will trigger the workflow.
WorkflowService workflowService = serviceRegistry.getWorkflowService(); NodeRef workflowNodeRef = workflowService.createPackage(null); Map<QName, Serializable> properties = new HashMap<QName, Serializable>(); Date date = new Date(System.currentTimeMillis()); properties.put(WorkflowModel.ASSOC_PACKAGE, workflowNodeRef); NodeRef personNodeId = personService.getPerson("USER_TEST"); properties.put(WorkflowModel.ASSOC_ASSIGNEE,personNodeId ); properties.put(WorkflowModel.PROP_DUE_DATE, date); properties.put(WorkflowModel.PROP_DESCRIPTION, "PROP_DESCRIPTION"); properties.put(WorkflowModel.PROP_WORKFLOW_DUE_DATE, date); properties.put(WorkflowModel.PROP_WORKFLOW_DESCRIPTION, "PROP_WORKFLOW_DESCRIPTION"); WorkflowPath path = workflowService.startWorkflow(wid, parameters); WorkflowTaskQuery query = new WorkflowTaskQuery(); query.setTaskState(WorkflowTaskState.COMPLETED); query.setTaskState(WorkflowTaskState.IN_PROGRESS);
Button save; this.addButton( save = new Button("Save) ); save.addListener(Events.Select, new Listener<ButtonEvent>() { @Override public void handleEvent(ButtonEvent be) { addWorkflow(); }; } });
public void addWorkflow() { WorkflowService workflowService = null; NodeRef nodeRef; Date date = new Date(); NodeRef wfPackage = workflowService.createPackage(null); Map<QName, Serializable> properties = new HashMap<QName, Serializable>(); properties.put(WorkflowModel.PROP_TASK_ID, 3); properties.put(WorkflowModel.PROP_DUE_DATE, new Date()); properties.put(WorkflowModel.PROP_PRIORITY, 1); // task instance field properties.put(WorkflowModel.PROP_PERCENT_COMPLETE, 10); // context variable properties.put(WorkflowModel.PROP_START_DATE, date.getTime()); properties.put(WorkflowModel.PROP_WORKFLOW_DESCRIPTION, "Prova aggiunta workflow"); workflowService.createPackage(wfPackage); WorkflowDefinition wfDefinition = workflowService.getDefinitionByName(WorkflowModelModeratedInvitation.WORKFLOW_DEFINITION_NAME); if (wfDefinition == null) { Object objs[] = { WorkflowModelModeratedInvitation.WORKFLOW_DEFINITION_NAME }; throw new InvitationException("invitation.error.noworkflow", objs); } WorkflowPath wfPath = workflowService.startWorkflow(wfDefinition.getId(), properties); }