Your Rating: |
![]() ![]() ![]() ![]() ![]() |
Results: |
![]() ![]() ![]() ![]() ![]() |
78 | rates |
Implemented in 3.6
See Transaction Activation module documentation.
Official Documentation Available
This topic is now covered in Transactional Activation module.
Transactional Activation
Ideas for improvement of publishing experience for big sites with multiple public instances.
Problem
- if you have multiple public instances you can run out of sync
- no rollback
- no synchronization tool
- activation status: one single flag is not enough
Goal
- guarantee that the instances are in sync or can be synchronized
Solutions
There are many ways to solve this but I would prefer D because it is a synchronous mechanism which allows reporting errors back to the user/inbox
A) External message queue
We could use a message queue to which we send the activated content. The public instances would update their content from there
B) Poll content
The author retries to activate the content until successfully activated
C) Simple synchronization tool
A tool which just compares the content (existence, mod date) and synchronizes what ever is out of synch
D) Real transaction
Use a more complex protocol and activate the content temporarily and commit that
store content in a separate place (mgnlSystem) if(all public instanced reached) version original content overwrite content if(not all public instanced reached) restore versioned content remove temporary content
It might be easier to use jcr sessions but a rollback in the commit phase would not be possible
Use multiple threads!