Hi Artem,
On Aug 30, 2008, at 8:34 PM, Artem Melentyev wrote:
Hi, devs.
I committed first version of XWQL (or XQL) language to our sandbox
(xwiki-query/xwql) for review.
I worked ~2 last weeks for it.
install info is in xwiki-query/README.
Currently it works according my proposal[1], but it is quite easy to
modify.
It is not perfect, but it works and will be improved.
You can test it via QueryManager. (for example in velocity:
$xwiki.xWiki.store.queryManager.createQuery("select doc.fullName from
Document as doc, doc.XWiki.ArticleClass as a where a.title like
'%Launch'", "xwql").execute() )
plan for xwql (for fix in next week):
* use xwiki-bridge instead of xwiki-core in xwql.
(some methods in bridge are needed)
* create query velocity service
accessible like $services.query.xwql('...')
(according Vincent's velocity services proposal [2])
* move xwiki-query maven module from sandbox to platform/components/
* move QueryManager component from xwiki-core to xwiki-query
I would like to integrate xwql for hql in 1.6M2 (8 Sept) and improve
it
in RC if needed.
+1 to all that. So I'll try to work on the Velocity bridge thing (we
need to decide if we go for this or for the annotation) tomorrow so
that it's ready for you.
JCRStore:
old JCRStore with some modifications is partly working (save/load
document is ok) on recent Jackrabbit, but missing some new stores and
need redesign.
plan:
* create xwiki-store/jcr maven module in platform/components (at
sandbox first)
it have to depend on xwiki-core (but not reverse). Is it a problem
for platform/components?
Well new components should try not to use xwiki-core directly as much
as possible. What's your need in xwiki-core?
* split JCRStore into components. (RepositoryFacory,
SessionFactory,
SessionPool, Stores, DAOs)
* jcrstore will contains DefaultStores which will contain only
business logic on data model, and use DAOs components for store/load
data.
DefaultStores will be reused in future HibernateStore to remove
duplicating of code.
* get rid of patched graffito-jcr-mapping (~ORM for JCR). it is old
and
unsupported.
candidates:
jcrom [3],
jackrabbit-ocm (former graffito),
simple hand-made annotation based mapping.
I'll look at jcrom first.
I already have some code and plan to work on it in sandbox, after
finish
with xwql-hql.
I plan to create working version of JCRStore at the end of September.
xwql on JCRStore will work only on JCRv2 implementation.
Ok so this means we can count on JCR full working for XE 1.7. I've
already put it in the roadmap:
http://enterprise.xwiki.org/xwiki/bin/view/Main/Roadmap
Thanks Artem for this feedback!
-Vincent