Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-1426

Independent Query API for XWiki Proposal

    Details

    • Type: Task
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0 B1
    • Labels:
      None
    • keywords:
      soc
    • Similar issues:

      Description

      Independent Query API for XWiki

      Annotation
      Currently XWiki uses Hibernate for it's database layer, but in the future XWiki might be interested in JSR-170, RDF or XML storage. For this XWiki would need an independent query layer so that migration would not be an issue to a different storage system.

      A specific API would need to be implemented and a conversion system to hibernate be created. It could use and SQL like API and XPath.

      End-user API

      • 1/ A Java based query API (just top level functions)
      • 2/ A XPath/XQuery type query API
      • 3/ A sql like query API (but similar)

      These 3 APIs can translate to the lower level which depends on the storage implementation if you have RDF storage or JSR-170 you might have almost native XPath if you have hibernate the sql API translates quite easily

      The java based API could be handled directly by the storage engine. It would be mandatory for the storage engine to implement this one.

      These APIs would be used by different users:

      • 1/ Very basic users
      • 2/ modern users that like XML
      • 3/ people coming from the DB world

      The default XWiki probably almost only needs level 1. Level 2 and 3 corresponds to custom work.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                amelentev Artem Melentev
                Reporter:
                amelentev Artem Melentev
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response: