Colofon
Author: Oscar Scholten
Get in touch with Hippo: [email protected]
North America: +1 877 414 47 76 (toll free)
Europe: +31 20 522 44 66
Introduction
• In business for over 10 years
• 100% java
• Build by Technical leaders (Apache committers)
• Committed to standard bodies like OASIS & JCR
• Hippo CMS combines the best of both worlds: open source
innovation power and commercial support
Whitepaper
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Hippo CMS for the Enterprise
Table of Contents
1. Hippo Architecture 3
Delivery Tier 4
Repository Tier 4
Content Management Tier 4
Separation of Concerns 5
Multi-lingual and Multi-channel by Design 5
Extensible and Flexible 5
Consolidate Existing Repositories 6
2. Security 7
User and Permission Management 7
Controllable Content Process 7
Security Audits 8
3. Scalability and Failover 8
4. High Performance Content Delivery 9
Page Generation 9
Content Flexibility 10
Site Performance 10
5. Development 11
Rapid Development 11
Automated System Testing 12
Upgradeability 12
Interoperability 12
Web Accessibility 12
Search Engine Optimization 13
2
Hip
po
CM
S f
or
the
En
terp
rise
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
Hippo Architecture
Hippo CMS is a 100% Java, open source Web Content
Management platform. It uses modern web architectures,
open standards and open source components throughout.
Hippo’s developers are active contributors to many of
the Apache Software Foundation’s components that are
used within the Hippo platform. Several components have
been extended or enriched with Hippo’s own enterprise
level features. In all layers of the architecture, open and
extendable APIs are available for integrating Hippo CMS
into any existing application architecture. We support the
standardization process by actively participating in the
various bodies that govern new open standards and by
presenting regularly at international events.
Hippo CMS is available in two flavors. The Community
Edition, licensed under the Apache License v2, contains
all features for multi-lingual communication across all
channels. The Enterprise Edition provides additional
support, tooling and certification on a certified stack. It
also gives access to additional features and the Relevance
Module for more personalized customer experiences.
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
3
Hip
po
CM
S f
or
the
En
terp
rise
Reporting
Enterprise Edition Community Edition
Global Support
Upgrade Tooling
Service Manager
EnterpriseFeatures
Enterprise Infrastrucure
Enterprise architecture
Insurance & Indemnification
1
Relevance
Content Power
M O B I L E
Channel Control
Rapid Development
Open Integration
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
4
Hip
po
CM
S f
or
the
En
terp
rise
Hip
po C
MS
Your
Fro
nten
d
Hippo CMS UI
Hippo API
Hippo Repository
Hippo API
Hippo Delivery Tier
JSP & FTL
M O B I L E
The Hippo architecture is very modular. This modular and
clean architecture has several technical benefits such as
ease of integration and great scalability, and also functional
benefits such as content reuse. In the next sections, details
are provided on each componant in the Hippo stack.
Delivery Tier
The Hippo Delivery Tier provides the tools for rapid
development of websites, mobile sites and other channels
such as REST endpoints in a Hippo CMS environment. It
can be used to quickly realize multi-site and multi-channel
front-ends through a combination of configuration and
development.
Features include a templating engine which is easily
configurable through the Hippo CMS user interface, and a
tag library and expression language to accommodate the
development of a view layer based on JSP or Freemarker
templating. The Delivery Tier has extensive freetext search
and faceted navigation capabilities built-in based on Lucene,
but can also easily integrate with external search engines
such as SOLR or Elasticsearch.
Repository Tier
At the core of Hippo CMS is the Hippo Repository. All
content, metadata and configuration is stored in this
central component. Next to providing a storage layer,
the Repository is also responsible for the base CMS
services such as meta-data and workflow driven content
management, content searching, versioning, processing,
scheduling, transformation and aggregation.
The foundation of Hippo Repository is Apache Jackrabbit,
an open source implementation of JCR specifications
JSR-170 and JSR-283. All content and CMS functionality
is exposed through a standard set of API interfaces. This
allows any application or process to integrate with the CMS
for automatic creation, import, export and publication of
content, next to the web based CMS UI.
Content Management Tier
Hippo CMS is a web application, providing the user
interface through which teams can collaborate to create
and manage their content. All from within the same user
interface, marketers, webmasters, editors and authors can
perform functions such as creating new sub-sites and
landing pages, editing page templates, menu structures and
content, fine-tuning page templates for different targeted
personas, etc. Powerful search functions and clean user
interfaces enable users to quickly perform the different
tasks and stay up-to-date of their colleagues’ progress
using collaboration and reporting functions.
Depending on the role within the organization, certain
functions or content can be made hidden or read only
for certain groups of users, through a centralized access
management system.
The user interface of Hippo CMS has been architected with
customization in mind. It uses a plugin architecture based
on the Apache Wicket web application framework enabling
developers to introduce custom functionality for a specific
project.
<html> <xml>
Separation of Concerns
An important feature of Hippo CMS is that it cleanly
separates content and content management from the
context of its usage and its presentation. Hippo CMS
does not maintain content in a page oriented way, rather
content is stored in a generic structured format, allowing
it to be reused and enriched. The content can be reused
across multiple pages, but more importantly, the content
can be shared across multiple channels and devices.
This allows you to for instance create a new channel
and repurpose all existing content for that new channel,
saving time setting up additional channels, and reducing
maintenance needs later on. Content can be enriched by
adding metadata which is used to further personalize the
experience of for instance a site visitor based on
his context.
Multi-lingual and Multi-channel by Design
Predicting new technology and hot business opportunities
is “a tough thing”. The next device category that we will
use to consume content is hard to predict. A few years
ago, we saw the rise of tablets and smartphones as a new
channel and who can be sure when a new device such as
Google Glasses will take off?
In the previous section, we discussed how Hippo CMS
separates the content from the usage and presentation.
This enables development, content editing and marketing
teams to maximally reuse their work. It is possible to
use the same presentation logic to power multiple sites in
multiple languages. The content editing and marketing
team are now enabled to set up and launch for instance a
new website in a new language without the involvement of
the development or infrastructure teams. Supporting the
content editing team with automated translation tools is
possible as well
The architecture of Hippo CMS allows you to dynamically
add new language variants of your content and sites, or
additional channels through which existing content is
published all from within a production environment.
This ensures you have the flexibility to react to a new
technology or business opportunity when it manifests
itself.
Extensible and Flexible
Hippo CMS lends for integrations in any enterprise
environment. The software itself runs on a wide variety
of application servers and operating systems and can
be easily integrated with other software components in
your architecture. You are able to access and manipulate
the content stored in the CMS repository from other
applications, and at the same time you have the flexibility
to access information stored in other systems from within
the CMS user interface, or from the Delivery Tier.
All content and CMS functionality are exposed through
a standard set of Java APIs. This provides full control
over your content and means any external application
can – with the appropriate permissions – create, import,
export, search, manage, structure, manipulate and publish
content just by using Hippo’s open APIs.
Applications not written in Java can still interface easily
with Hippo. The REST interface opens up your content to
your own non-Java applications, but also to applications
of partners and affiliates. This also enables you to use
a delivery tier of your choosing. You can opt for the
Hippo Delivery Tier and use its rich features such as the
Relevance Module, or choose a delivery tier of your own,
based on Spring MVC or non-Java languages such as PHP.
Hippo CMS allows you to create integrations through for
instance REST interfaces with other backend systems
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
Hip
po
CM
S f
or
the
En
terp
rise‘Hippo CMS provides our
company with an extraordinarily
stable platform for our busy web
site. And, the system is also very
easy for our users.’
Dennis Valle, Vice President Group Digital
Marketing, Dolce & Gabbana
‘ ‘
5
Amsterdam • Boston Follow the Hippo trail: onehippo.com
or create mash-ups of important data from third party
systems and Hippo content as part of the CMS user
interface. An example is integration with analytics systems
that provide detailed information for each content item in
your repository, enabling content editors to fine tune the
content to their audiences. The Hippo user interface is built
on the Apache Wicket framework, which makes extending
it with custom CMS UI widgets a pretty straightforward
task.
Similarly, the Hippo Delivery Tier is built around an
easily extensible component framework. This allows you
to create integrations with your backend systems and
use the information stored in those systems to power
your channels.
Above you’ll find an architecture diagram of some of the
typical integrations we see in our at our customers.
Consolidate Existing Repositories
Another common integration scenario is one where there
are already one or more content repositories that need to
be consolidated into a centrally managed CMS. For these
scenarios, Hippo is a perfect fit as you can easily hook in
the other repositories or search engines such as SOLR to
repurpose and enrich the content as if it was native to the
Hippo repository. This means that migrating to Hippo can
be done progressively, at your own pace and without the
need for a “big-bang” content migration.
Whitepaper
6
Hip
po
CM
S f
or
the
En
terp
rise
Mobile & Tablet Apps
We
bsi
tes
&
On
lin
e S
ho
ps
RE
ST
AP
I
Mo
bil
e &
Ta
ble
t S
ite
s
So
cia
l C
ha
nn
els
&
Co
mm
un
itie
s
External Content Sources
CRM Systems
Weather Collector
Shopping Cart & Checkout
Forms, Polls & Surveys On-Site Search
Login Functionality Analytics Connectors
CRM Data Collector
Your Custom Data Point
Your 3rd Party System
Video, Kiosks & Displays
Marketing Automation
Web Analytics Solution
Partner & Affiliate Sites
eCommerce Solutions
Search Engine
Relevance Module
Hippo Delivery Tier
Hippo API
Hippo Repository
Hippo CMS UI
Cloud & Web Services
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
7 Security
User and Permission Management
User and permission management is a very important
aspect of any type of enterprise software. For CMS
systems this aspect needs to be split into user and
permission management for site visitors and for CMS
users. Combined, they control which content a site visitor
can see, or which content a CMS user can see or edit.
The Hippo CMS and Delivery Tier share many
components of their technology stack, including many
services related to security. When you use the Hippo
Delivery Tier for your web properties, you will be able to
reuse all standard services that the CMS offers for user
management, authentication and authorization, lowering
the learning curve for your technical teams.
Hippo CMS comes with a number of out-of-the-box
features when it comes to security, such as:
• Role Based Authentication
• Control access by site, section, asset or even
field level
• Integration support for SSO, LDAP and others
• Seamless support for HTTPS both for site and CMS
Typically, the users of the CMS are split into groups,
where each group has their own set of access rights.
These groups, as well as the actual users and their login
credentials are stored in the repository. Next to storing
this information in the repository, it is also possible to
perform authentication against external systems. This
allows you for instance to reuse an external LDAP or
Active Directory system to authenticate users, removing
the need to create and maintain a copy of all user
information in the CMS.
Hippo uses an extensible security mechanism allowing
for very flexible integration with external authentication
and authorization services. The CMS and site applications
can authenticate users using Form Authentication,
JAAS, Spring Security Integration, or use a custom
implementation. Hippo CMS comes with a standard set of
security providers to connect to several types of external
systems, but also allows you to create your own security
providers.
In case a SSO solution is preferred, HTTPD or another
reverse proxy is configured and used to redirect
browser clients to a central Enterprise SSO server for
authentication. After authentication, the user and his
valid security token are then redirected back.
Controllable Content Process
User authentication and authorization is one piece of
the puzzle of setting up a controllable content process.
Several other features are required in a CMS to support
enterprises in setting up a flexible yet secure content
editing environment.
To support this, Hippo CMS has the following
capabilities:
1. Workflow Provides control on the content editing process.
The out-of-the-box workflow in Hippo CMS enables
you to set up a cycle in which content authors
prepare content, which is then checked by a second
team before it is published to the live channels.
More complex workflow scenarios, like 3-step
legal validations, can be easily setup using Hippo’s
extensible workflow mechanism.
2. Collaboration tools and reports
Gives insight into the content editing process. Hippo
CMS comes out-of-the-box with a number of reports
that enable teams to track the content creation
progress.
3. Version history
Provides an audit trail. The version history can be
used to revert to a previous version to see which user
created or published which content, or to see which
user created or published which content.
4. Embargo content
Creates team independence. Hippo CMS supports
multiple teams creating so-called embargo content,
Hip
po
CM
S f
or
the
En
terp
rise
content that must only be visible to a certain team,
until it is published.
5. Locking and Unlocking
Locks allow an editor to take complete ownership
of a piece of content or a page template. Combined
with version comparison this prevents authors from
overwriting each other’s changes.
Security Audits
Hippo regularly asks external agencies to conduct security
audits for Hippo CMS. These security audits ensure that
the Hippo CMS UI and Delivery Tier comply with the
latest security standards to protect Hippo implementations
against attacks.
Additionally, Hippo has built up and documented a series
of best practices to help prevent vulnerabilities such as
cross site scripting in delivery channels.
Scalability and Failover
System availability is critical for modern web
applications. That is why Hippo CMS can be deployed to
provide a setup with no single point of failure, allowing the
whole system to remain fully functional even in the case of
hardware failure. At the same time, this architecture enables
linear scaling of both the Delivery Tier and the CMS.
When deploying Hippo CMS, the servers are running
the CMS can be split into three logical groups:
• Servers running application servers hosting the Site
application containing the Hippo Delivery Tier, called
Site nodes
• Servers running application servers hosting the CMS
application, called CMS nodes
• Servers running the database used by the repository
In front of both the Site and CMS nodes, one or more
load balancers are typically used to distribute the load
over the individual server nodes. This enables system
administrators to scale the Site and CMS applications
horizontally, as load demands. Note that Site nodes are
generic, it is not necessary for the infrastructure team
to add additional Site nodes when the marketing team
adds additional subsites or channels, or the content team
publishes the site in a whole new language.
Both the Site nodes and the CMS nodes contain
embedded repository applications which are persisted in
a shared database. Depending on the database of choice,
several mechanisms are typically available to make the
database itself resilient to hardware failure as well.
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
8
Hip
po
CM
S f
or
the
En
terp
rise
Advanced Infrastructure
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
9
Hip
po
CM
S f
or
the
En
terp
rise
High Performance
Content Delivery
Page generation
At a 30.000 foot level, all CMS systems can be divided
into two categories: baking systems and frying systems.
These terms relate to when the page presentation logic
is executed to render out pages in HTML or any other
markup language. Baking style rendering systems
generate the HTML output at the moment a piece of
content is published. Frying systems on the other hand
generate the HTML on the fly the moment a particular
page is requested.
Hippo CMS is a frying system, and has been so for over 10
years; our architecture is optimized for this use case.
The benefits of this architecture include:
• Optimal personalization
To be able to offer a truly personalised web
experience, a CMS that “fries” webpages instead
of “baking” them is a must have. All the user’s
characteristics including location, past visits,
current date and time, etc. can then be taken into
account when rendering a page.
• Flexible template changes
As page presentation logic is stored independently
from content, changes to the page presentation logic
is picked up immediately. In page baking systems,
often all pages have to be re-generated before the
change becomes visible. With a page baking system
it can take up to several hours or days to regenerate
all pages - even when the change was trivial. With
Hippo CMS, such changes can be pushed live
instantly.
Content Flexibility
Hippo strictly separates the editing process from the
presentation logic. Content is stored in a generic format,
allowing it to be reused on multiple pages. But more
importantly, when you want to expand your messaging
into an additional channel, you can repurpose all your
existing content without any effort.
As an example, it is possible to create and publish a single
piece of content, which is then made available over the
regular desktop and mobile channels, but also to mobile
apps, socials, RSS or Atom feeds, and affiliate sites over a
REST API.
Site Performance To create great customer experiences, a website needs
to serve its pages quickly. Many studies have shown
that the faster a website is, the higher the perceived user
experience, and the higher the average time a visitor
spends on it. Ultimately, faster websites lead to higher
conversion rates. Google takes this into account when
ranking websites. It punishes slow websites, and puts
faster websites more to the top of their search results. In
other words, high performance content delivery not only
increases user satisfaction but also improves your SEO
ranking.
A number of strategies are available in combination with
Hippo CMS to improve page loading times. Depending on
the type of project, one or more strategies can be combined.
• Content delivery networks
Hippo CMS integrates with Content Delivery
Networks such as Akamai or Fastly to improve
page loading times. Hippo CMS supports Edge Side
Includes (ESI) for dynamic content rendering in a
CDN network and has several features to simplify
development of sites that use ESI.
• Asynchronous components
In some cases, custom dynamic page components
can make it difficult to cache the complete rendering
of an entire web page. A common example of
such a component is one that displays the three
stores locations closest to the current visitor.
These types of components can be configured to
be rendered not as part of the whole page, but
through a separate client side Ajax call. Using this
mechanism, the page without the “uncacheable
component” can still be served from the cache.
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
10
Hip
po
CM
S f
or
the
En
terp
rise
Configuring the use of this mechanism is simply
toggling a checkbox in the configuration of the
component.
• Built-in cache for personalized sites
The Hippo Delivery Tier includes a built-in
cache for hot-spot pages such as the home pages
and landing pages. This caching mechanism is
integrated with the Hippo targeting engine allowing
these hot-spot pages to be served from the cache
while also containing targeted and personalized
content.
The section “Scalability and failover” also covers the
scalability aspects of the Hippo Delivery Tier.
Development
Hippo CMS employs proven development frameworks
to make your applications fast, scalable and extensible
without risk to your entire solution. Being a 100% Java,
open source platform, with a clean consistent architecture
it enables your developers to be productive fast and allows
you to grow your online business with our platform for
many years to come. In previous sections we discussed
the extensibility of the product itself, and the fact that
you as a user have great flexibility in the Delivery Tier.
In this section, we will cover several other aspects of
development using Hippo CMS.
Rapid Development
A web environment is a living thing that needs to innovate
to stay appealing and relevant to its audiences. You need
to be able to add channels, configure targeting rules
or introduce new features in a live environment. A key
component is the flexibility of Hippo in adapting to your
development process and the tooling Hippo CMS offers
to support you in bringing innovations to your audiences
quickly.
M O B I L E
Applications & Offline Channels
Web Mobile
SocialAffiliates and Partners
Hippo Repository
Content Repurposing & Channel Management
Hippo CMS
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
11
Hip
po
CM
S f
or
the
En
terp
rise
Development
Test
Acceptance
Production
configuration & code
content & configuration
Many of our customers use a traditional structure for their
development environment with separate Development,
Test, Acceptance and Production environments. Hippo
CMS accommodates this setup and provides tooling to
assist in moving configuration up the chain towards the
Production environment, and also to move content and
configuration downward in the chain.
This enables teams to quickly progress new features from
Development to Production, but also to use content and
configuration from the Production system on for instance
the Acceptance environment. Many of our customers are
using continuous deployment to further streamline the
development and testing processes.
Automated System Testing
Testing plays a crucial role in the successful
implementation and maintenance of digital experience
platforms. Hippo’s Quality Assurance Essentials give
testers and developers a framework of tools to create and
run automated testing scenarios in an easy, standardized
manner.
This framework runs in a Continuous Integration Server
to facilitate regular scheduled testing as part of standard
maintenance and roll-out protocols and provides
reporting, monitoring and notification functionality.
Based on the Cucumber framework and maintained by
Hippo, the QA Essentials enable testers and developers to
collaborate on creating test scenarios and improve overall
team efficiency.
Upgradeability
Hippo uses the following version numbering scheme:
Maintenance updates are fully backward compatible with
earlier updates within that release. For example: 7.8.1 can
be used as a drop-in replacement for 7.8.0.
If a project wants to upgrade from for instance 7.7 to 7.8,
we supply tooling and documentation to support this
process. In general, upgrading is always possible from a
functional perspective, but in the event of an API change,
implementation code changes may be required.
Interoperability
Hippo is a 100% Java, 100% open standards CMS. This
means you have a lot of flexibility when integrating with
Hippo. We support many current standards such as
JCR, WebDAV, REST, CMIS, and are actively involved in
emerging standards such as WEMI.
Web Accessibility
For many organizations compliance with accessibility
guidelines, such as WCAG, is not only a best-practice –
it’s a legal requirement. Using Hippo CMS organizations
can ensure that their websites will conform to such
accessibility guidelines.
WhitepaperWhitepaper
12
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Hip
po
CM
S f
or
the
En
terp
rise
VERSION NAME DEFINITION FREQUENCY
7 Major version number Hippo CMS product version number 7 Every several years
7.8 Minor version number The 7.8 release of Hippo CMS Once or twice a year
7.8.3 Maintenance version number Maintenance update of the 7.8 release Monthly
What does compliance to Web Accessibility mean? There
are detailed requirements for each of the international
compliance guidelines, but for illustrative purposes, some
of the larger issues include:
• Page requirements
Websites must be readable by electronic screen readers;
• Image requirements
Images must have alt tags (meta information) that will
alternatively identify the image for screen readers;
• Table requirements
If web designers utilize tables of information, alt tags
must describe both column and row headers so that it
can be readable and understandable without visual cues;
• Automatic Scripting
Any scripted display and/or image mapping should
offer text based alternatives.
Hippo CMS can conform to these guidelines as our
architecture gives designers full flexibility in designing the
website. This is one of the many benefits of the Separation
of Concerns that Hippo enforces.
The Hippo Delivery Tier does not impose restrictions on
the HTML layout nor will you find hidden HTML tags
needed for certain features of the CMS. Next to this,
Hippo CMS allows the use of content validators that
report which pages may not conform to certain guidelines,
allowing you to progressively improve your content when
new accessibility rules have to be imposed.
For more details, we have a separate whitepaper on
managing accessible websites.
Search Engine Optimization
Although this is the last section of this whitepaper, Search
Engine Optimization is something that needs to be
considered in a project from the get-go. This is why Hippo
CMS provides documentation and tooling around the
topic of SEO.
Hippo CMS ships with many tools to help optimize your
web channels:
• Full control over URL format, HTML headers, etc.
• Tools for XML sitemap generation, broken links
checking, redirects, etc.
• Link management tools such as broken links
and re-directs
In a separate whitepaper, we provide several best
practices for Search Engine Optimization.
About Hippo
Amsterdam • Boston Follow the Hippo trail: onehippo.com
Whitepaper
At Hippo, we believe, digital is here to make our lives a
little bit better.
Hippo sets the standard for how organizations can bring
real-time relevanceto their audience and is the foundation
for personalized experiences across all channels: mobile,
social and web. Our purpose is to facilitate innovation so
our customers can create digital miracles. We serve our
customers, by creating a platform that is fun to use, easy
to implement and open for innovation.
Hippo CMS is a powerful, enterprise-class foundation
to deliver outstanding Customer Experiences based on
Enterprise Agility and Innovation Power.
Hippo CMS is open source, 100% Java and convinces
with its lean product architecture that is built for uptime,
security and performance.
Our dedicated, Certified Partner Network delivers Hippo
Awesomeness around the globe to our valued customers.
Hippo is proud to serve organizations such as Autodesk,
British Telecom, Dolce & Gabbana, the Dutch Police, Bell
Aliant, Weleda and Crédit Agricole.
Hippo is headquartered in Amsterdam, The Netherlands
and Boston, USA.
Curious for more? Visit www.onehippo.com
14
Hip
po
CM
S f
or
the
En
terp
rise