"OpenCms 7 Development" by Dan Liliedahl is the first book to take on the task of presenting the many possibilities the extensive OpenCms API gives to you as a developer. Luckily the author does this without adding another brick-sized book to my already stressed book shelf.
Despite that, the book covers an impressive range of the subjects that an OpenCms developer should know or at least know of. The example used throughout the book is a blog website, covering aspects as user registration, searching and RSS feeds. This is a fairly complex example that shows the reader a lot of ways to work with the OpenCms API.
First the author shows how you can set up your development environment. With the powerful IDE's available today you really want to be able to use them when developing OpenCms templates and modules. While the ideas presented are generally applicable the author uses Eclipse as an example and shows you which plug-ins you need.
Whether you make templates or develop specific functionality, you start out by creating a module in OpenCms. This part is well described, including the various purposes modules can be used for. The first thing covered is how to make a Template module. This is typically the first step an OpenCms developer will have to take. It then goes on to add integrated search which is something most websites should have. And many websites also need some kind of user registration whether to enable them to submit comments to a blog as in the example or maybe to sign up for newsletters or likewise.
For some websites the Template module is all that is needed, but if you have specific functionality you most likely want that to be put into a specific module. The example in the book continues to show how you can do this by implementing a RSS reader as well as RSS feeds based on the contents of the site. It is another example where it uses OpenCms XML handling capabilities to create customized forms and data structures. It even includes an example of how you can add your custom built widgets to the forms. While custom widgets may not be something all developers will have to implement, it is a very powerful feature and the author shows how easy this can be done.
And the icing on the cake is the final chapter that shows how to add a new tool to the administrative view of OpenCms. Again, this is not something every developer needs, but for certain types of functionality, adding an administrative tool for it is really a vital part. The steps involved in making your administrative tool have the correct look and feel are explained there.
"OpenCms 7 Development" is definitely a good place to start if you are going to master programming OpenCms. It covers a lot of relevant APIs and by implementing a real-life example gives you a good idea of how to work with OpenCms from a developer point of view.
Review copy kindly donated by Packt Publishing.