08-14-2014 05:08 PM
04:56:34,959 [http-bio-8081-exec-2] INFO org.activiti.engine.impl.bpmn.deployer.BpmnDeployer - Processing re
source Analysis.bpmn20.xml
04:56:35,016 [http-bio-8081-exec-2] WARN org.activiti.engine.impl.bpmn.parser.BpmnParse - Following warnings
encountered during process validation: [Validation set: 'activiti-executable-process' | Problem: 'activiti-di
-invalid-reference'] : Invalid reference in diagram interchange definition: could not find analysis_pool - [Ex
tra info : ]
[Validation set: 'activiti-executable-process' | Problem: 'activiti-di-invalid-reference'] : Invalid reference
in diagram interchange definition: could not find lane1 - [Extra info : ]
[Validation set: 'activiti-executable-process' | Problem: 'activiti-di-invalid-reference'] : Invalid reference
in diagram interchange definition: could not find lane2 - [Extra info : ]
Aug 14, 2014 4:56:35 PM com.vaadin.Application terminalError
SEVERE: Terminal error:
com.vaadin.terminal.gwt.server.UploadException: Upload failed
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.streamToReceiver(AbstractCommunicationManager.
java:623)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleXhrFilePost(AbstractCommunicationManag
er.java:520)
at com.vaadin.terminal.gwt.server.CommunicationManager.handleFileUpload(CommunicationManager.java:267)
(…)
Caused by: java.lang.NullPointerException
at org.activiti.explorer.ui.management.deployment.DeploymentUploadReceiver.showUploadedDeployment(DeploymentU
ploadReceiver.java:114)
at org.activiti.explorer.ui.management.deployment.DeploymentUploadReceiver.uploadFinished(DeploymentUploadRec
eiver.java:73)
(…)
From reading the forums, it would seem that the warnings about the lanes are nothing to be worried aout ( I have another Diagram that has those warnings, but publishes just fine).
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<collaboration id="Collaboration_analysis">
<participant id="analysis_pool" name="Search Analsysis and Trademark Processing" processRef="analysis"></participant>
</collaboration>
<process id="analysis" name="Search Analysis and Trademark Processing" isExecutable="true">
<laneSet id="laneSet_analysis">
<lane id="lane1" name="Onscope">
<flowNodeRef>startevent1</flowNodeRef>
<flowNodeRef>init</flowNodeRef>
<flowNodeRef>translate</flowNodeRef>
<flowNodeRef>nice</flowNodeRef>
<flowNodeRef>headings</flowNodeRef>
<flowNodeRef>vienna</flowNodeRef>
<flowNodeRef>verbalAnalysis</flowNodeRef>
<flowNodeRef>preAnalysis</flowNodeRef>
<flowNodeRef>figurativeAnalysis</flowNodeRef>
<flowNodeRef>tmProcessing</flowNodeRef>
<flowNodeRef>onscopeManualOrAutomated</flowNodeRef>
<flowNodeRef>join</flowNodeRef>
<flowNodeRef>endevent2</flowNodeRef>
</lane>
<lane id="lane2" name="Cipo">
<flowNodeRef>approval</flowNodeRef>
<flowNodeRef>cipoManualOrAutomated</flowNodeRef>
</lane>
</laneSet>
<startEvent id="startevent1" name="Start"></startEvent>
<sequenceFlow id="flow1" sourceRef="init" targetRef="tmProcessing"></sequenceFlow>
<parallelGateway id="tmProcessing" name="Exclusive Gateway"></parallelGateway>
<userTask id="translate" name="Translate" activiti:candidateGroups="onscope">
<extensionElements>
<activiti:formProperty id="translation" name="Goods and Services Translation" type="string" expression="#{trademark.goodsTranslation}"></activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow2" sourceRef="tmProcessing" targetRef="translate"></sequenceFlow>
<sequenceFlow id="flow5" name="if Figurative" sourceRef="tmProcessing" targetRef="vienna">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${trademark.isFigurative}]]></conditionExpression>
</sequenceFlow>
<userTask id="headings" name="Headings" activiti:candidateGroups="onscope">
<extensionElements>
<activiti:formProperty id="headings" name="Verbal Headings" type="string" expression="#{trademark.headings}"></activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow8" sourceRef="headings" targetRef="verbalAnalysis"></sequenceFlow>
<userTask id="vienna" name="Vienna" activiti:candidateGroups="onscope">
<extensionElements>
<activiti:formProperty id="vienna" name="Vienna Classification" type="string" expression="#{trademark.vienna}"></activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow9" sourceRef="vienna" targetRef="preAnalysis"></sequenceFlow>
<userTask id="preAnalysis" name="Pre-Analysis" activiti:candidateGroups="onscope">
<extensionElements>
<activiti:formProperty id="appno" name="Application #" type="string" expression="#{trademark.appno}" writable="false"></activiti:formProperty>
<activiti:formProperty id="trademark" name="Trademark" expression="#{trademark.trademark}" writable="false"></activiti:formProperty>
<activiti:formProperty id="analysisStatus" name="Analysis Status" type="enum" expression="#{trademark.analysisStatus)">
<activiti:value id="PRE-AUTHORIZED" name="Pre-Authorized"></activiti:value>
<activiti:value id="PROBLEM" name="Problem"></activiti:value>
</activiti:formProperty>
</extensionElements>
</userTask>
<exclusiveGateway id="onscopeManualOrAutomated" name="Exclusive Gateway"></exclusiveGateway>
<sequenceFlow id="flow10" sourceRef="preAnalysis" targetRef="onscopeManualOrAutomated"></sequenceFlow>
<sequenceFlow id="flow11" name="Pre-Approved" sourceRef="onscopeManualOrAutomated" targetRef="approval">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${trademark.analysisStatus == "PRE-APPROVED")]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow15" name="Automated Search" sourceRef="figurativeAnalysis" targetRef="join"></sequenceFlow>
<sequenceFlow id="flow18" sourceRef="translate" targetRef="join"></sequenceFlow>
<sequenceFlow id="flow19" sourceRef="verbalAnalysis" targetRef="join"></sequenceFlow>
<sequenceFlow id="flow20" name="Manual Search" sourceRef="onscopeManualOrAutomated" targetRef="join">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${trademark.analysisStatus == "PROBLEM"}]]></conditionExpression>
</sequenceFlow>
<userTask id="nice" name="Nice Classification" activiti:candidateGroups="onscope">
<extensionElements>
<activiti:formProperty id="nice" name="Nice Classification" type="string" expression="#{trademark.nice}"></activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow21" sourceRef="tmProcessing" targetRef="nice"></sequenceFlow>
<manualTask id="verbalAnalysis" name="Verbal Analysis"></manualTask>
<sequenceFlow id="flow22" sourceRef="tmProcessing" targetRef="headings"></sequenceFlow>
<sequenceFlow id="flow23" sourceRef="nice" targetRef="join"></sequenceFlow>
<scriptTask id="figurativeAnalysis" name="Figurative Analysis" scriptFormat="groovy" activiti:autoStoreVariables="false">
<script>trademark.analysisStatus = "MANUAL"</script>
</scriptTask>
<sequenceFlow id="flow24" sourceRef="startevent1" targetRef="init"></sequenceFlow>
<scriptTask id="init" name="Initialization" scriptFormat="groovy" activiti:autoStoreVariables="false">
<script>trademark.analysisStatus = "MANUAL"</script>
</scriptTask>
<userTask id="approval" name="Approval" activiti:candidateGroups="examiners">
<extensionElements>
<activiti:formProperty id="appno" name="Application #" type="string" expression="#{trademark.appno}" writable="false"></activiti:formProperty>
<activiti:formProperty id="trademark" name="Trademark" expression="#{trademark.trademark}" writable="false"></activiti:formProperty>
<activiti:formProperty id="analysisStatus" name="Analysis Status" type="enum" expression="#{trademark.analysisStatus)">
<activiti:value id="MANUAL" name="Manual Search"></activiti:value>
<activiti:value id="AUTOMATED" name="Automated Search"></activiti:value>
</activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow12" sourceRef="approval" targetRef="cipoManualOrAutomated"></sequenceFlow>
<exclusiveGateway id="cipoManualOrAutomated" name="Exclusive Gateway"></exclusiveGateway>
<sequenceFlow id="flow13" name="Approved for Automated Search" sourceRef="cipoManualOrAutomated" targetRef="figurativeAnalysis">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${trademark.analysisStatus == "AUTHORIZED"}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow16" name="Manual Search" sourceRef="cipoManualOrAutomated" targetRef="join">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${trademark.analysisStatus == "PROBLEM"}]]></conditionExpression>
</sequenceFlow>
<exclusiveGateway id="join" name="Exclusive Gateway"></exclusiveGateway>
<sequenceFlow id="flow17" sourceRef="join" targetRef="endevent2"></sequenceFlow>
<endEvent id="endevent2" name="End"></endEvent>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_Collaboration">
<bpmndi:BPMNPlane bpmnElement="Collaboration" id="BPMNPlane_Collaboration">
<bpmndi:BPMNShape bpmnElement="analysis_pool" id="BPMNShape_analysis_pool">
<omgdc:Bounds height="481.0" width="1011.0" x="0.0" y="7.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="lane1" id="BPMNShape_lane1">
<omgdc:Bounds height="356.0" width="991.0" x="20.0" y="7.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="lane2" id="BPMNShape_lane2">
<omgdc:Bounds height="126.0" width="991.0" x="20.0" y="362.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
<omgdc:Bounds height="35.0" width="35.0" x="50.0" y="140.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="tmProcessing" id="BPMNShape_tmProcessing">
<omgdc:Bounds height="40.0" width="40.0" x="230.0" y="137.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="translate" id="BPMNShape_translate">
<omgdc:Bounds height="55.0" width="105.0" x="310.0" y="20.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="headings" id="BPMNShape_headings">
<omgdc:Bounds height="55.0" width="105.0" x="310.0" y="160.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="vienna" id="BPMNShape_vienna">
<omgdc:Bounds height="55.0" width="105.0" x="310.0" y="227.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="preAnalysis" id="BPMNShape_preAnalysis">
<omgdc:Bounds height="55.0" width="105.0" x="490.0" y="146.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="onscopeManualOrAutomated" id="BPMNShape_onscopeManualOrAutomated">
<omgdc:Bounds height="40.0" width="40.0" x="522.0" y="214.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="nice" id="BPMNShape_nice">
<omgdc:Bounds height="55.0" width="105.0" x="310.0" y="92.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="verbalAnalysis" id="BPMNShape_verbalAnalysis">
<omgdc:Bounds height="55.0" width="105.0" x="490.0" y="74.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="figurativeAnalysis" id="BPMNShape_figurativeAnalysis">
<omgdc:Bounds height="55.0" width="105.0" x="650.0" y="247.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="init" id="BPMNShape_init">
<omgdc:Bounds height="55.0" width="105.0" x="110.0" y="130.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="approval" id="BPMNShape_approval">
<omgdc:Bounds height="55.0" width="105.0" x="490.0" y="421.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="cipoManualOrAutomated" id="BPMNShape_cipoManualOrAutomated">
<omgdc:Bounds height="40.0" width="40.0" x="680.0" y="428.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="join" id="BPMNShape_join">
<omgdc:Bounds height="40.0" width="40.0" x="910.0" y="261.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2">
<omgdc:Bounds height="35.0" width="35.0" x="960.0" y="264.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="215.0" y="157.0"></omgdi:waypoint>
<omgdi:waypoint x="230.0" y="157.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="250.0" y="137.0"></omgdi:waypoint>
<omgdi:waypoint x="249.0" y="47.0"></omgdi:waypoint>
<omgdi:waypoint x="310.0" y="47.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
<omgdi:waypoint x="250.0" y="177.0"></omgdi:waypoint>
<omgdi:waypoint x="249.0" y="254.0"></omgdi:waypoint>
<omgdi:waypoint x="310.0" y="254.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="12.0" width="56.0" x="267.0" y="267.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
<omgdi:waypoint x="415.0" y="187.0"></omgdi:waypoint>
<omgdi:waypoint x="416.0" y="187.0"></omgdi:waypoint>
<omgdi:waypoint x="451.0" y="187.0"></omgdi:waypoint>
<omgdi:waypoint x="451.0" y="102.0"></omgdi:waypoint>
<omgdi:waypoint x="490.0" y="101.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
<omgdi:waypoint x="415.0" y="254.0"></omgdi:waypoint>
<omgdi:waypoint x="411.0" y="254.0"></omgdi:waypoint>
<omgdi:waypoint x="468.0" y="254.0"></omgdi:waypoint>
<omgdi:waypoint x="468.0" y="174.0"></omgdi:waypoint>
<omgdi:waypoint x="490.0" y="173.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
<omgdi:waypoint x="542.0" y="201.0"></omgdi:waypoint>
<omgdi:waypoint x="542.0" y="214.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
<omgdi:waypoint x="542.0" y="254.0"></omgdi:waypoint>
<omgdi:waypoint x="542.0" y="421.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="12.0" width="68.0" x="480.0" y="291.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
<omgdi:waypoint x="755.0" y="274.0"></omgdi:waypoint>
<omgdi:waypoint x="910.0" y="281.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="12.0" width="90.0" x="790.0" y="288.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
<omgdi:waypoint x="415.0" y="47.0"></omgdi:waypoint>
<omgdi:waypoint x="1003.0" y="47.0"></omgdi:waypoint>
<omgdi:waypoint x="1003.0" y="200.0"></omgdi:waypoint>
<omgdi:waypoint x="930.0" y="261.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
<omgdi:waypoint x="595.0" y="101.0"></omgdi:waypoint>
<omgdi:waypoint x="813.0" y="104.0"></omgdi:waypoint>
<omgdi:waypoint x="930.0" y="261.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
<omgdi:waypoint x="562.0" y="234.0"></omgdi:waypoint>
<omgdi:waypoint x="828.0" y="236.0"></omgdi:waypoint>
<omgdi:waypoint x="930.0" y="261.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="12.0" width="73.0" x="614.0" y="226.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
<omgdi:waypoint x="250.0" y="137.0"></omgdi:waypoint>
<omgdi:waypoint x="279.0" y="120.0"></omgdi:waypoint>
<omgdi:waypoint x="310.0" y="119.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
<omgdi:waypoint x="250.0" y="177.0"></omgdi:waypoint>
<omgdi:waypoint x="286.0" y="187.0"></omgdi:waypoint>
<omgdi:waypoint x="310.0" y="187.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
<omgdi:waypoint x="415.0" y="119.0"></omgdi:waypoint>
<omgdi:waypoint x="412.0" y="125.0"></omgdi:waypoint>
<omgdi:waypoint x="433.0" y="125.0"></omgdi:waypoint>
<omgdi:waypoint x="433.0" y="65.0"></omgdi:waypoint>
<omgdi:waypoint x="930.0" y="65.0"></omgdi:waypoint>
<omgdi:waypoint x="930.0" y="261.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
<omgdi:waypoint x="85.0" y="157.0"></omgdi:waypoint>
<omgdi:waypoint x="110.0" y="157.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
<omgdi:waypoint x="595.0" y="448.0"></omgdi:waypoint>
<omgdi:waypoint x="680.0" y="448.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
<omgdi:waypoint x="700.0" y="428.0"></omgdi:waypoint>
<omgdi:waypoint x="702.0" y="302.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="36.0" width="100.0" x="728.0" y="697.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
<omgdi:waypoint x="720.0" y="448.0"></omgdi:waypoint>
<omgdi:waypoint x="929.0" y="450.0"></omgdi:waypoint>
<omgdi:waypoint x="930.0" y="301.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="12.0" width="73.0" x="778.0" y="798.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
<omgdi:waypoint x="950.0" y="281.0"></omgdi:waypoint>
<omgdi:waypoint x="960.0" y="281.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
08-15-2014 01:09 AM
Caused by: org.activiti.engine.impl.juel.TreeBuilderException: Error parsing '#{trademark.analysisStatus)': syntax error at position 26, encountered ')', expected '}'
<activiti:formProperty id="analysisStatus" name="Analysis Status" type="enum"
expression="#{trademark.analysisStatus}">
08-15-2014 08:26 AM
08-18-2014 03:27 AM
Is the normal process for developing a BPMN Diagram creating a unit test and running it to get the errors?No. (log level, activiti explorer…, should report this kind of errors. (Isn't it possible to configure explorer…?)). Activiti explorer is only demo app. to show activiti features.
How does a non-technical business analyst usually go about creating diagrams without running actual code?(validation should be part of the modeling tool - I am not using activiti process designer that's why I can not provide you more info.) Another question is testing - non technical business analyst should be able to test process definitions too. For such a requirements you can use simulation -> activiti-crystalball module.
08-18-2014 11:23 AM
08-19-2014 12:44 AM
The purpose of Explorer is not a finished, end-user ready application, but rather to excersise and show the functionality of Activiti. As such, Explorer is meant as a demo, or maybe inspiration for people using Activiti in there own applications.
Does that mean that we are expected to develop management tools to stop, monitor, log the processes ourselves, instead of relying on the explorer to do it?You can use explorer, if it you are satisfied with it.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.