ModeShape

An open-source, federated content repository

ModeShape 3.7.3.Final is available

Now available is ModeShape 3.7.3.Final, which contains a fix for an issue with resolving file-based URLs to configurations. If you’re using any version of 3.x, we recommend that you upgrade to, test with, and start using 3.7.3.Final.

As usual, the artifacts are in the JBoss Maven repository and will soon be pushed into Maven Central. Or you can download a zip file with the libraries.

Give it a whirl and let us know on IRC or in our forums if you have any problems.

Filed under: jcr, news, releases

ModeShape 4.0.0.Alpha2 is available

The ModeShape community is very proud to announce the immediately availability of our second 4.0 pre-release, ModeShape 4.0.0.Alpha2. The JARs and other artifacts are available in the JBoss Maven repository and in our downloads area, and will be soon in Maven Central. See our Getting Started guide for details.

Thanks to our whole community for the work that’s gone into this release!

What’s new?

This alpha release contains a handful of fixes plus 2 new features: support for the JCR Event Journal API and the ability to manage explicit index definitions and providers via configuration files and a programmatic API. This will help to make ModeShape 4 have a much better query functionality that will make use of specific indexes for the queries you’re actually using. No longer will ModeShape have to update indexes for property values that you’re not using in queries. And, while Alpha2 does not yet have any index providers, we’ve already started on them so that you’ll be able to store indexes locally (on the file system or in Lucene) or even in a separate clustered search system such as Solr and ElasticSearch. The query engine is ready to start using the indexes, though.

Alpha2 also includes some of the bigger changes that were in Alpha1, including simpler clustering. ModeShape will now automatically piggyback on the Infinispan clustering configuration, and nothing clustering-specific is needed in the ModeShape configuration. We’re also improving how ModeShape tracks events so that it’s far easier and less time-consuming to have processes (re)join the cluster.

As with Alpha1, Alpha2 uses Infinispan 6.0, and that comes with improved performance and several very attractive cache stores, especially the one for LevelDB. And ModeShape 4.0.0.Alpha2 can now deploy on Wildfly 8.0, making it very easy for your applications to simply look up and use repositories that managed using Wildfly tooling and configuration.

What’s next?

We plan to issue more alpha releases about every 3 weeks until we’ve completed all features, at which point we’ll start issuing beta releases that fix any issues that will come up. When the codebase is stable and ready for a release, we’ll start issuing candidate releases and ultimately a final release.

So our next step is to add index providers for the file system and Lucene, and to then start putting the whole new query system through its paces. If anyone is interested in helping us with index providers for Solr and ElasticSearch, please let us know; without some contributions they will likely be available in 4.1.

We’ve also been working on a brand new and faster event bus, which we’re really excited about. That’s been tested, but will first show up in Alpha3. Stay tuned for a blog post about it.

What can you do?

Although this is an alpha release not suitable for production, we’d really appreciate the community picking up this release and at least putting it through the basics. Try it out and see how Infinispan 6 works, how much faster it is, and try one of the new and high-performance cache stores. Try out ModeShape in Wildfly 8. Give queries a whirl, and let us know if there are any queries that worked in 3.x no longer work in 4.x; remember they’ll probably be slower than in 3.x because we don’t have any indexes yet.

Filed under: features, jcr, news, releases

ModeShape 3.7.2.Final is available

Our last release was 4.0.0.Alpha1, and in it we fixed a dozen or so bugs reported against 3.x. And as we continued toward 4.0.0.Alpha2, we’ve fixed a number of additional bugs. We don’t want anyone running 4.0.0.Alphas (or Betas) in production, so it’s not surprising that finally someone asked that several of them be backported to 3.7.x.

Today ModeShape 3.7.2.Final is available, with 19 fixes back ported to the 3.x codebase. If you’re using any version of 3.x, we recommend that you upgrade to, test with, and start using 3.7.2.Final.

As usual, the artifacts are in the JBoss Maven repository and will soon be pushed into Maven Central. Or you can download a zip file with the libraries.

Give it a whirl and let us know on IRC or in our forums if you have any problems.

Filed under: jcr, news, releases

ModeShape 4.0.0.Alpha1 is available

The ModeShape community is very proud to announce the immediately availability of ModeShape 4.0.0.Alpha1, which is the first pre-release. JARs and other artifacts are available in the JBoss Maven repository and in our downloads area, and will be soon in Maven Central. See our Getting Started guide for details.

Thanks to our whole community for the work that’s gone into this release!

What’s new?

One of our goals for 4.0 is to simplify ModeShape clustering. It is no longer necessary to specify a JGroups configuration for ModeShape, since ModeShape will now automatically piggyback on the Infinispan clustering configuration. We’re also improving how ModeShape tracks events so that it’s far easier and less time-consuming to have processes (re)join the cluster.

We’ve upgrade to Infinispan 6.0, and that comes with improved performance and several very attractive cache stores, especially the one for LevelDB.

Another aim is to improve the query functionality. Specifically, ModeShape 4 will allow you to define specific indexes for the queries you’re actually using. That will mean ModeShape no longer has to update indexes for property values that you’re not using in queries, and this will improve performance. And, with 4.0 you’ll be able to store indexes locally (on the file system or in Lucene) or even in a separate clustered search system such as Solr and ElasticSearch. None of this indexing capability is working yet, though we’ve already overhauled the query engine to work without indexes and with indexes when they are added.

ModeShape 4.0.0.Alpha1 can now deploy on Wildfly 8.0, making it very easy for your applications to simply look up and use repositories that managed using Wildfly tooling and configuration.

What’s next?

We plan to issue more alpha releases about every 2 weeks until we’ve completed all features, at which point we’ll start issuing beta releases that fix any issues that will come up. When the codebase is stable and ready for a release, we’ll start issuing candidate releases and ultimately a final release.

So our next step is to continue improving the query system by adding support for defining, managing and using indexes. We’ll follow that with support for storing indexes locally on the file system or within Lucene. Support for Solr and ElasticSearch will come later; without some contributions they will likely be available in 4.1.

What can you do?

Although this is an alpha release not suitable for production, we’d really appreciate the community picking up this release and at least putting it through the basics. Try it out and see how Infinispan 6 works, how much faster it is, and try one of the new and high-performance cache stores. Give queries a whirl, and let us know if there are any queries that worked in 3.x no longer work in 4.x. Try out ModeShape by installing it into Wildfly 8.

Filed under: features, jcr, news, releases

ModeShape 3.7.0.Final is available

Happy New Year!

We’re starting off 2014 with a hot new release: ModeShape 3.7.0.Final is avaialble immediately from the usual locations, including our downloads page and in the Maven repositories. This release contains mostly bug fixes, but it also eliminates several performance bottlencks when creating nodes (especially when using a cache store) and indexing (especially updating parent nodes with lots of children). See the release notes for details.

The bottom line is that many of you will see some a very nice performance increase. We recommend all users upgrade to this version as soon as possible.

Now that 3.7 is out the door, we’re going to focus most of our time on 4.0. Our goal for ModeShape 4 is to make it far easier to configure and cluster, to increase reliablity and performance, and rework our indexing mechanism to enable use of multiple external indexes (like SOLR, ElasticSearch, etc.) while also reduce the time required to update the indexes by allowing you to define only those query indexes that your queries will actually use. We’ll also make the switch to Infinispan 6.0 (or higher) and Wildfly. See this page for more details.

Thanks to all those that contributed in some way to this release!

Filed under: jcr, news, releases

ModeShape 3.6.0.Final is available

Today we’ve released ModeShape 3.6.0.Final that addresses a total of 54 fixes, new features and enhancements, including:

  • A new visual repository explorer web application that allows users to navigate, create, edit and query content. It’s quite nice to be able to easily see what’s in a repository. We automatically install and deploy the application (along with the other ModeShape services) if you install the ModeShape kit into an EAP 6.1.x installation. But you can also find the WAR file in Maven, making it easy to install into other application servers. This explorer application is still new, so any feedback or contributions would be very welcome.
  • When using ModeShape installed as a subsystem on EAP 6.1.1, it is now pretty easy to use domain mode to control and configure a cluster. Look at the high availability startup configurations.
  • Client applications can now programmatically invoke a sequencer to operate on the content visible to the session, including the session’s transient (modified but not-yet-saved) state. The output of the sequencing will be placed into the session’s transient state, allowing the session full control over when (or if) that output is to be saved.
  • The file system connector has been improved so that very large file (even dozens of GB) can be effectively accessed via federation.

See our release notes for detail on all the changes in this release.

ModeShape and EAP

This release works on top of EAP 6.1.0.GA or the more recently released 6.1.1.GA. See our quickstarts that show how easy it is to use ModeShape when deployed this way (you can also download them from our downloads page). See this discussion post for background on what deploying on top of EAP means for community users.

Should you upgrade?

We think so. This release is more stable than any prior 3.x release, so we recommend upgrading as soon as possible. For most of you, upgrading should involve just using the newer JARs. If you’re still running ModeShape on AS7, though, you’ll want to look at using EAP 6.1 as mentioned above; it’s more stable and it’s version of Infinispan has lots of fixes (especially around clustering).

Get the release

The artifacts are in the JBoss Maven repository (and hopefully will roll out to Maven Central soon) and on our downloads page. Our getting started guide has instructions, ModeShape 3 documentation and JavaDoc are available, and our code is on GitHub. Join us on our forums or IRC channel to ask questions, and please log any issues in our JIRA.

Once again, we had a lot of help this release from our community members that reported, fixed issues, and contributed fixes and features! Thanks to the whole community for a job well-done!

Filed under: features, jcr, releases, rest

ModeShape 3.5.0.Final is available

Today we’ve released ModeShape 3.5.0.Final, with just over a dozen issues fixed, including a couple bigger ones:

  • The technology-preview JCR Access Control List (ACL) feature introduced in 3.4 unfortunately caused extra work to be done in repositories that never used ACLs. This release fixes this by adding an optimization that skips ACL checks until the first ACL is created in a repository. From that point on, ACL checking is always performed when accessing or modifying content. Be advised that if you’re using this feature in 3.4 and upgrade to 3.5, you may need to create (and save) at least one ACL in the repository before ACL checking is enabled. (You can always remove and save that ACL if it’s not really needed.) It’s not ideal, but was the only effective way to handle the upgrade.
  • Monitor repositories through JMX.
  • A new “simple” reference property type that is very similar to JCR’s standard weak references that do not enforce referential integrity. When a weak reference points to a node, you can use the “Node.getWeakReferences()” method to find all weak reference properties that point to it. These are called “back references” (since they point back to the referrer), and they can be expensive to maintain when a single node is referenced by lots of other nodes. Simple references are one-way and therefore do not maintain these back references, and thus are faster, more efficient, and more scalable.
  • Fixes for two workspace clone bugs, one workspace delete bug, and one merge bug.
  • Connectors now can optionally choose to use a simpler, non-I18n logger. (The more rigorous I18n logger is still available.)
  • Several other bug fixes.

See our release notes for detail on all the changes in this release.

ModeShape and EAP

As with 3.3.0.Final and 3.4.0.Final, this release works atop EAP 6.1.0.GA. And we have new quickstarts that show how easy it is to use ModeShape when deployed this way (you can also download them from our downloads page). See this discussion post for background on what deploying on top of EAP means for community users.

Should you upgrade?

We think so. This release is more stable than any prior 3.x release, so we recommend upgrading as soon as possible. For most of you, upgrading should involve just using the newer JARs. If you’re still running ModeShape on AS7, though, you’ll want to look at using EAP 6.1 as mentioned above; it’s more stable and it’s version of Infinispan has lots of fixes (especially around clustering).

Get the release

The artifacts are in the JBoss Maven repository (and hopefully will roll out to Maven Central soon) and on our downloads page. Our getting started guide has instructions, ModeShape 3 documentation and JavaDoc are available, and our code is on GitHub. Join us on our forums or IRC channel to ask questions, and please log any issues in our JIRA.

Once again, we had a lot of help this release from our community members that reported, fixed issues, and contributed fixes and features! Thanks to the whole community for a job well-done!

Filed under: features, jcr, releases, rest

ModeShape 3.4.0.Final is available

We’re happy to announce that ModeShape 3.4.0.Final is now available. This release contains lots of bug fixes and several new features, including:

  • The new JDBC metadata connector will dynamically project database schema information (e.g., catalogs, tables, columns, indexes, keys, etc.) as nodes in your repository.
  • Store binary files in a Cassandra column-oriented database via the CassandraBinaryStore.
  • Use ACLs to control access to nodes and subtrees

This release also has some useful enhancements, including:

  • WebDAV service now supports PROPFIND (MODE-941) and and PROPPATCH (MODE-984)
  • The file system connector is now pageable, so it can efficiently project directories with lots of files and folders (MODE-1982)

See our release notes for detail on all the changes in this release.

Access control

The initial support JCR 2.0’s access control management feature allows you to define for individual nodes one or more access control lists (ACLs) that define the privileges that specific users have. To do this, simply add the “mode:accessControllable” mixin to a node and then use the Session’s AccessControlManager to add ACLs for each principal. (A principal can be the name of user or group that is known to the authentication system.) If a node has no ACLs, then the ACLs on the nearest ancestor applies; if no ancestor has any ACLs, then the node can be accessed as usual. Thus, an authenticated session will only be able to access nodes for which they have the appropriate role (e.g., read, write, admin, etc.) and if the ACLs grant the session appropriate permissions.

We’ve categorized this new features as a “technology preview” so that people can give it a try and help us stabilize the functionality, but to also suggest that it’s too early to use this feature in production. Also, checking ACLs does add a little overhead to ModeShape’s existing permission  logic, but we’ve made sure that only repositories in which ACLs are created will have this overhead. That means that if you don’t use this feature, you won’t see any of the ACL-related overhead.

ModeShape and EAP

As with 3.3.0.Final, this release works atop EAP 6.1.0.GA. And we have new quickstarts that show how easy it is to use ModeShape when deployed this way (you can also download them from our downloads page). See this discussion post for background on what deploying on top of EAP means for community users.

Get the release

The artifacts are in the JBoss Maven repository (and hopefully will appear in Maven Central soon) and on our downloads page. Our getting started guide has instructions, ModeShape 3 documentation and JavaDoc are available, and our code is on GitHub. Join us on our forums or IRC channel to ask questions, and please log any issues in our JIRA.

Once again, we had a lot of help this release from our community members that reported, fixed issues, and contributed fixes and features! Thanks to the whole community for a job well-done!

Filed under: features, jcr, releases, rest

ModeShape 3.3.0.Final is available

We’re happy to announce that ModeShape 3.3.0.Final is now available.

This release contains most bug fixes, but does include two excellent new features that were contributed by folks from the Fedora Futures team. ModeShape now has a chaining binary store that can sit atop several other binary stores, allowing client applications to create new binary values and specify in which of the binary stores it should be stored. Our connector framework now supports generating events so that changes made by outside systems can be propagated into ModeShape. (We’ve not yet enhanced our connectors to use this new feature.)

Also, if you’re using JBoss EAP, this release works atop EAP 6.1.0.GA (rather than Beta as with 3.2). And we have new quickstarts that show how easy it is to use ModeShape when deployed this way (you can also download them from our downloads page). See this discussion post for background on what deploying on top of EAP means for community users.

The artifacts are in the JBoss Maven repository and on our downloads page. Our getting started guide has instructions, ModeShape 3 documentation and JavaDoc are available, and our code is on GitHub. Join us on our forums or IRC channel to ask questions, and please log any issues in our JIRA.

Once again, we had a lot of help this release from our community members that reported, fixed issues, and contributed fixes and features! Thanks to the whole community for a job well-done!

Filed under: features, jcr, releases, rest

Alpes JUG and Geneva JUG

While in Europe to attend and talk at the NoSQL Matters conference, I was also invited to talk about ModeShape at several Java User Groups. Fortunately, the schedules worked out to talk to two JUGs: the Alpes JUG in Grenoble, France, and the Geneva JUG in Geneva, Switzerland.

My talk was basically a more detailed introduction to ModeShape, and I covered the various high-level features (like consistency, elasticity, transactions, in-memory storage, etc.) as well as spending more time showing how to use the hierarchical nature of ModeShape.

Both groups had lots of great questions. Then, after each meeting we had a great time eating, drinking, and talking at a local restaurant. The food and drink were excellent, and that was when I got to pepper them with questions about their regions, culture, jobs, and all sorts of other things.

Merci beaucoup to all the Alpes JUG and Geneva JUG members for making the evenings very enjoyable and memorable. But I would especially like to thank Emmanuel Hugonnet and Chris Laprun in Grenoble and Xavier Bourguignon and Maxime Nowak in Geneva for inviting me, for coordinating their group’s schedules to make my visit possible, and for all their help and for answering my logistical questions.

If you ever get an opportunity to visit Grenoble or Geneva, please do! I had a great time and hope to go back as soon as I can.

Filed under: appearances, jcr, presentation

ModeShape is

a lightweight, fast, pluggable, open-source JCR repository that federates and unifies content from multiple systems, including files systems, databases, data grids, other repositories, etc.

Use the JCR API to access the information you already have, or use it like a conventional JCR system (just with more ways to persist your content).

ModeShape used to be 'JBoss DNA'. It's the same project, same community, same license, and same software.

ModeShape

Topics

Follow

Get every new post delivered to your Inbox.