Table of Contents
Introduction
Chapter 1: Introduction to OpenCms
Chapter 2: Installing OpenCms
Chapter 3: The OpenCms Workplace
Chapter 4: Customizing the Site
Chapter 5: The OpenCms System Architecture
Chapter 6: Creating an OpenCms Module
Chapter 7: Advanced Modules
Chapter 8: Deploying an OpenCms Solution
Appendix A: Building OpenCms from Source
Appendix B: Using the OpenCms Lucene Search Module
Index
- Chapter 1: Introduction to OpenCms
- What Is a Content Management System?
- Three Essential Components
- What Is OpenCms?
- Features
- History
- The OpenCms Community
- The Purpose of This Book
- Technical Overview
- The Web Server and Java Servlets
- The Database
- Pages, Templates, and Java Server Pages
- Bringing it Together
- Summary
- What Is a Content Management System?
- Chapter 2: Installing OpenCms
- Prerequisites
- Configuring the MySQL Database
- MySQL on Linux
- MySQL on Windows
- Finishing the MySQL Setup
- Configuring the Tomcat Servlet Engine
- Linux Configuration
- Windows Configuration
- Configuring Encoding
- Tuning the JVM
- Configuring the MySQL Database
- Installing the OpenCms WAR File
- Configuring OpenCms to Use UTF-8
- Running the Install Wizard
- Advanced Setup Screens
- Basic Setup Screens
- Manually Configuring Settings
- Configuring the Client
- Mozilla-Based Browsers
- Internet Explorer
- Installation Troubleshooting
- Character-Set Issues
- Temp File Project ID Error
- Restarting Tomcat versus Reloading OpenCms
- Importing Workplace Screen Freezes
- MySQL User/Password Changes
- Finding More Installation Help
- Summary
- Prerequisites
- Chapter 3: The OpenCms Workplace
- A Tour of the OpenCms Workplace
- The Toolbar
- The Explorer View
- Creating and Editing Content
- Creating a Folder
- The WYSIWYG Editor
- The Sourcecode Editor
- Publishing Your Changes
- Versioning
- Administration
- Project Management
- User Management
- Database Management
- Static Export
- Clear Element Cache
- Resource Type Management
- Properties Management
- Gallery Management Tools
- Link Checking
- Module Management
- Synchronization Management
- Scheduled Tasks
- Log File Viewer
- Channels
- Flex Cache Administration
- Workflow
- Creating and Managing Tasks
- Workflow Management Strategies
- Use Projects to Manage Content Areas
- Use Group Hierarchies for Inherited Permissions
- Track Work with Tasks
- Keeping a Trail
- Modules
- Obtaining Official OpenCms Modules
- The Help System Modules
- Importing OpenCms Modules
- Where Did All that Module Data Go?
- Online Documentation Modules
- Other Modules
- Summary
- A Tour of the OpenCms Workplace
- Chapter 4: Customizing the Site
- Overview of Creating a Site
- Working with Templates and Tags
- Creating a Site Module for Templates
- Creating a New Template
- The JSP Template
- Associating a Page with the New Template
- JSP Tag Libraries and Scriptlets
- JSP Tag Libraries
- The OpenCms Tag Library
- The JSP Template
- Creating a JSP Document
- JSP Scriptlets
- Basic Scriptlets
- The CmsJspActionElement Object
- OpenCms Navigation
- Getting the Contents of Other Files
- Advanced Scriptlet Programming
- A Few Things to Watch Out For
- The File System
- Redirecting and Forwarding
- Java Synchronization
- Dynamic Content and Publishing
- Structuring Code and Content
- The FlexCache
- Tuning the FlexCache
- FlexCache JSP Directives
- Absolute Directives
- User Directives
- Time-Sensitive Directives
- URL Directives
- Controlling the Cache with URL Parameters
- Using FlexCache
- Internationalization
- Modules
- Creating ResourceBundles
- JSPs and ResourceBundles
- Modules
- Summary
- Chapter 5: The OpenCms System Architecture
- Resource Types
- Coding a New Resource Type
- Building the Resource Type
- Editing the Properties Files
- Adding a Restype
- Menu Items
- Adding Properties for the Resource Type
- Editing the OpenCms Registry
- Using the New Resource Type
- Coding a New Resource Type
- Content Definitions
- The Steps for Creating a Content Definition
- Important Methods
- The Steps for Creating a Content Definition
- The Virtual File System
- How Page Types Are Stored in the VFS
- Resource Names and the VFS
- Reading from and Writing to the VFS
- Class Structure
- com.opencms.boot
- com.opencms.core
- com.opencms.dbpool
- com.opencms.defaults
- com.opencms.defaults.master
- com.opencms.file
- com.opencms.file.
- com.opencms.file.utils
- com.opencms.flex
- com.opencms.flex.cache
- com.opencms.flex.jsp
- com.opencms.flex.util
- com.opencms.htmlconverter
- com.opencms.launcher
- com.opencms.linkmanagement
- com.opencms.report
- com.opencms.template
- com.opencms.template.cache
- com.opencms.util
- com.opencms.workplace
- Summary
- Resource Types
- Chapter 6: Creating an OpenCms Module
- Using Modules
- The Site Module
- Creating a Module
- Navigating the New Module
- Custom Classes and Libraries
- Adding Libraries
- Adding Content
- Creating a Simple XML Document
- A Place for XSLT Templates
- JSP Elements
- Adding a Scheduled Task
- The BatchTransformer Class
- The CronBatchTransformer Class
- Scheduling a Task
- How an I_CmsCronJob Is Executed
- Managing the Module
- Administrate
- The Dependency Screen
- The Module Properties Screen
- Properties
- Accessing Module Parameters from JSP Pages
- Administrate
- Exporting and Deploying the Module
- Summary
- Using Modules
- Chapter 7: Advanced Modules
- Adding an Administration Point
- Creating Icons
- Adding a Properties File
- Creating Administration Point Folders
- Adding Additional Properties
- Creating an Administration JSP
- The JSP Code
- The Administration Point in Action
- XML Templates
- How XML Templates Work
- Editing XML Templates
- The Structure of the Workplace XML Templates
- The action Folder
- The administration Folder
- The help and locales Folders
- The resources Folder
- The restypes Folder
- The scripts Folder
- The templates Folder
- The /system/login Folder
- Creating a Custom Launcher
- The Basic Idea
- Implementing a Launcher
- Editing the Registry
- Testing the Launcher
- Other Considerations
- Creating XML-Template-Based Launchers
- Creating Resource Loaders
- Master Modules
- Summary
- Adding an Administration Point
- Chapter 8: Deploying an OpenCms Solution
- Serving Static versus Dynamic Content
- Published Resources
- Static Serving
- Dynamic Serving
- The Export Property
- Changing Export Settings
- Static Export
- Configuring for Static Export
- Export Path Settings
- Export URL Settings
- Using Relative Links
- Running a Static Export
- Touching All Files in the VFS
- Configuring for Static Export
- Web User Authentication and Management
- How OpenCms Handles Authentication
- The Guest User
- CMS Users
- Web Users
- Creating Web Users
- The create_webuser.jsp Scriptlet
- Authenticating Web Users
- Using the Authentication JSP
- Restricting Access through a Template
- How OpenCms Handles Authentication
- Backup and Recovery
- Backing Up the Database
- Backups from Within OpenCms
- Performing an OpenCms Database Export
- Backing Up Large Sites
- The Backup Files
- Importing an Export Zip File
- Users and Groups
- Resources
- Performance Tuning
- Database Tuning
- MySQL
- Oracle
- SQL Server
- OpenCms Tuning
- FlexCache
- Page Streaming
- Efficient Coding
- Database Tuning
- Other Resources
- Summary
- Serving Static versus Dynamic Content
- Appendix A: Building OpenCms from Source
- What You Will Need
- Getting the OpenCms Source
- Checking Out the Source from CVS
- Building OpenCms with Ant
- Generating Javadocs
- Summary
- Appendix B: Using the OpenCms Lucene Search Module
- Searching Technologies and OpenCms
- About the OpenCms Lucene Module
- Obtaining and Installing the Module
- Configuring the Registry
- Global Parameters
- Document Factories
- Content Definitions
- Directories
- Finishing the Registry
- Running the Index Manager
- Configuring the Registry
- Searching with Lucene
- Hacking the OpenCms Lucene Module
- Summary


