You are previewing eZ Publish 4: Enterprise Web Sites Step-by-Step.
O'Reilly logo
eZ Publish 4: Enterprise Web Sites Step-by-Step

Book Description

Master eZ Publish's flexible web development for the enterprise

  • Build an enterprise-level eZ Publish web site

  • Improve user experience via better information architecture and improved visual design

  • Learn the secrets of the eZ Publish templating system to design your own pages

  • Leverage the extensibility of the eZ Publish CMS

  • Covers the full range of services, knowledge sharing, and support to create your own commercial solutions

In Detail

eZ Publish provides developers with a structure to build highly impressive applications and then quickly deploy them into a live environment. eZ Publish is complex, with a steep learning curve, but with the right direction it offers great flexibility and power. What makes eZ Publish special is not the long list of features, but what's going on behind the scenes.

Created specifically for newcomers to eZ Publish, and using an example Magazine web site, this book focuses on designing, building and deploying eZ Publish to create an enterprise site quickly and easily.

This tutorial takes eZ Publish's steep learning curve head-on, and walks you through the process of designing and building content-rich web sites. It makes the unrivalled power and flexibility of eZ Publish accessible to all developers.

The book is organized around technical topics, which are handled in depth, with a general progression that follows the learning experience of the reader, and features a single magazine web site project from installation to completion and deployment. This hands-on guide helps the reader to understand the Content Management System to create a web 2.0-ready web site by creating new extensions or overriding the existing ones. In turn, it helps you to become confident when working in the eZ Publish administration area and offers an environment in which you can practice while working through the chapters.

Table of Contents

  1. eZ Publish 4: Enterprise Web Sites Step-by-Step
    1. eZ Publish 4: Enterprise Web Sites Step-by-Step
    2. Credits
    3. About the Authors
    4. About the Reviewer
    5. Preface
      1. eZ Publish
      2. Introducing the project
      3. The project in detail
      4. What this book covers
      5. What you need for this book
      6. Who this book is for
      7. Conventions
      8. Reader feedback
      9. Customer support
        1. Downloading the example code for the book
        2. Errata
        3. Piracy
        4. Questions
    6. 1. Installing eZ Publish
      1. What is eZ Publish?
        1. What is a CMF?
      2. eZ Publish packages
        1. eZ Webin—the out of the box CMS
        2. eZ Flow—web publishing for news and media portals
      3. Installation
        1. Hosting requirements
          1. Software required
          2. Hardware required
          3. PHP configuration
            1. PHP memory limit issue
            2. PHP timezone
          4. Shared versus dedicated hosting
        2. eZ components
        3. Setting up
          1. Unpacking the installation
          2. Initializing the database
          3. Apache virtual host settings
          4. Image settings
          5. Cron jobs
          6. Configuration files
      4. The setup wizard
        1. Welcome to eZ Publish
          1. System check
          2. Email settings
          3. Choose a database
          4. Database initialization
          5. Language support
          6. Site packages
          7. Site access configuration
          8. Site details
          9. Site security
          10. Site registration
          11. Finished
      5. Summary
    7. 2. Creating Our Siteaccesses
      1. What is the siteaccess system?
          1. Siteaccess folder structure
            1. Creating a siteaccess for dev, staging, and production environments
          2. Enterprise siteaccess schema
          3. Creating siteaccesses for dev and staging
          4. Creating symbolic links
          5. Configuring the database parameters
      2. Creating multilingual siteaccesses
        1. Copying the configuration file
          1. Editing ini files for locale components
      3. Selecting a siteaccess using host or URI-based matching
        1. URI
          1. Setting the default siteaccess
        2. Host
      4. Summary
    8. 3. Defining and Creating Content Classes
      1. Managing the content
        1. Separation of content and design
        2. Content structure in eZ Publish
        3. Object-oriented content
      2. eZ Publish content classes
        1. Class attributes
        2. Content class management
          1. Content class structure
            1. Name
            2. Identifier
            3. Object name pattern
            4. URL alias name pattern
            5. Container checkbox
            6. Default sorting of children
            7. Attributes
      3. Packt Media Site's content class
        1. Creating the profile content class
          1. Extending the Article class
          2. The other content classes
      4. Summary
    9. 4. Creating Content Structure
      1. Understanding the backend
        1. Content structure
          1. The secondary menu
          2. The content area
            1. Preview
            2. Details
            3. Translations
            4. Locations
            5. Relations
            6. Sub items
            7. Object contextual menu
      2. The content tree
        1. The "Issue archive" section
          1. Editing an object
            1. Short Description and Description
              1. Embedding HTML inside the WYSIWYG XML Editor
            2. Tags
            3. Show children
          2. Adding more folders
        2. The staff section
        3. Creating an article
          1. Publish and Unpublish date
          2. Enabling comments
        4. The feedback form
        5. Other sections
      3. Summary
    10. 5. Creating an Extension
      1. What is an extension?
        1. Extension type
        2. The directory structure of an extension
      2. Build the extension
        1. Settings extension
        2. Design an extension
        3. Template operator extension
        4. Translations extension
      3. Activating an extension
        1. Manual activation
        2. Backend activation
        3. Design activation
      4. Extension portability
        1. Content class package
      5. Extension packages
      6. Business with extensions
      7. Summary
    11. 6. Creating a Design
      1. eZ Publish templating
        1. Templating
        2. The templating markup
          1. Control structure operators
            1. Conditional control
            2. Loop control
          2. Fetch functions
          3. Generic template functions and operators
            1. Layout variables
            2. Overriding a template
            3. Embedding HTML inside the WYSIWYG XML editor, pt.2
      2. Creating a new design
        1. The homepage
        2. Issue page
        3. The issue archive
        4. The staff profile page
      3. eZ Webin
        1. Overriding the standard page layout
          1. Section for our project
          2. Creating a new section
          3. Setting up the section permission access
        2. Customizing the page layout
          1. CSS editing
          2. Creating a new style package
      4. Summary
    12. 7. Template Content Class
      1. Introduction to the content template
      2. The override system
        1. Creating a template override
        2. Creating a template override from a graphic interface
        3. Creating a template override manually
          1. Profile class
          2. Folder class for the issue year archive
          3. Folder class for issue
          4. Folder class for the issue archive section
          5. Article class
          6. Frontpage embed object
        4. Creating our custom template file
      3. Customizing our class templates
        1. Staff profile template
          1. Line template
          2. Full template
          3. Embed template
        2. Issue template
          1. Line template
          2. Full template
          3. Thumb template
          4. Embed template
        3. Issue archive template
          1. Full template
          2. Embed template
        4. Issue year template
          1. Full template
        5. Issue article template
          1. Line template
          2. Full template
          3. Embed template
      4. Summary
    13. 8. Adding Community Forums
      1. The magazine's forum
        1. Adding the Forum
          1. Creating a sticky post
          2. Forum access control list
          3. Creating the Private forums section
      2. Creating the magazine's blog
        1. Adding the blog
      3. Set up the feeds
        1. Creating the blog feed
        2. Creating the forum feed
      4. Summary
    14. 9. Internationalization and Localization
      1. A multilingual site
        1. Internationalization
        2. Localization
        3. Locale identifiers
          1. Creating a new locale file
            1. Anatomy of the translations.ts file
      2. Multi-language site management
        1. Class attribute translations
          1. Class default language
        2. Content translation
        3. URL translation
      3. Multilingual extensions
        1. The extension folder structure
        2. The extension siteaccess
        3. The template strings
      4. Summary
    15. 10. Creating Roles and Privileges
      1. Policies, roles, and groups
        1. Policies
        2. Roles
          1. Applying a role
        3. User groups
      2. eZ Publish user management
        1. User accounts
        2. Creating a new user
          1. Extending eZ Publish user classes
        3. Managing a user
          1. Disabling a user
          2. Deleting a user
        4. The eZ Webin predefined groups
      3. Some steps into the workflows
        1. The default workflow events
          1. Approve
          2. Wait until date
          3. Multiplexer
          4. Simple Shipping
          5. Payment Gateway
        2. Creating a notification workflow
      4. Summary
    16. 11. Cache Configuration
      1. Caching system
        1. Template cache
          1. eZ Webin cache block
        2. Compiling a template
          1. Template optimization
        3. View cache
          1. Enabling/Disabling the cache by context
          2. Clearing the view cache
          3. Smart cache
      2. Default caching settings
      3. Advanced eZ Publish caching system
        1. Advanced settings
          1. Override cache
          2. Pre-generation cache
          3. Translation cache
          4. Role cache
          5. Static cache
          6. Opcode cache
          7. Proxy and HTTP Accelerator
      4. Customize cache settings to speed up the performance
      5. What not to do in a template
      6. Summary
    17. 12. Deployment
      1. Environments
        1. Development environment
        2. Staging environment
        3. Production environment
          1. Preparing the production server
      2. Deploying an eZ Publish site
        1. eZ Deploy
        2. Creating the automatic tests
          1. Installing the Selenium IDE
          2. Recording a session
          3. Customizing tests
        3. Configuring the staging and production siteaccesses
        4. Deploying the database
          1. Deploying the code
          2. Configuring the extension
          3. Excluding files from deploy
          4. Starting the synchronization
        5. Checking the validity
        6. Quality assurance
        7. Deploying to the production server
      3. Summary
    18. A. APC Installation and Optimization
      1. APC tuning for eZ Publish
        1. Opcode Cache
        2. How does it work?
          1. Installing APC
          2. Installing from sources
          3. PECL installation
        3. APC configuration
        4. APC GUI
        5. Performance
    19. B. Advance Debugging
      1. Code debugger
        1. Debug template operators
        2. Templating debug
    20. C. eZ Publish's Best Extensions
      1. eZ Xajax
      2. Star Rating
      3. eZ Publish OE
      4. eZ JSCore
      5. Google Sitemaps
      6. eZ Deploy
      7. Data Import