mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
144 lines
2.9 KiB
Plaintext
144 lines
2.9 KiB
Plaintext
@startuml
|
|
|
|
Title: Autoversion on Content Update - Versioning Flow
|
|
|
|
participant "CMIS Client" as C
|
|
participant "Repository" as R
|
|
participant "Version Service" as V
|
|
participant "workspace://SpacesStore" as SS
|
|
participant "workspace://version2Store" as VS
|
|
participant "File System" as FS
|
|
database "Database" as DB
|
|
|
|
C->R:HTTP POST
|
|
activate R
|
|
group "transaction"
|
|
R->V
|
|
activate V
|
|
|
|
V->SS: create node
|
|
activate SS
|
|
SS->DB: create node
|
|
activate DB
|
|
DB->SS: OK
|
|
deactivate DB
|
|
SS->V: OK
|
|
deactivate SS
|
|
note right of SS
|
|
workspace://SpacesStore/e8cc2b68-7482-4304-a93e-02c758a80954
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=foo.txt
|
|
cm:versionLabel=1.0
|
|
end note
|
|
V->VS: create version history node with one child node
|
|
activate VS
|
|
VS->DB: create nodes
|
|
activate DB
|
|
DB->VS: OK
|
|
deactivate DB
|
|
VS->V: OK
|
|
deactivate VS
|
|
note right of VS
|
|
One Version History Node with one child ...
|
|
|
|
workspace://version2Store/ce68aba3-73f6-44f9-ad9b-a9e8d77212de
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=foo.txt
|
|
cm:versionLabel=null
|
|
ver2:versionLabel=1.0
|
|
ver2:versionDescription=Initial Version
|
|
|
|
end note
|
|
end
|
|
V->R: OK
|
|
deactivate V
|
|
R->C: 200 OK
|
|
deactivate R
|
|
|
|
C->R:HTTP PUT (cm:name=bar.txt)
|
|
activate R
|
|
group "transaction"
|
|
R->V
|
|
V->SS: update node
|
|
activate V
|
|
activate SS
|
|
SS->DB: update node
|
|
activate DB
|
|
DB->SS: OK
|
|
deactivate DB
|
|
SS->V: OK
|
|
deactivate SS
|
|
note right of SS
|
|
workspace://SpacesStore/e8cc2b68-7482-4304-a93e-02c758a80954
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=bar.txt
|
|
cm:versionLabel=1.0
|
|
end note
|
|
|
|
note right of VS
|
|
One Version History Node with one child...
|
|
|
|
workspace://version2Store/ce68aba3-73f6-44f9-ad9b-a9e8d77212de
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=foo.txt
|
|
cm:versionLabel=null
|
|
ver2:versionLabel=1.0
|
|
ver2:versionDescription=Initial Version
|
|
|
|
end note
|
|
|
|
end
|
|
|
|
C->R:HTTP PUT (new file content)
|
|
activate R
|
|
group "transaction"
|
|
R->V
|
|
activate V
|
|
V->SS: update node
|
|
activate SS
|
|
SS->FS: write file content
|
|
activate FS
|
|
FS->SS: OK
|
|
deactivate FS
|
|
SS->DB: update node to point to new file content
|
|
activate DB
|
|
DB->SS: OK
|
|
deactivate DB
|
|
SS->V: OK
|
|
deactivate SS
|
|
note right of SS
|
|
workspace://SpacesStore/e8cc2b68-7482-4304-a93e-02c758a80954
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=bar.txt
|
|
cm:versionLabel=1.0
|
|
end note
|
|
V->VS: create a new child of the version history node
|
|
activate VS
|
|
VS->DB: create node
|
|
activate DB
|
|
DB->VS: OK
|
|
deactivate DB
|
|
VS->V: OK
|
|
deactivate VS
|
|
note right of VS
|
|
One Version History Node with two children...
|
|
|
|
workspace://version2Store/ce68aba3-73f6-44f9-ad9b-a9e8d77212de
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=foo.txt
|
|
cm:versionLabel=null
|
|
ver2:versionLabel=1.0
|
|
ver2:versionDescription=Initial Version
|
|
|
|
NEW CHILD:
|
|
workspace://version2Store/9fb3fb08-7cfb-4c0a-ac72-233aaf60fa1e
|
|
cm:autoVersionOnUpdateProps=false
|
|
cm:name=bar.txt
|
|
cm:versionLabel=1.0
|
|
ver2:versionLabel=1.1
|
|
ver2:versionDescription=Update New File Content
|
|
|
|
end note
|
|
end
|
|
|
|
@enduml |