Speeding up hippo development

16
1 Speeding up Hippo development Smile Benelux Ebrahim Aharpour

Transcript of Speeding up hippo development

Page 1: Speeding up hippo development

1

Speeding up Hippo development

Smile BeneluxEbrahim Aharpour

Page 2: Speeding up hippo development

2

Overview

Automation Reusability Standardization Elemenation of repeated

configuration Manifesto of reusable Catalogs

Page 3: Speeding up hippo development

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

Page 4: Speeding up hippo development

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

Page 5: Speeding up hippo development

5

Reusability - challenges

Page 6: Speeding up hippo development

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)

Page 7: Speeding up hippo development

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?

Page 8: Speeding up hippo development

8

Standardization - Solution

Strict naming conventions Standard project layout Standard solutions to typical

problems (Overview pages, Navigation, Tabbed pages and etc.)

Page 9: Speeding up hippo development

9

Standardization - benefits

Easy of maintenance (specially long term)

Interchangeability of development team members

Increased productivity Consistent quality

Page 10: Speeding up hippo development

10

Elemenation of configuration - challenges

One of the most time consuming aspects of Hippo development is configuration.

Page 11: Speeding up hippo development

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

Page 12: Speeding up hippo development

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

Page 13: Speeding up hippo development

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

Page 14: Speeding up hippo development

14

Conclusion

Mindset Way of working Tooling

Hippo Maven Plugin Smile Hippo Archtype Hippo Prototype HST mixin support module

Page 15: Speeding up hippo development

15

Links

https://sourceforge.net/projects/smilearchetype/ (Smile Hippo archetype)

http://mavenhippo.sourceforge.net (Hippo Maven plugin)

http://sourceforge.net/projects/hippoprototype/ (Hippo prototype)

http://sourceforge.net/projects/hstmixinsupport/ (HST mixin support module)

https://forge.onehippo.org/gf/project/beanmapper/ (Bean Mapper)

Page 16: Speeding up hippo development

16

QA

QA