The Essentials setup application provides a number of development tools that can speed up or even automate some common tasks when developing a Hippo CMS project:
- Selections for configuring Selection widgets in document types.
- Gallery Manager for configuring custom image set types.
- Beanwriter for auto-generating content bean classes.
- REST Services Setup for setting up RESTful services.
They can be found on the Tools tab:
The Gallery Manager allows you to configure custom image sets by entering the dimensions, labels and configuration properties for the different size variants through a form-based UI.
After creating or modifying an image set using the Gallery Manager, make sure to (re-)generate the corresponding content bean using the Beanwriter (see next section).
The Beanwriter auto-generates content bean classes for all your content types. If the project contains multiple image set types, you can choose which one to use for the bean generation, and whether existing beans should be updated to use that image set type too:
After running the Beanwriter, all generated classes and methods will be listed in the setup application's feedback panel:
You should now rebuild and redeploy your project in order to make the updated beans available.
Content REST API
The generic Content RESP API can be enabled by checking Enable generic REST resources and specifying the URL at which the REST services will be available.
Custom Plain JAX-RS Services
The setup tool can also bootstrap you custom JAX-RS resources. Check Enable manual REST resources, specify the URL at which the REST services will be available, and select the document types in the project for which a service should be generated:
The tool will generate the required HST configuration, Java classes and Spring configuration. The content bean classes in your project will be enriched so they can be used as JAXB models as well.
Although the generated services will work right away, they are meant as a starting point for further development and will most likely need to be customized and/or extended to meet your project requirements.