4 Replies Latest reply on Jun 13, 2012 10:06 AM by rhauch

    Rename JcrEngine to ModeShapeEngine?

    rhauch

      As I write some of the documentation, it strikes me that the name of the JcrEngine class is a bit odd. Perhaps the "engine" for ModeShape should be named "ModeShapeEngine". Note that this is our internal API, and it really just affects those Java SE applications that are manually running the engine, and would not affect those that are using the RepositoryFactory approach with URLs to configuration files.

       

      What do you think? Any preferences one way or the other? Are there other suggestions?

        • 1. Re: Rename JcrEngine to ModeShapeEngine?
          hchiorean

          How about RepositoryEngine & RepositoryConfiguration (the current JcrConfiguration which builds the engine) ?

          • 2. Re: Rename JcrEngine to ModeShapeEngine?
            rhauch

            How about RepositoryEngine & RepositoryConfiguration (the current JcrConfiguration which builds the engine) ?

            That's a good idea, and the name is consistent with "RepositoryConfiguration". (ModeShape 2.0 had a JcrConfiguration.)

             

            Question: since the engine really is a container for multiple repositories, does "RepositoryEngine" connote an engine for a single repository?

             

            One reason posted this question is that I think we need to start describing/positioning ModeShape as a "hierarchical, distribute, and consistent data store" with its own set of features, use cass, and capabilities. To date we've really positioned it primarily as "just" a JSR-283 implementation, and then people have trouble distinguishing what makes us different and better than the competition. IMO, "JcrEngine" just doesn't have enough of our brand. I tried to capture this positioning in some new text on the main page of our documentation:

             

            ModeShape is a distributed, hierarchical, transactional, and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source and written in Java. Clients use the JSR-283 standard Java API for content repositories (aka, JCR) or ModeShape's REST API, and can query content through JDBC and SQL.

             

            Notice how this paragraph (and the rest of the page) don't talk too much about JCR? Anyone coming to ModeShape looking for a JCR implementation will understand that it is an implementation, but more importantly someone that is looking for an alternative data store might come to the page and not care so much about the JCR API in particular (though I think we will always pitch the standard API as a feature).

             

            So to run ModeShape in your application, you would instantiate the "ModeShapeEngine".

             

            Just a thought.

            • 3. Re: Rename JcrEngine to ModeShapeEngine?
              hchiorean

              You're right, the engine does "handle" multiple repositories. In light of that, ModeShapeEngine would be the better name.

              • 4. Re: Rename JcrEngine to ModeShapeEngine?
                rhauch

                I added MODE-1514 to cover the renaming. I'm still open to a better name, but it sounds like "ModeShapeEngine" is the best choice so far.