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 somewhere else 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

Flexible Content Model

Fully customizable document oriented content model with built-in modelling tools. Strict separation of content from presentation. Reuse content across Websites, Mobile Websites and apps.

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 configuration s, 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

Latest Blogs

How to: Integrate Hippo CMS with an ElasticSearch enterprise search engine
January 28, 2015

Our most recent Hippo Lab focuses on integrating an open source Web Content Management System with an ElasticSearch enterprise search engine.

Kickstart your projects with the Hippo feature library
September 25, 2014

With this feature library, you can add commonly used functionality to your project

Re: [hippo-community] SiteMapItem matching
by: Abdul Patnam | 17-04-15 21:46:48 (CEST)

Hi, Thanks for letting me know that _any_ should be used only as leaf node. I'm not seeing any warnings in the logs. May be the logs are disabled for that part. On Friday, April 17, 2015 at 2:47:12 PM UTC-4, a.schrijvers wrote: > > On Fri, Apr 17, 2015 at 8:46 PM, Ard Schrijvers > <a.schr...@oneh

Re: [hippo-community] SiteMapItem matching
by: a.schrijvers | 17-04-15 20:47:12 (CEST)

On Fri, Apr 17, 2015 at 8:46 PM, Ard Schrijvers <a.schr...@onehippo.com> wrote: > Also note that 'news/_any_/archive' does not work. _default_ is the > equivalent for * and _any_ is the equivalent for **. > > * matches one path element : thus something between two slashes > > ** is a greedy

Re: [hippo-community] SiteMapItem matching
by: a.schrijvers | 17-04-15 20:46:31 (CEST)

Also note that 'news/_any_/archive' does not work. _default_ is the equivalent for * and _any_ is the equivalent for **. * matches one path element : thus something between two slashes ** is a greedy match, aka, anything, regardless number of slashes Thus news/{anything}/archive is not val

Re: [hippo-community] SiteMapItem matching
by: Abdul Patnam | 17-04-15 20:36:57 (CEST)

Spliting the matcher works great. Thanks a lot for your help. Regards, Abdul. On Friday, April 17, 2015 at 12:15:01 PM UTC-4, w.ko wrote: > > A placeholder is matched by either _default_ or _any_. That's why you > have only one (you have only one _any_). > Maybe can you try to split the matcher?

Re: [hippo-community] SiteMapItem matching
by: w.ko | 17-04-15 18:15:01 (CEST)

A placeholder is matched by either _default_ or _any_. That's why you have only one (you have only one _any_). Maybe can you try to split the matcher? e.g, news/_default_/_any_ Then maybe ${1} will match with either 'global' or 'usa' while ${2} with the string after that. Regards, Woonsan

Re: [hippo-community] SiteMapItem matching
by: Abdul Patnam | 17-04-15 18:10:22 (CEST)

Thanks for the quick reply. I did use the property placeholder ${1}. But the value for it is coming as usa/archive, global/archive. I need only usa, global. I thought ${1} will match to usa and ${2} will match to archive. On Friday, April 17, 2015 at 12:03:00 PM UTC-4, w.ko wrote: > > I think you

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.