6. It's a master copy
of every change or
transaction
6GDSPublishing platform team
7. It’s an audit log
7GDSPublishing platform team
a feature we’d really like to have
8. Future-proof
8GDSPublishing platform team
if we have a log of every operation, it’s easy to adapt to possible future requirements, because we can easily add new “derived representations”
9. What is a derived
representation?
9GDSPublishing platform team
18. GDSPublishing platform team
Event Log
Current documents
History of
published
documents
Editorial history
and comments
Admin elasticsearch index
Message on message queue (asynchronous update)
(separate service/data store)
(Synchronously updated)Publishing API
* Derived representations may be in separate systems
* Some things need to be updated synchronously, those would need to be in the same data store and updated using a database transaction to guarantee consistency.
19. What we did in the prototype
19GDSPublishing platform team
20. What we did in the prototype
• event log
20GDSPublishing platform team
21. What we did in the prototype
• event log
• commands (for modification)
21GDSPublishing platform team
22. What we did in the prototype
• event log
• commands (for modification)
• queries (read from derived
representation)
22GDSPublishing platform team
23. What we did in the prototype
• event log
• commands (for modification)
• queries (read from derived
representation)
• wired up to policy publisher
23GDSPublishing platform team