OpenCms 7 Development

Want this title & more?

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781847191052

Paperback292 pages

About This Book

Targets version 7 of OpenCms

Create new modules to extend OpenCms functionality

Learn to use the OpenCms templating system

Who This Book Is For

The book is for Java developers with a basic knowledge of the operations of OpenCms. No previous experience of developing OpenCms is expected.

Table of Contents

Chapter 1: Overview

The Site Design

Required Developer Skills

OpenCms Application Overview

Summary

Chapter 2: Developing in OpenCms

Developing Basic Site Content

Setting Up an Environment for Creating JSP Code

Setting Up an Eclipse Environment to Build OpenCms

Setting Up an Eclipse Environment without Building OpenCms

Summary

Chapter 3: Our First Module

Understanding OpenCms Modules

Common Module Types

Module Events

Exporting and Importing Modules

Creating a Module

Structured Content Types

Summary

Chapter 4: Developing Templates

Review of the Page Layout

Templates in OpenCms

The Content and Template Loading Process

Expressions in JSP Templates

Accelerating Template Development Using WebDAV

Summary

Chapter 5: Adding Site Search

A Quick Overview of Lucene

Configuring OpenCms Search

Writing the Search Code

Summary

Chapter 6: Adding User Registration and Comment Support

Understanding OpenCms Security

Setting up Security for Our Site

User Login and Registration Code

Adding Comment Support

Summary

Chapter 7: Providing Site Customization Features

What is RSS?

Creating the Module

The RSS Client Code

Displaying the RSS Feed in the Template

Adding User Preferences to Accounts

Updating the Java Code

Updating the JSP Templates

Hooking up the Account Management Page

Summary

Chapter 8: Extending OpenCms: Developing a Custom Widget

Designing a Custom Widget

Designing the Widget

The Widget Code

Registering the Widget with OpenCms

Summary

Chapter 9: Extending OpenCms: Adding RSS Feed Support

RSS Feed Design

The RSS Feed Content Type

Creating a Supporting Widget

The RSS Feed Template and Java Classes

Content Wrapper Java Classes

Wrapping It Up

Summary

Chapter 10: Extending OpenCms: Adding an Administration Point

Administrative Points

The Administration View

Hooking the Administration Point Up to the Module

The RSS Administration Module

Summary

What You Will Learn

An overview of the OpenCms development architecture

Developing in the OpenCms environment

Working with the templating system

Using the template API

Extending and using OpenCms beans in template code

Using the JSTL tag library

Template caching

Understanding resource collectors

Understanding and creating OpenCms modules

Creating structured content types

Rules for creating OpenCms schema files

Registering content types with OpenCms

User Interface Widgets and their options

Nesting content types

Using Validating XML editors to edit configuration files

Using Eclipse and WebDAV for module development

Configuring OpenCms Search

Looking at search indexes

Supporting searching in templates

Understanding OpenCms security

Adding user registration and web user logins

Programmatic publishing of content

Providing site customization features

Designing and creating Custom OpenCms widgets

Using OpenCms message strings for localization

Adding RSS support to OpenCms

Adding OpenCms Administration Points

Using OpenCms List and Dialog classes

Programmatically using OpenCms widgets

In Detail

OpenCms is a professional-level open-source Website Content Management System, based on Java and XML. Many companies or organizations have requirements that go beyond what is available in the standard OpenCms application. Thankfully, OpenCms can be used by Java developers to create sophisticated add-ons and customizations that extend the power of OpenCms in virtually unlimited directions.

Targeting version 7 of OpenCms, this book is for Java developers interested in extending and further customizing OpenCms through its Java API.

Starting by showing how to set up a development environment for OpenCms work, the book moves you through various tasks of increasing complexity. Some of the common tasks covered are building OpenCms, XML asset type development, templating, module development, user and role setup, and search integration. In addition to these common tasks some more advanced topics are covered such as self-registering users, RSS support, developing custom widgets and extending the administrative interface. All the topics include examples and are presented while building a sample blog site.

The skills you develop will make you an OpenCms developer to be reckoned with!

Authors

Dan Liliedahl

As eFoundry's Founder and Chief Technology Officer, Dan Liliedahl's early vision for the company has culminated in a professional services firm that provides its Fortune 1000 clients with focused e

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.