The Emmet codebase is split into a number of interdependent Maven modules. The structure is intended to foster reuse, and to allow us to separate Emmet functionality for the case where the system integrator wants to deploy them separately.
The modules are as follows:
The project's parent POM file has the following embedded properties:
The emmet-version POM property is injected into the file emmet.webapp/src/main/resources/build.properties using Maven resource filtering. Other build-time properties could potentially be injected there if there was a need to do this.
The EmmetUserDetailsService is a custom User Details Service that supports a richer model of user details than the default store, without going to the extent of a full-blown LDAP service. The key features will include:
The initial version is MySQL specific, and stores raw passwords in the database. We know the latter is a really bad idea ...
The EmmetController is a Spring MVC bean that implements the Emmet user management subsystem. When completed, it will be RESTful and will provide web APIs for user account administration.
The current version is mostly complete, with only self registration and "user profile" support missing.