New here?

Our Getting Started tutorial will get you up to speed with Hippo development.

Follow the Hippo Trail

Architecture

The relations between repository, CMS and delivery tier.

How it all fits together

Developer Info

Source code, forge, license, roadmap and system requirements.

Developer Info

Careers

Interested? We're always on the lookout for new talent.

Have a look

What is Hippo CMS?

Hippo CMS is an open source Java CMS. We built it so you can easily integrate it into your existing architecture.

Open Platform

We are big believers in open source. We use and contribute to many open source components - and our entire core is available under the Apache License

Java Stack

What you'd expect from a Java environment: easy to integrate, testable, ready for continuous integration, and sticking to familiar Java standards such as JCR 2.0 and JAX-RS

Scalability

Highly scalable platform which supports both clustering and replication

Performance

Performance matters to us! Hippo CMS  scales both  horizontally and vertically and makes use of  multi-layered caching to squeeze the most out of your implementation

Integrations

Query content using REST, or import content from elsewhere into Hippo. Hook up an external application into the rendering phase via Spring. Build a Mobile app or an AngularJS app that consumes content from Hippo. Use external data systems to feed our personalisation engine

Security

Protect your content with fine grained authorizations,  LDAP support and secure replication

The CMS Features You'd Expect

Content editing, workflow, history, version control, image library, user management, out of the box

Multi-lingual, Multi-site, Multi-channel

Out of the box support for multi-language, multi-site and multi-channel implementations. Cross-domain, cross-site, cross-language and cross-channel linking between documents are resolved automatically.

Separate Content from Presentation

Break free from page oriented development. Redesign your website without modifying content and reuse your content across websites, mobile  apps, etc. Use Hippo's  fully customizable document oriented model and built-in modelling tools to separate content from presentation.

Deployments

Deploy on-premise or in the cloud on your preferred servlet container

Extensible Components

Use or extend existing components from the Hippo Feature Library or build your own. Use JSP, Freemarker or AngularJS to render your components

Give Control To End Users

End users can manage page configurations, menus, URL structures and component mappings. Without you having to go into code

Personalisation

Deliver personalized pages to visitors with the Relevance module

Your HTML

We don't mess with your HTML output. Use whatever web framework you like; Bootstrap, AngularJS, it's up to you

Search

Out of the box querying, facetting and full text search capabilities based on Apache Lucene - or hook up Elasticsearch if you need more power

 

Can I try it out?

Yes! Try the online demo of  Hippo Enterprise Edition or create your own  project with Hippo Community Edition.

Look under the hood if you like, we share our source code.

Gallery Media Banner

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Did you see this?

Simplify Upgrades with Hippo's Synchronization Add-on
June 15, 2015

Use the Synchronization Add-on to smoothen the process of continuous delivery.

Meet Hippo CMS 10 for Developers
May 27, 2015

Last week, we announced the release of Hippo CMS 10. Now we want to take the time to truly introduce this new release.

Re: [hippo-community] @hst.actionURL doAction Not firing
by: w.ko | 26-09-16 23:32:09 (CEST)

I'd like to recommend you to check two things: i) Is the ftl template associated with the LandingPageComponent class in hst component or page configuration? Sometimes people mistake a ftl template of child component as parent component's template. ii) Do you see if the action URL was fired through

@hst.actionURL doAction Not firing
by: bracki...@gmail.com | 26-09-16 23:16:54 (CEST)

We are having a problem understanding how the actionURL in the FTL relates to our component. No matter what we try we cannot get the doAction mothod to fire. We have a doBeforeRender method that does fire when the page gets rendered. Here is the snippet from our ftl file.

Re: [hippo-community] Bug in External Rest API Example?
by: n.vankampenhout | 26-09-16 23:03:49 (CEST)

On Wed, Jun 29, 2016 at 2:31 PM, Niels van Kampenhout < n.vanka...@onehippo.com> wrote: > On Wed, Jun 29, 2016 at 10:57 AM, David Steelman <dsteel...@gmail.com> > wrote: > >> Ard, Woonsan, Marijan, et al., >> >> I was able to modify my Spring configuration to use setter injection to >> supply the

Re: [hippo-community] Not able to Manipulate HSt Response while ajax request
by: Ben-10@Dev | 26-09-16 21:43:40 (CEST)

Thanks Ard. I have two forms/two component on same page. I don't want to submit both on same stage. One form will be submit from ajax request and response of that request will be shown at same time without affecting other form values(without refreshing page). On Monday, September 26, 2016 at

Re: [hippo-community] Not able to Manipulate HSt Response while ajax request
by: a.schrijvers | 26-09-16 19:13:41 (CEST)

Hey Ben, for action requests we use the PRG pattern see [1], so your requirement is not possible with action requests. Don't you want to post to some rest endpoint? That seems to match your use case better. Otherwise to a org.hippoecm.hst.core.component.HstComponent#doBeforeServeResource method,

Not able to Manipulate HSt Response while ajax request
by: Ben-10@Dev | 26-09-16 18:55:04 (CEST)

Hi, I have been sending ajax request to server. Once job has been done i want to send a response to clinet with json data. i am not able to figure out loop whole in code. Case 1- Once i have code for response like this on browser does not include response like this Case 2 - When i have

Looking for assistance? You're welcome to ask for help. We have a very active mailing list! Please do check the tutorials and the guidelines first, though.