Thanx Jérémie. I appreciate your taking the time to explain the
mechanisms involved. We do indeed have a CI server (Jenkins) that we
could use. I understand the xml comprises the markup and the page
metadata (author, history, etc.) and that is what is versioned or
versionable.
Cheers,
Yves
In fact, when you export an xwiki page (to export a
.xar file, or to put
this page under source control, etc), it is represented as an .xml file.
This file contains the markup (in any syntax chosen for the page), and some
other information, like author, dates, other xwiki stuff possibly
(xobjects, xclass etc) that may not interest you at first.
Concept is that you can then re-import this xml file in any xwiki instance,
and it will create the exact same page you exported. Usually we put a
number of those files in a .xar file, allowing to import or export a bunch
of pages at once.
What propose the SVN and the Github apps, are ways to synchronize your wiki
pages, from your running xwiki instance on one side, and a github or svn
repo on the other side (under the form of those .xml files).
As far as I know, this synchronization is not automatic:
- when you click "commit", it will push changes from the running xwiki
instance to source control - if you set a CI server watching modifications
of source control, you can rebuild upon a change in markup in a page
- when you click "update", it will pull changes from source control into
running xwiki instance - if you refresh a page for which .xml was changed
and pulled, html of course is refreshed.
I don't know much more as I never used those apps, so please extension
creators correct me if I'm wrong :)
About editing directly those exported .xml files : it is possible but not
recommended as format is not so readable, some parts are binary, and others
are xml-encoded (so if you forget to xml-encode your modifications, you
generate pages impossible to import back in xwiki).
Hope this helps,
Jeremie