Hi all,
I want to understand about brxm branching strategy, we can see at scxml file. I found some term Branch, PublishBranch, Master. Confused to understand, how they work and what are those?.
// branches property method
def getBranches() {
workflowData.branches
}
// only master available
def boolean isOnlyMaster() {
workflowData.onlyMaster
}
// true if the branch from from DocumentHandle is 'master'
def boolean isMaster() {
branches.contains('master') and 'master'.equals(branchId)
}
// true if the branch from from DocumentHandle is NOT 'master'
def boolean isNotMaster() {
!'master'.equals(branchId)
}
// true if the branch from from DocumentHandle exists
def boolean isBranchExists() {
branches.contains(branchId)
}
.......
<!-- this will publish 'master' because no 'branchId' provided -->
<send event="'**publishBranch**'"/>
<state id="branching">
<onentry>
<hippo:action action="branch" enabledExpr="!editing and (!!unpublished or !!published) and branches.contains('master')"/>
<hippo:action action="listBranches" enabledExpr="true"/>
<hippo:action action="getBranch" enabledExpr="!onlyMaster and branchExists"/>
</onentry>
</state>
<state id="checking-out-branch"> .... </state>
<state id="publish-branch"> ... </state>
..... and so on
Above I have picked randomly, any documents that help us to understand the complete branching strategy and also please help me the differences between publish or publish-branch.
Thanks,