3 Replies Latest reply on Mar 18, 2014 12:02 PM by Randall Hauch

    Move the ModeShape explorer web app to a new repo and JIRA project?

    Randall Hauch Master

      ModeShape introduced our explorer web application in 3.6.0.Final, and we're working on improving the user experience with a highly-modified interface that requires very few page changes. Since 3.6 the app is included in our distribution and the EAP kit, which makes it easy to use since it's already installed.


      But somebody recently asked whether the app should have its own lifecycle, especially since the new version should be able to use both ModeShape 3.x and 4.x. In fact, nearly all of the application uses just the JCR API; the only parts that require anything ModeShape specific depend only on ModeShape's public API to simply find the available repositories. We are adding a few more features (like ability to easily create a backup, restore from backup, etc.), and since these features are ModeShape-specific the idea is to create a small SPI that can be implemented for specific JCR implementations.


      If the new application had its own lifecycle and Git repository, it'd also need its own JIRA project so that release numbers could be distinct from the rest of ModeShape. The artifacts would be released into Maven just like all of our other artifacts, so it should be consumable by downstream projects, including ModeShape itself when it builds/assembles the EAP/Wildfly distribution.


      There's one catch: the explorer app currently depends on ModeShape's public API, which is released with ModeShape itself. That means there's a bit of a "chicken and egg" problem: if the explorer app is released first, then it's relying upon an earlier released version of the ModeShape public API. We don't change the API very much, but we can't guarantee binary compatibility for all releases.


      Another option is to not include any implementation-specific providers with the web app itself, and instead allow downstream projects to maintain their own provider and do the assembly of the usable application. That's a little less useful, since we're again producing explorer apps that work with specific versions of ModeShape. I'd like to see releases of the explorer app that work with any ModeShape version.




      Also, are we happy with the name "ModeShape Explorer"? If not, what are some other suggestions for names and JIRA project IDs?