Discussions

News: Apache Jackrabbit 1.4 released

  1. Apache Jackrabbit 1.4 released (14 messages)

    Apache Jackrabbit 1.4 is the latest and greatest version of the fully conforming open source implementation of the Content Repository for Java Technology API (JCR). JCR, specified in JSR 170, is a standard API for accessing content repositories in a uniform manner. A content repository is a hierarchical storage, like an advanced file system, that supports various levels of content structure and granularity. The API allows you to browse, modify, and search (including full text search) content in a content repository. Advanced features like versioning, observation, locking, and XA transactions are optional in the standard. Apache Jackrabbit is one of the most prominent JCR implementations and was also used as the reference implementation of JSR 170. Apache Jackrabbit 1.4 is a stable and feature-rich content repository targeted for a wide range of content applications like Magnolia, OpenKM, Hippo, and Mindquarry. Jackrabbit implements all mandatory and optional JCR features as well as a number of extensions and related JCR tools. This is the biggest Apache Jackrabbit release ever and comes with 220 new features, improvements, and bug fixes based on feedback and contributions from the user community. Here's a summary of the most prominent changes in Jackrabbit 1.4: Improved OOTB experience: The out of the box experience of the Jackrabbit webapp included in the release has been improved. Just deploy the webapp (and the JCR API jar) and follow the instructions to have a content repository up and running in no time. The included instructions tell you how to get both remote and local JCR access to the repository. And of course the webapp comes with a fully functional WebDAV server backed by the repository. Object-content mapping: Jackrabbit now comes with an object-content mapping framework like the various ORM tools for relational databases. You can persist your normal Java objects in the content repository and use all the JCR features like query, versioning, observation, and import/export on them. Support for JCR webapps: There is a new jackrabbit-jcr-servlet component with utility code and servlets that make it easy to access a content repository in your web application. Just add one line of code and some web.xml configuration, and you can access a content repository from JNDI, over RMI, from another webapp, etc. Or you could change the configuration to start your own embedded content repository and optionally expose it to remote clients over RMI. Search improvements: The Jackrabbit query and indexing engine based on Apache Lucene has seen a number of performance improvements and other changes. New search features include configurable indexing, synonym and similarity queries, spell checking, etc. New storage model for binary content: Jackrabbit 1.4 contains an optional new data store feature that transparently detects duplicate copies of binary content and only stores it once. Besides offering massive performance improvements for many copy and versioning operations, this feature makes it trivial to implement for example a corporate email archive that avoids excessive disk use caused by duplicate email attachments. WebDAV versioning: The standard WebDAV server based on the content repository now supports WebDAV versioning as defined in RFC 3253. You can use versioning-aware WebDAV clients to access the underlying JCR versioning features. See the release notes for all the details. The release is available from the Jackrabbit download page, and you can also find it on the central Maven repositories.

    Threaded Messages (14)

  2. OCM Docs[ Go to top ]

    I would strongly encourage the team to spend just a little bit more time on the OCM docs. I think that making this type of thing easier would have a big influence on Jackrabbit's adoption. :-) I ended up writing my own mini-OCM framework a while back, but I'd really like to move to Jackrabbit's if possible sometime soon.
  3. Re: OCM Docs[ Go to top ]

    I feel like I should also say that while the docs can be a little sparse at times, the mailing lists are extremely helpful. If ever you feel left in the dark about something, you can typically post a question there and get an answer back within a day. Definitely one of the better projects in this regard IMO.
  4. Re: OCM Docs[ Go to top ]

    Yes. we are working on the doc before providing new OCM features.
  5. Perfect timing for Zephyr[ Go to top ]

    We use JackRabbit extensively in our product. Along with content management, we wanted versioning support as well and we chose JackRabbit over SVN and other tools. We had challenges in development and deployment e.g. 1. Limited documentation 2. No good viewer (we modified some available open source once , could be downloaded from here) 3. Respository locking gave us issues in running unit test. Very excited to try the new release and also would like to know opinion from those who already tried this. Timing is just perfect when we are getting to role out our GA in next few weeks. Kudos to JackRabbit team for putting out this great product.
  6. Re: Perfect timing for Zephyr[ Go to top ]

    Zephyr looks cool! Great to hear that the timing for Jackrabbit 1.4 works for you. There's been some talk about including a web-based repository browser in a future Jackrabbit release (1.5 perhaps). Would you be interested in sharing some of your work on that?
  7. Ajax interface to JackRabbit admin?[ Go to top ]

    Has anyone tried building an Ajax interface to the JackRabbit console functions? I've been learning TIBCO GI and it would seem like a natural way to build a JackRabbit Ajax admin interface. -Frank Cohen http://www.pushtotest.com
  8. Which version is in Zephyr?[ Go to top ]

    Hi Shailesh: Which version of JackRabbit are you using in Zephyr? It would seem to me that in a test environment most of the repository activity is going to be "read" operations. What has been your experience with versioning, updates, and locks in JackRabbit? Also, are you using JackRabbit to save test operation logs? I'm wondering if it can handle lots of unitary writes to a store? -Frank Cohen http://www.pushtotest.com
  9. Support for connection pools[ Go to top ]

    We're using Jackrabbit in our project and I must say that handling of connection pooling (combined with Oracle9 persistence manager that requires proprietary CLOB/BLOG handling...) is a bit awkward at this point. I saw that you guys restarted a discussion about it in December and that is the way to go! Congratulations on this great release and good luck with the future ones.
  10. Re: Support for connection pools[ Go to top ]

    We're using Jackrabbit in our project and I must say that handling of connection pooling (combined with Oracle9 persistence manager that requires proprietary CLOB/BLOG handling...) is a bit awkward at this point. I saw that you guys restarted a discussion about it in December and that is the way to go!
    Exactly. With some of the intermediate issues (especially ISM locking) resolved, we are now at a point where Jackrabbit is able to leverage a database connection pool. We are quite likely going to introduce connection pooling in Jackrabbit 1.5.
  11. Re: Support for connection pools[ Go to top ]

    Great news! Looking forward to it and wish you good luck!
  12. There has been couple of threads where the performance, and perhaps more severely, the entire concurrency model of Jackrabbit has been rather bluntly shot down as unsuitable for production use. Note that i'm not the one making those claims, rather, i am a potential user, thus far scared away because of those claims. As such it would be interesting to hear some official word whether the issues in performance and concurrency model have been solved in this latest release? Below is one quote that summarizes the issues raised. William Louth in http://www.theserverside.com/news/thread.tss?thread_id=45763#234449 wrote
    I really like the Java Content Repository (JCR) API but the default reference implementation Apache JackRabbit is simply not suitable for any application that has a requirement for more than one concurrent/active session. The JackRabbit implementation from 1.1.x onwards has been plagued with performance and concurrency problems that appear practically impossible to remove without major architectural changes (which by the way the architect has accepted).
  13. As such it would be interesting to hear some official word whether the issues in performance and concurrency model have been solved in this latest release?
    We've had progress on this but some issues still remain. The progress so far: * All known deadlock issues have been resolved * All known concurrent versioning issues have been resolved * The optional new ISM locking strategy removes the per workspace read/write lock with more fine-grained synchronization * The optional new data store feature removes the binary property bottleneck and notably speeds up many versioning and copy operations * The clustering feature allows horizontal scaling and provides a workaround to the remote access performance issue for many deployments * Lots of smaller scale performance improvements all over Remaining issues: * We haven't done a thorough review of internal locking to proactively prevent potential unknown deadlock issues * After the ISM locking improvement we still face a problem with many of the database persistence operations being synchronized and need to switch to connection pooling (see my previous comment) to reach full concurrency * Remote access is still relatively slow To summarize, we feel that Jackrabbit is already quite ready for most typical web and other applications with relatively fine grained and mostly read access patterns. There are issues with remote access, large batch operations and heavy concurrent write access, so you may want to wait at least for Jackrabbit 1.5 before considering Jackrabbit for production use.
  14. There are issues with remote access, large batch operations and heavy concurrent write access, so you may want to wait at least for Jackrabbit 1.5 before considering Jackrabbit for production use.
    ... if your application relies on those features. :-)
  15. We've had progress on this but some issues still remain. ...
    Jukka, thanks for your honest, non-religious answer. I was bit hesitant to ask that kind of question, and it's relieving to receive sensible reply instead of heated emotions :) /Henri Karapuu