Hi Laurent,
I discovered BaseX recently and I find it really powerfull. Unfortunately, I read that versioning was not supported out of the box in 2014 [1]. Is it still the case ? Is there no simple workaround ?
BaseX does not come with an out-of-the-box solution for versioning XML documents, but there are many ways to realize this via XQuery or the existing commands. You could e.g. attach timestamps in the database file paths or update information in an additional XML meta file with each request. We have also started defining document metadata properties [1], but this is still work in progress.
A simple way to achieve such a behaviour would be to be able to index a XML resource in BaseX with some additional meta information such as an ID and a timestamp, and then offer the possibility to use these meta information in an XQuery to filter resources.
Is it possible with BaseX 8.3 ?
This is absolutely possible. I don’t know how much time you have already spent with XQuery, but could check out our Wiki articles on XQuery Update [2] and the Database Module [3].
Hope this helps, Christian
[1] https://github.com/BaseXdb/basex/issues/988 [2] http://docs.basex.org/wiki/XQuery_Update [3] http://docs.basex.org/wiki/Database_Module
On Wed, Dec 23, 2015 at 2:18 PM, Laurent Pellegrino laurent.pellegrino@activeeon.com wrote:
Hello all,
I discovered BaseX recently and I find it really powerfull. Unfortunately, I read that versioning was not supported out of the box in 2014 [1]. Is it still the case ? Is there no simple workaround ?
My usecase is the following. I have thousands of XML files which are indexed using BaseX in a specific database, lets say "mydb". At some point of time, a user may want to add a new XML file which is a slightly modified version of one already indexed by BaseX.
I would like to be able to:
- store this new XML resource in "mydb" database without loosing the XML
from which it is issued
- to retrieve the latest version or a previous one.
- filter resources based on the latest version
A simple way to achieve such a behaviour would be to be able to index a XML resource in BaseX with some additional meta information such as an ID and a timestamp, and then offer the possibility to use these meta information in an XQuery to filter resources.
Is it possible with BaseX 8.3 ?
I am looking for a solution that does not a require another database.
[1] https://mailman.uni-konstanz.de/pipermail/basex-talk/2014-March/006535.html
Kind Regards,
Laurent Pellegrino