Personally I always like to read how other companies do software development, but sharing our way is probably just as interesting to others. In this post I will describe what a typical Hippo CMS development cycle looks like, how the product is build and how we do continuous integration at Hippo.
This post has been in draft mode for a couple of months now. I don’t know why it actually took this long to publish. Last year was a great year and a lot of things happened, so here goes.
I find that generating Maven project documentation is always a bit cumbersome with the default XDOC or APT (“Almost Plain Text”) syntaxes. This probably has to do with getting accustomed to using Markdown while doing my thing on GitHub, which is sort of the de facto standard there.
In my day to day job I’m a Java coder working on a MacBook Pro running OS X (Mountain Lion) and recently one thing started to really annoy me. While performing an Apache Maven build cycle occasionally an application pops up in my OS X dock and while browsing the web or composing an e-mail the focus is lost and moves to the just started application. In my case these applications are most of the time called Bootstrap or ForkedBooter.
At Hippo we recently started using Couchbase as the storage solution for our targeting/relevance module. Couchbase is a really high performant NoSQL database, which since version 2.0 can be used as a (JSON) document database. Couchbase is really fast when it comes to simple CRUD operations, but does lack some search capabilities like Geo-spatial search (still ‘experimental’ mode) and free text search, which you might find in other document oriented NoSQL databases like MongoDB.