This document discusses ways to speed up Hippo development through automation, reusability, standardization, and eliminating repeated configuration tasks. It proposes using the Hippo Maven plugin to automate tasks like generating beans and reloading configurations at runtime. Reusability is achieved through prototypes containing reusable content, front-end components, and plugin support. Standardization is important for maintenance and introduces conventions for naming, project layout and typical problems. Configuration is eliminated through archetypes that pre-install plugins and configure common features out of the box.
3. 3
Automation - challenges
In the past Hippo Development
involved some rather boring
mechanical tasks namely:
Persisting of configuration to XML files
Creation of Hippo Beans
4. 4
Automation - solution
Hippo Maven Plugin
Auto generates beans base on
Content types
Reloads beans on runtime via JRebel
Generated bean can be extended or
overwritten
It is plug-able and extendable
6. 6
Reusability - solution
Hippo prototype
Content (a collection of reusable
data model fragment)
Front-end (a collection of
components, utility class and a tag
library)
Plugin support (a collection of tools to
easily set up data import or
synchronization modules, It takes
advantage of bean mapper)
7. 7
Standardization - challenges
Do you have an out of control project
where its original developer team are
no longer available and no one of
your developers is familiar its the
code?
8. 8
Standardization - Solution
Strict naming conventions
Standard project layout
Standard solutions to typical problems
(Overview pages, Navigation,
Tabbed pages and etc.)
9. 9
Standardization - benefits
Easy of maintenance (specially long
term)
Interchangeability of development
team members
Increased productivity
Consistent quality
11. 11
Elemenation of configuration - Solution
Smile Hippo Archetype
The most common plugins are pre-installed
Selection plugin
EasyForms
Content blocks
Etc.
Many common features
Faceted search
Breadcrumb
Repository base navigation
Sitmap page & sitemap.xml
Search suggestions
Etc.
Hippo prototype
12. 12
Elemenation of configuration - Solution
Pre-configure deployment set up
MySQL
Clustering
Janitor configuration
A number of flexible catalogs
EasyForms
Google maps
Carousel
Latest items
RSS feed aggregator
DISQUS
Video
YouTube
Hippo Maven plug-in
13. 13
Manifesto of reusable Catalogs
Multiple instances of a catalog most be able to be
present on a single page without interference with
one another
Should be Webrichtlijnen complaint if possible
As configurable as possible, but the default
configuration must cover the most common use
case
Mixin support if applicable
Must encapsulate its own css and js files.
Must support responsive design
Must give proper feedback in the channel manager
in case it is not being rendered for any reason