Building Websites with OpenCms


Building Websites with OpenCms
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
$13.50
save 50%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
$44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Understand how OpenCms handles and publishes content to the Web
  • Learn how to create your own, complex, OpenCms website
  • Develop the skills to implement, customize, and maintain an OpenCms website

Chapter 06 - Preview Chapter

Book Details

Language : English
Paperback : 276 pages [ 197mm x 210mm ]
Release Date : July 2004
ISBN : 1904811043
ISBN 13 : 9781904811046
Author(s) : Matt Butcher
Topics and Technologies : All Books, CMS and eCommerce, Content Management (CMS), Java, Open Source


Table of Contents

Introduction
Chapter 1: Overview of Microsoft Content Management Server
Chapter 2: Installing MCMS 2002 for the Developer
Chapter 3: The Database Configuration Application
Chapter 4: The Server Configuration Application
Chapter 5: Setting Up a Website from Scratch
Chapter 6: Creating Templates and Postings
Chapter 7: Working with Placeholders
Chapter 8: Debugging Template Files
Chapter 9: Default Postings and Channel Rendering Scripts
Chapter 10: Understanding the MCMS Publishing Workflow
Chapter 11: Authoring with Microsoft Content Management Server
Chapter 12: The Publishing Application Programming Interface
Chapter 13: Building Navigation Controls
Chapter 14: Customizing Placeholder Controls
Chapter 15: Building Custom Placeholder Definitions and Placeholders
Chapter 16: Extending the Workflow
Chapter 17: Publishing with Authoring Connector
Chapter 18: Implementing Forms Authentication
Chapter 19: Customizing the Web Author Console
Chapter 20: Creating Connected Templates and Pages
Chapter 21: Aggregating Content
Chapter 22: Enhancing Performance with Caching
Chapter 23: Site Deployment
Chapter 24: Hosting Multiple Websites and Adding SSL Security
Appendix A: Upgrading from MCMS 2001 to MCMS 2002
Appendix B: References
Index
  • Chapter 1: Overview of Microsoft Content Management Server
    • Why Content Management?
    • The Solution�Content Management Servers
    • The Components of MCMS
    • MCMS is a Content Server
      • How MCMS Renders Content
      • How to Locate the MCMS ISAPI Filters
      • Security Service
    • MCMS Is a Content Repository
    • MCMS Integrates with Visual Studio .NET
      • .NET Framework
      • Integration with other Microsoft Server Products
      • Publishing API
    • MCMS Is a Web Authoring Tool
      • Web Author
      • Authoring Connector
      • What Authors can do with MCMS Web Authoring Tools
    • MCMS is a Website Manager
      • MCMS Enables Deployment of Content Across Systems
      • What Microsoft Content Management Server Is Not
    • MCMS Objects
      • Channels
      • Postings
      • Resource Galleries
      • Resources
      • Template Galleries
      • Templates
      • Roles and Rights Groups
      • Users
    • Summary
  • Chapter 2: Installing MCMS 2002 for the Developer
    • Pre-Installation Checklist for the Developer
      • Ensuring that the Computer Meets the Minimum Hardware Requirements
      • Running Windows Update
      • Configuring Internet Information Services (IIS)
      • Ensuring that Internet Explorer is Version 6.0 or Above
      • Installing Microsoft Visual Studio .NET 2002 or 2003
      • Installing Microsoft SQL Server 2000
      • Deciding on an MCMS System Account
      • Creating the MCMS Database in SQL Server 2000
      • Creating the MCMS Web and Server Configuration Application Entry Points (Windows 2000 Server and Windows Server 2003 only)
      • Installing Internet Explorer Web Controls
      • Installing the Visual J# Redistributable
      • Setting the Maximum Size for Uploaded Resources and Site Deployment (Windows Server 2003 only)
      • Ensuring that the Account Running the ASP.NET Process has Impersonation Privileges
      • Considerations for Windows XP with Service Pack 2
    • Installing Microsoft Content Management Server 2002 with SP1a
    • Installing from the Released To Manufacturing version of MCMS
      • Applying SP1a on the RTM version of MCMS
    • What has been Installed on My Computer?
      • New Additions to the Start Menu
      • Additional Items in the File System
      • New Service Available
      • New Keys in the System Registry
    • Frequently Asked Questions
    • Summary
  • Chapter 3: The Database Configuration Application
    • The DCA Links MCMS Server to the Database
    • The DCA Toggles between Databases
    • Running the DCA for the First Time
      • Final Steps
    • Connecting to an Existing MCMS Database
    • DCA�Behind the Scenes
      • New Virtual Directories in Internet Service Manager
      • Additional Database Tables
      • Additional Stored Procedures
      • Background Processing
      • Additional Keys in the Registry
      • Addition to the Start Menu
    • Summary
  • Chapter 4: The Server Configuration Application
    • Starting the SCA
    • Launching SCA from a Remote Machine
    • About the MCMS Host, Version, and Database
      • MCMS Host
      • MCMS Version
      • MCMS Database
    • General Settings
      • URL Format
      • Map Channel Names to Host Header Names
    • Cache Settings
      • Configuring Cache Settings
    • Web Settings
    • Access Settings
      • Modifying the List of Domains
      • Security Settings
      • MCMS System Account
    • License Settings
    • Summary
  • Chapter 5: Setting Up a Website from Scratch
    • Laying the Foundations
    • Designing and Building the Channel Structure
      • Channel Naming Guidelines
      • It's All for Display
      • The Channel Structure
    • Designing and Building the Template and Resource Gallery Structure
      • Designing the Gallery Structure for Authors
      • Building Template Galleries with Site Manager
      • Building Resource Galleries with Site Manager
      • Creating the TropicalGreen Project in Visual Studio .NET
      • What the MCMS Project Creation Wizard Does
      • Setting the Authentication Mode
      • Setting up a Multi-Developer Environment
    • Summary
  • Chapter 6: Creating Templates and Postings
    • Something About Templates
      • MCMS Template Files
      • Template Gallery Items
    • Before We Begin
    • Creating the Plant Template File
    • Editing the Template File
      • Adding the Default Console
    • Creating a Template Gallery Item
      • Viewing the MCMS Template Explorer
      • Creating the Plant Template Gallery Item
      • Linking the Template Gallery Item to the ASPX Template
      • Saving the Template Gallery Item
      • Checking In the Template Gallery Item
    • Creating the First Posting
      • Opening the Built-In Channel Rendering Script
      • Creating a New Page
    • The Difference between a Template File and a Regular ASP.NET Web Form
    • Summary
  • Chapter 7: Working with Placeholders
    • Using Placeholders
      • Placeholder Controls
      • Placeholder Definitions
      • Placeholder Objects
    • Before We Begin
    • Drafting the Prototype
    • HtmlPlaceholder
      • Adding an HtmlPlaceholderDefinition
      • Properties of the HtmlPlaceholderDefinition
      • HtmlPlaceholderControls
      • Adding an HtmlPlaceholderControl
      • Linking the Placeholder Control to the Placeholder Definition
      • Properties of an HtmlPlaceholderControl
    • AttachmentPlaceholder
      • Adding an AttachmentPlaceholderDefinition to the Template
      • AttachmentPlaceholderDefinition Properties
      • SingleAttachmentPlaceholderControl
      • Adding a SingleAttachmentPlaceholderControl
    • ImagePlaceholders
      • Adding an ImagePlaceholderDefinition to the Template
      • ImagePlaceholderDefinition Properties
      • SingleImagePlaceholderControl
      • Adding a SingleImagePlaceholderControl
      • SingleImagePlaceholderControl Properties
    • The Completed Page
    • Linking a Stylesheet to the Template File
    • Summary
  • Chapter 8: Debugging Template Files
    • Before We Begin
    • Enable Debugging on the TropicalGreen Project
    • Debugging the Template File: The Wrong Way
      • Attempting to Test the Plant.aspx Template File: The Wrong Way
    • Debugging the Template File: The Correct Way
      • Debugging with a Debug Start Page
    • Debugging by Starting from a URL
      • Debugging by Attaching the Debugger to the ASP.NET Worker Process
    • Solving the Problem
    • Removing Breakpoints
    • Summary
  • Chapter 9: Default Postings and Channel Rendering Scripts
    • Default Postings
      • Using Site Manager to Assign the Default Posting Name
      • When There Are No Postings in the Channel with the Default Posting's Name
      • When More Than One Posting Has the Default Posting's Name
      • Coding the Summary Page
    • Channel Rendering Scripts
      • Creating a Channel Rendering Script
      • Testing the Channel Rendering Script
      • When a Channel Rendering Script Meets a Default Posting
      • Channel Rendering Scripts are used to 'Frame' a Page
    • Navigation URL
    • Wrapping up the Summary Page
    • Tips and Tricks
    • Summary
  • Chapter 10: Understanding the MCMS Publishing Workflow
    • The Eight User Roles in MCMS
    • Rights Groups Organize Users
    • Rights Groups are Assigned to Containers
    • The Complete Publishing Workflow when a Posting is Created
    • Before We Begin
      • Creating Local Accounts for TropicalGreen Users
      • Setting up the Environment for Testing
    • Creating Rights Groups
    • Assigning Users to Rights Groups
    • Assigning Rights Groups to Containers
      • Method 1: The Properties Dialog of the Selected Container
      • Method 2: The Groups Rights Tab
    • An Authors-Only Workflow
      • Log in as Author1
      • Edit the Hibiscus Posting as Author1
      • Authors Can Only Edit Postings They Own
      • Submitting a Posting
    • An Author-Editor Workflow
      • Assign Editors to the PlantCatalog Channel
      • Author Submits a Posting to the Editor
      • What Editors See in the Web Author Console
      • Editor Declines Posting
      • Editor Approves Posting
      • Editor Edits Posting
      • Editor Submits Posting
      • Editors Do Not Get Triggered When Authors Change the Properties of a Posting
    • An Author-Editor-Moderator Workflow
      • Moderators Approve Changes to Posting Properties, not Content
      • Assign Moderators to the PlantCatalog Channel
      • Author Submits a Posting
      • Editor Approves a Posting
      • What Moderators See in the Web Author Console
      • Moderator Declines Posting
      • Moderator Approves Posting
      • Moderator Submits Posting
    • Deleting Postings
    • One Last Thing
    • Summary
  • Chapter 11: Authoring with Microsoft Content Management Server
    • How Users Edit Postings
    • The Default Web Author Console
      • Investigating the Web Author Console
    • Editing the Hibiscus Posting
      • Start Editing
      • Adding HTML Content
      • Adding Pictures
      • Adding Attachments
    • Publishing the Changed Posting
    • Creating a New Plant Posting
    • Managing Workflow
      • Using the Production Manager
      • Using the Approval Assistant
    • Revisions
      • Using the Revision History
      • Viewing Revisions by Date
      • Clearing the Revision History
    • Managing Resources
      • Adding Resources to the Resource Gallery
      • Using Shared Resources in Postings
      • Replacing Resources
      • Deleting Resources
    • Summary
  • Chapter 12: The Publishing Application Programming Interface
    • Setting Up the Work Area
    • The Namespaces
    • Accessing Objects
      • Getting a Reference to the Current CmsHttpContext
      • Getting the Root Channel
      • Getting the Values of Object Properties
      • Moving Down the Hierarchy
      • Moving Up the Hierarchy
      • Using GetByRelativePath() to Access other Objects
      • Getting the Current Channel or Posting
    • Using the Searches Class to Reference Any Object
      • Searches.GetByPath()
      • Searches.GetByGuid()
      • Searches.GetByUrl()
    • Accessing Placeholder Content
      • The AttachmentPlaceholder
      • The HtmlPlaceholder
      • The ImagePlaceholder
      • Detecting when Placeholders are Empty
    • Summary
  • Chapter 13: Building Navigation Controls
    • Common Navigation Controls
      • Web User Controls Promote Design Consistency
      • A Simple Menu�Creating the Top Menu Web User Control
      • Changing the Display Name of the TropicalGreen Channel
      • Using Channel Custom Properties to Differentiate Between Top and Right Menu Items
      • Filtering the Top Menu
    • Menus with JavaScript�Creating the Right Menu Web User Control
      • The First-Level Menu Items
      • The Second-Level Menu Items
      • Working with External URLs
    • A BreadCrumb Control
    • Generating the Entire Site Map�A TreeView Control
      • Adding the First Node
      • Building the Rest of the Tree Recursively
      • Creating the SiteMap Page
    • Summary
  • Chapter 14: Customizing Placeholder Controls
    • Before We Begin
      • Creating the TropicalGreenControlLib Project
      • Adding References to the TropicalGreenControlLib Project
    • Deriving from the BasePlaceholderControl Class
      • About the BasePlaceholderControl Class
      • Building a Single-Line TextBox Placeholder Control
      • Populating a Custom Control with Default Content
    • Deriving from the MCMS Placeholder Controls
      • Building the AlignedImagePlaceholderControl
      • Adding the AlignedImagePlaceholderControl to the Plant Template File
      • Wrapping up the AlignedImagePlaceholderControl
    • Using PresentationTemplates
      • Building a Presentation Template for Flash Content
    • Creating Custom Placeholder Controls for the XmlPlaceholder
      • Properties of the Xml Placeholder Definition
      • Building a CheckBoxListPlaceholderControl
    • Summary
  • Chapter 15: Building Custom Placeholder Definitions and Placeholders
    • Why Build Custom Placeholder Definitions?
    • Before We Begin
      • Adding the Required References to the Project
      • Setting the Version of the Project
    • The HtmlStrippingPlaceholderDefinition / HtmlStrippingPlaceholder Pair
      • The HtmlStrippingPlaceholderDefinition
      • The HtmlStrippingPlaceholder
    • Making the Placeholder Definition Available to Template Designers
      • Registering the Placeholder Definition Assembly in the GAC
      • Adding the HtmlStrippingPlaceholderDefinition to the Publishing.config File
    • Adding the HtmlStrippingPlaceholderDefinition to the Template
    • The HtmlStrippingPlaceholderControl Class
    • Trying it Out
    • Summary
  • Chapter 16: Extending the Workflow
    • Before We Begin
      • MCMS Publishing Events
    • Registering Event Handlers
    • Monitoring Workflow Events
      • Sequence of Events Raised when Creating a New Page
      • Sequence of Events Raised when a Page is Saved
      • Sequence of Events Raised when a Page is Submitted, Approved, or Declined
      • Sequence of Events Raised when a Page is Copied
      • Sequence of Events Raised when a Page is Deleted
      • Sequence of Events Raised when a Page is Moved
      • Sequence of Events Raised when Updating Page Property/Custom Property Values
      • Sequence of Events Raised when Updating Channel Properties
    • E-mail Notification
      • The Notification Class
      • The Approved Event Handler
      • The Declined Event Handler
    • Canceling an Operation
      • Preventing Authors from Saving Pages with Identical Names
      • Avoiding Recursive Loops
      • Preventing Deletes
    • Generic Event Handlers
    • Summary
  • Chapter 17: Publishing with Authoring Connector
    • Before We Begin
    • Installing Authoring Connector
    • Columns
    • Building the Column Template
      • Creating the Template Object
      • Creating the Template File
    • The OfficeHtmlPlaceholder and OfficeAttachmentPlaceholder Definitions
    • Publishing from Microsoft Word
    • Updating the Page
    • Replacing Any Page
    • Submitting Selected Text
    • Maintaining a Consistent Look and Feel
      • Reducing the Spacing between Line Breaks
    • Changing the Server Name
      • Changing the Server Name for Hundreds of Documents
    • Creating Publishing Tasks
      • Modifying the Location of PublishingTasks.xml and PublishingTasks.xsd
    • Summary
  • Chapter 18: Implementing Forms Authentication
    • About Forms Authentication
      • How It Works
    • Configuring IIS to Allow Anonymous Access
    • Configure Settings in the Web.config File
    • Creating the Login Page
    • Logging on to the Site
    • The CmsFormsAuthentication Class
      • What's in the Cookie
    • When Users Do Not Have Rights to View the Requested Page
    • When the Cookie is Deleted or No Longer Valid
    • Welcoming Guests to the Site
      • Determining or Creating the MCMS Guest Account
      • Turning on Guest Access in the SCA
      • Assign the Guest Account Subscriber Rights
    • Visiting the Site as a Guest
    • Creating a Login/Logout Button for Authors
    • Creating a Login Channel for Authors
    • Summary
  • Chapter 19: Customizing the Web Author Console
    • Before We Begin
    • The Different Faces of the Web Author Console
    • The Console in the Seven Modes of the Web Author Context
      • Using the PAPI to Determine the Current Web Author Context Mode
    • Building Blocks of the Web Author Console
    • Changing the Look and Feel of the Default Console
      • Changing Colors
      • Changing Fonts
      • Changing Text on Action Controls
      • Changing Action Controls from Hyperlinks to Buttons
      • Removing Controls from the List
    • Adding Custom Action Controls to the Console
      • Inheriting from a BaseAction Class
      • Inheriting from a BasePostbackAction Class
      • Releasing the Ownership of a Posting
      • Inheriting from the BaseNewWindowAction Class
    • Modifying Existing Actions
      • Declining with Reason
      • Identifying the Person Who First Edited a Posting
    • Summary
  • Chapter 20: Creating Connected Templates and Pages
    • About Connected Templates and Postings
      • Connected Templates
      • Connected Postings
    • Before We Begin
    • Creating Connected Templates
      • The First Template
      • The Connected Template
    • Creating Connected Postings
      • Creating the Original Posting
      • Creating the Connected Posting
    • Going to a Connected Page
    • Connected Postings Share Workflow Processes
      • Submission or Approval of a Posting Submits or Approves all Connected Postings
      • Connected Postings Follow the Workflow of the Posting that has been Submitted/Approved
    • Alternatives to Connected Postings
      • Creating Printer-Friendly Pages with Template Switching
    • Summary
  • Chapter 22: Enhancing Performance with Caching
    • How MCMS Works with Caching
    • What MCMS Caches by Default
      • The Disk Cache
      • The Node Cache and High-Level Caches
      • Tuning the Node Cache
    • Improving Performance with ASP.NET Output Caching
      • Enabling ASP.NET Output Caching
      • Caching the Plant Fact Sheet
      • Caching the Site Map
      • Personalization and Invalidation
    • Proving that Caching Enhances Site Performance
    • Summary
  • Chapter 23: Site Deployment
    • Using the Site Deployment Manager
    • Opening the Site Deployment Export Dialog
      • Choosing Objects for Export
      • Excluding Objects from the Export Package
      • Exporting Containers Only
      • Viewing Template Dependencies
      • Removing Objects from the Included and Excluded Export Objects List
      • Exporting Rights Groups and Users
      • Specifying the Location of the Export Package
      • Saving an Export Profile
      • Previewing the Contents of an Export Package
      • Creating the Export Package
    • Importing Packages
      • Creating a Fresh Database for Testing Import Jobs
      • Opening the Site Deployment Import Dialog
      • Container Rules
      • Importing an Existing Site Deployment Object File
      • Running Import Processes on a Live Production Site
      • Before We Continue
    • Automating Deployment Using the Site Deployment API
      • Differences between the Site Deployment API and the Site Deployment Manager
      • Writing a Server-Side Export Script
      • Writing a Server-Side Import Script
      • Writing a Script to Back up and Restore Rights Groups and Users
      • Server-Side Deployment Scripts vs. Client-Side Deployment Scripts
      • Planning for Contingencies
    • Summary
  • Appendix A: Upgrading from MCMS 2001 to MCMS 2002
    • Backing Up the MCMS 2001 Site
    • Upgrading the MCMS Software
    • Upgrading the Database
    • Noticing the Differences
      • Site Manager Replaces the Site Builder
      • Visual Studio .NET for Templates
      • Web Author Console
    • ASP or ASP.NET?
      • Staying with ASP
      • Go for Broke: ASP.NET
    • Summary
  • Appendix B: References
    • Microsoft Resources
    • Knowledge Base Articles Referenced in the Book
    • MSDN and TechNet Articles Referenced in the Book
    • Author Blogs
    • Community Resources
    • Other References from the Chapters
    • About Tropical Plants

Matt Butcher

Matt is a web developer and author. He has previously written five other books for Packt, including two others on Drupal. He is a senior developer for the New York Times Company, where he works on ConsumerSearch.com, one of the most traffic-heavy Drupal sites in the world. He is the maintainer of multiple Drupal modules and also heads QueryPath – a jQuery-like PHP library. He blogs occasionally athttp://technosophos.com.

 

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


Errata

- 1 submitted: last submission 27 Feb 2013

page 219 Restricting Access through a Template 15 Apr 05
Code correction, line <br><br /><pre>if( currentUser == null &&<br><br /> "".equals( currentUser ) &&<br><br /> "guest".equals( currentUser.toLowerCase() ))</pre> <br><br />should be:<br><br /><pre>if( currentUser == null ||<br><br /> "".equals( currentUser ) || <br><br /> "guest".equals( currentUser.toLowerCase() ))</pre>

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Building Websites with OpenCms +    ASP.NET MVC 2 Cookbook =
50% Off
the second eBook
Price for both: $39.00

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

With this book you will master OpenCms, and learn the skills to implement, customize, and maintain an OpenCms website. This book covers:

  • Installing OpenCms, and its basic concepts
  • Using the OpenCms Workplace
  • Exploring the core architecture and the virtual file system
  • Working with JSP templates
  • Creating OpenCms modules
  • Adding custom resource types
  • Exporting to static HTML
  • Deploying and managing an OpenCms website

At the end of this book, you will:

  • Understand how OpenCms handles and publishes content to the Web
  • Be confident working in the OpenCms environment
  • Have the skills to extend the OpenCms system
  • Be able to create your own, complex, OpenCms website

In Detail

This book takes you through the process of creating content-rich websites and applications using OpenCms. Although powerful and flexible, OpenCms can be daunting on first approach, but its advanced features reward the investment in learning. This book exists to ease Java developers into getting the most from OpenCms.

OpenCms
OpenCms is a professional-level, open source Website Content Management System, with which you can create and manage complex websites. Based on Java and XML technology, it fits into almost any modern IT environment. With hard-won experience of the practical difficulties faced by developers working with OpenCms, this book is the embodiment of the author's expertise, and the perfect way to master the system.

This book takes you through the process of creating content-rich websites and applications using OpenCms. Although powerful and flexible, OpenCms can be daunting on first approach, but its advanced features reward the investment in learning. This book exists to ease Java developers into getting the most from OpenCms. With hard-won experience of the practical difficulties faced by developers working with OpenCms, this book is the embodiment of the author's expertise, and the perfect way to master the system.

 

This book was written for version 5.0 of OpenCms.

Visit the Free Online Edition for Building Websites with OpenCms and learn more about the book, you can read through two full chapters, "The OpenCms Workplace", and "Creating an OpenCms Module"and discover what each chapter from this best selling book has in store.

http://OpenCmsBook.PacktPub.com

Approach

Who this book is for

If you are a web developer new to OpenCms, or are an experienced OpenCms developer who is looking to get the most from the system, then this is the book for you. A working knowledge of Java, JSP, and XML is required to get the most from OpenCms, and from this book.


Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software