Date post: | 26-Jan-2015 |
Category: |
Technology |
Upload: | piergiorgio-lucidi |
View: | 117 times |
Download: | 2 times |
Hippo CMS
A first look
Overview
• Why Hippo?• Architecture
o CDAo CMS
• Hippo Site Toolkit• Authorization• Tools
Why Hippo?
• Open Source WCM• Java development standards compliant (Maven :D)• REST: JSF, JSP, Portlets, Wicket, Freemarker, Spring
MVC• Repository JackRabbit: JCR, WebDAV• Faceted browsing• Vibrant community
o Forum o Hippo Forge o Mailing list
• Cloud ready
Architecture
CDA (Live website)(Content Delivery Application)
• WAR • Well written API• Spring based• Easy to implement
CMA / CMS(Content Management Application)
• WAR • Wicket based• Hardcoded• Not easy to extend
http://www.onehippo.com/en/products/cms/try
Architecture - Single node
Architecture - HA
Architecture - HA with technologies
CDA
The Content Delivery Application is a J2EE application based on the Spring Framework. The CDA shows contents to final users using custom templates written in:• JSP• FreeMarker
CDA - Hippo Go Green example
URL: http://www.demo.onehippo.com/
CDA - Template Composer
URL: http://www.demo.onehippo.com/manager/edit
CDA - Template Composer
A generic Drag & Drop section can be configured using JCR
CDA - Template Composer - JCR
A generic Drag & Drop section can be configured using JCR
CMS - Dashboard
The dashboard is a personal panel for each user to:• Start a content wizard• Take a look at the activities and task history• Work on tasks assigned to the user
URL: https://cms.demo.onehippo.com/
CMS - Dashboard
CMS - Browse
The browse feature allow users to navigate and manage all the contents and pages of all the websites: • Folders• Contents• Properties• Publication and content preview• Images • Assets• Content Types configurations• Taxonomies
CMS - Browser
CMS - Admin
The Admin feature allow administrators to:• Manage users• Manage groups• Manage permissions• Get system info
CMS - Admin
CMS - HST Configuration Editor
Hippo Site Toolkit provide a console to configure your own custom pages and templates providing these sections:• Sitemap• Site Menus• Pages• Components• Templates
Sections structure = nodes structure
Hippo Site Toolkit - products example
Hippo Site Toolkit - products example
In the products-overview page we have three columns that are defined as child nodes.In the main element is defined products.main as the template.
Hippo Site Toolkit - products example
Hippo Site Toolkit - products example
Inside the template we have to add an hst:include element for each child node defined for the page
Hippo Site Toolkit - products example
content, leftnav and right must be defined in the HST Configuration Editor to correctly build the
page.
Hippo Site Toolkit - products example
For each component we can configure:• the controller class (optional) • parameters (optional)• template
Hippo Site Toolkit - products example
Hippo Site Toolkit - products example
Hippo Site Toolkit - approach
1. Create a new project using the Maven Archetype (IDE)2. Create your custom pages/components (CMS)3. Write your own templates (CDA)4. Implement your own Java logic for components (CDA)5. Export all the XML configuration in your Java project (IDE)6. Customize the CMS
Hippo Site Toolkit - architecture
Authorization
Hippo provides a default set of users, groups and roles to build your own website. User Guides about the authorization model of Hippo are available at the following address:
http://www.onehippo.org/cms7/documentation/user
Authorization - Default model - Users
• admin: has all privileges• editor: can edit and publish content• author: can edit content, but not publish• workflowuser: used internally by the workflow engine
Authorization - Default model - Groups
• admin: members of this group have all privileges• editor: members of this group can edit and publish content• author: members of this group can edit content• everybody: every logged in user is member of this group
Authorization - Default model - Roles
• admin: has the privileges of editor, all jcr privileges and the hippo:admin privilege
• editor: has the privileges of author, jcr write privileges and the hippo:editor privilege
• author: has jcr read privileges and the hippo:author privilege• readwrite: has jcr read and write privileges• readonly: has jcr read privileges
Authorization - Default model - Domain
• everywhere: all content of the repository• defaultread: nodes that need to be readable by all (CMS) users• defaultwrite: nodes that need to be readable and writeable by all (CMS) users• versioning: nodes related to versioning• workflow: workflow configuration related nodes• hippodocuments: all documents• hippofolders: all folders• frontendconfig: CMS configuration nodes• hippogallery: assets and images• htmlcleaner: html cleaner configuration• templates: template definitions• hippolog: log nodes for activity plugin• hipporequests: nodes related to scheduling
Tools
1. Logging console2. Console 3. Repository browser
Tools - Logging console
URL: http://localhost:8080/cms/logging/
Tools - Console
The console browser allows to:• Manage all the nodes• View permissions• View workflows• Nodes Import/Export via XML• Check out / check in• Add namespaces• CND import / export (node type definitions)
URL: http://localhost:8080/cms/console/
Tools - Console
Tools - Repository browser
• browse all the nodes in the repository• allows to test your search queries (XPath, JCR SQL)
URL: http://localhost:8080/cms/repository/
Tools - Repository browser
Resources
Hippo Company:http://www.onehippo.com/ Hippo Community:http://www.onehippo.org/
Download page:http://www.onehippo.com/en/downloads
Thank you for your attention!