Hippo, getting underway with this animal
Acquired by BloomReach in late 2016, Hippo exists today as an open-sourced CMS over at onehippo.org. The community site over at onehippo is a great landing area for tutorials, documentation, and an active forum for discussions. Hippo can be seen as a viable open-source option for those shopping for choices; boasting a lasting and continuing development path, being java based, living now as an open-sourced project, and touting scalability.
There are two options for quickly firing up with Hippo:
- Creating and configuring a project from scratch; and
- Forking an existing project template and customizing from the forked baseline.
Creating and configuring a brand new project
The use of Maven in the project is for both the build and creation process. A new Hippo project can be initialized using a Maven archetype - onehippo provides the Maven repository for the default project archetype here: https://maven.onehippo.com/maven2/
The new project can be invoked with the command:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeRepository=https://maven.onehippo.com/maven2 \ -DarchetypeGroupId=org.onehippo.cms7 \ -DarchetypeArtifactId=hippo-project-archetype \ -DarchetypeVersion=12.1.0
The detailed breakdown of the command execution can be found from the 'Getting Started', onehippo.org tutorial.
At this time, the project template is now in place and the Hippo project can be built. The result of the build is the creation of the necessary web application files to be deployed.
The build occurs with the command
mvn clean verify. The build results in the creation of the necessary .jar and .war files. The default project build creates three applications for deployment:
- cms - home to the content management system interface
- site - the home site for the project
- essentials - a helper application to assist in adding functionality to the skeleton site
With the build complete, it is now time to start and run the application(s). The default onehippo Maven archetype configures the application to be run via Cargo, a thin wrapper for application containers, preconfigured to use Tomcat 8.
To run the new Hippo project call:
mvn -P cargo.run
The convenience of using Cargo is evident during site development where commands such as
cargo:redeploy are known to Maven to speed up the release of a new .war file build of the project. Further information on the cargo configuration of a Hippo project can be found under the 'Run and Develop with Cargo tutorial from onehippo.org'.
Forking and working off of an existing project
At the end of the previous section, where a new Hippo project was created and configured, it is possible (and recommended) to commit the the base project folder into a version control system (git, subversion, etc.) From that initial Hippo project commit onward, any developer looking to contribute to the project can simply execute the verify, build and run commands and be up and running with a fully functional Hippo instance for local development.
As an example onehippo provides such a tutorial website example on GitHub: https://github.com/onehippo/website-tutorial
A clone of this repository, followed by a build, and run via Cargo allows for development to begin in record time.
Accepting the default configuration the project can be running after 4 commands:
git clone https://github.com/onehippo/website-tutorial.git cd website-tutorial mvn clean verify mvn -P cargo.run
At this step:
- The website is available and deployed on Tomcat under http://localhost:8080/site
- The Hippo CMS UI is launched on http://localhost:8080/cms
From here, we are ready to delve deeper into the mechanics, implementation, customization and configuration of this interesting animal, Hippo.