Gaetano Giunta | eZ Global Partner Conference | Lisbon,
2012.2.9
2. What is content staging anyway? 3. Customer requirements
Allow editors to edit many contents and preview (stage them)
before pushing them to the site 4. For security purposes, no editor
access at all to live site 5. Traditionally a weak area of eZ
Publish:
Preview works for one content at at time 6. The default model
is to edit on the production server 7. Some content modifications
can not be previewed (e.g. moving content, hiding it, etc...)
New model: two separate servers
8. Everybody loves staging!
Many use cases pop up once the basics are in place:
Chaining servers: editing > staging > production 9.
Replicating content from one server to multiple installations 10.
Sending partial replicas of content (a subtree of the whole
content, or filtered-out contents) 11. Facilitate integration with
external systems 12. ...I'm sure you have more
13. How it works
All change events are registered on the source server - using
the standard workflow triggers 14. Editors can view and pick
change-events to be synced to remote server 15. All communication
between the two servers is based on standard protocols: HTTP(S) and
JSON
Uses the ggwebservices extension as client 16. Basic auth
supported (no oAuth yet)
( for those living in a cave, this is called REST )
eZ ggws ezcs sync eZ ezcs [REST api] edit 17. Opening Pandora's
box 18. But there is more...
( for those living in a cave, this is called REST... ) ...and
it is in fact a BETA implementation of the eZ REST API version 2.0
- the one that supports content creation, update and deletion
The server-part of the extension can be fully used stand-alone,
queried by ajax or http clients 19. All manipulations of eZ Publish
content are possible - except emptying trashcan :-)
20. The fine print: there are limitations too
Content classes definition has to be identical on both servers
21. The same applies to sections definition, object states, etc...
22. Starting with a non-empty content tree to synchronize is not
possible yet 23. Some datatypes are not fully supported (e.g.
webshop-related ones) 24. And many more... 25. You are invited to
play around with it and make sure the final version will fit your
needs. Oh, and find bugs too
26. We want you 27. Where to find it
Packages
Version 0.1:http://projects.ez.no/ezcontentstaging/downloads
28. ggwebservices
extension:http://projects.ez.no/ggwebservices/downloads 29. Source
code 30. https://github.com/gggeek/ezcontentstaging 31.
ggwebservices extension:http://projects.ez.no/ggwebservices 32.
Specs for the REST API as implemented 33.
https://github.com/gggeek/ezcontentstaging/blob/master/doc/specs.ods
34. Get in touchThanks to eZ partner ALTI 35. [email_address]
http://www.alti.com/ 36. @gggeek