Szczegóły ebooka

Professional Plone 4 Development. Build robust, content-centric web applications with Plone 4

Professional Plone 4 Development. Build robust, content-centric web applications with Plone 4

Martin Aspeli, The Plone Foundation Alex Limi Toby Roberts (Project)

Ebook
A years of experience in Plone development and project management are combined with an approachable writing style to create an engaging and highly-informative guide to working with Plone. Professional Plone 4 Development stands as an excellent resource for developers of all levels.

- Eric Steele, Plone Release Manager

Plone is a web content management system that features among the top 2% of open source projects and is used by more than 300 solution providers in 57 countries. Its powerful workflow system, outstanding security track record, friendly user interface, elegant development model and vibrant community makes Plone a popular choice for building content-centric applications. By customising and extending the base platform, integrators can build unique solutions tailored to specific projects quickly and easily.If you want to create your own web applications and advanced websites using Plone 4, Professional Plone 4 Development is the book you need.The https://www.packtpub.com/Professional-Plone-web-applications-CMS/book first edition of this book remains one of the most widely read and recommended Plone books. This second edition is completely revised and up-to-date for Plone 4.1, covering new topics such as Dexterity, Diazo, jQuery and z3c.form, as well as improved ways of working with existing technologies such as Buildout, SQLAlchemy and the Pluggable Authentication Service. It retains the writing style and comprehensive approach that made the first edition so popular.

Built around a realistic case study, Professional Plone 4 Development will take you from an understanding of Plone’s central concepts, through basic customization, theming, and custom development, to deployment and optimization.

The book is divided into four sections:
First, you will be introduced to Plone and the case study, and learn how to set up a development environment.
The second section covers basic customization, including theming a Plone site using Diazo.
The third section focuses on custom development – building new content types and user interfaces, customizing security and integrating with external databases.
The final chapters cover deployment and performance optimization.
  • Professional Plone 4 Development
    • Table of Contents
    • Professional Plone 4 Development
    • Credits
    • Foreword
    • About the Author
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers, and more
      • Why Subscribe?
      • Free Access for Packt account holders
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Downloading the example code
        • Errata
        • Piracy
        • Questions
    • I. Getting Ready
      • 1. Plone in Context
        • A brief history of Plone
          • What is new in Plone 4?
        • Plone-the-application and Plone-the-framework
        • Additional considerations when deciding on Plone
          • Licensing
        • The Plone Community, and why you belong there
        • Summary
      • 2. Introduction to the Case Study
        • Background and high-level requirements
        • Modeling and mockups
        • Information architecture
        • Running the project
        • Summary
      • 3. The Development Environment
        • Installers
        • Glossary of terms
        • Prerequisites
          • Creating an isolated Python environment
        • A minimal buildout
        • Buildout basics
          • The buildout directory
          • Buildout defaults
          • Packages and distributions
        • The development buildout
          • Development tools
            • Buildout extensions
            • mr.developer
            • buildout.dumppickedversions
          • Development Zope instance
            • plone.reload
            • Products.PdbDebugMode
            • Products.PrintingMailHost
            • Products.DocFinderTab
          • Test runner
            • Coverage reporting
            • Continuous integration
          • Omelette
          • The zopepy interpreter
          • ZopeSkel
          • z3c.checkversions
          • jarn.mkrelease
          • Tools in the browser
        • Learning to help yourself
          • Find the documentation
          • Use the Source, Luke!
          • Become familiar with the debugger
          • Look at the logs
        • Summary
    • II. Customizing Plone
      • 4. Basics of Customization
        • Persistent settings and the ZODB
          • Where are persistent settings stored?
        • Using GenericSetup for configuration
          • GenericSetup and Plones Add-ons Control Panel
        • Acquisition and skin layers
        • Overriding Component Architecture components
        • Customization best practices
          • Using source control
          • Writing tests
          • Considering migration requirements
        • Summary
      • 5. Developing a Site Strategy
        • Creating a policy package
          • Distribution details
          • Changes to setup.py
          • Changes to configure.zcml
        • Updating the buildout
          • Working sets and component configuration
        • Creating an extension profile
          • Writing tests for customizations
          • Making a change with the extension profile
        • Activating the package
        • Rebuildout, restart, reapply?
        • Summary
      • 6. Security and Workflow
        • Security primitives
          • Users and groups
          • Permissions
          • Roles
          • Manipulating permissions and roles programmatically
        • Keeping control with workflow
          • Interacting with workflow in code
        • Installing a custom workflow
          • Designing a workflow for Optilux Cinemas
          • Building the workflow
            • Exporting
          • Amending the policy package
            • Role and permission settings
            • Workflow definition
            • Mapping workflows to types
            • Adding the Staff group
            • Writing the tests
        • Protected and trusted code
          • Restricted Python
        • Summary
      • 7. Using Add-ons
        • Finding and evaluating add-ons
        • Playing it safe
        • Installing an add-on
          • Amending the buildout and policy package
          • Adding tests
        • Summary
      • 8. Creating a Custom Theme
        • Background
          • Diazo primer
        • Creating a Diazo theme
          • Creating a theme distribution
          • Adding the theme distribution to the buildout
            • Installing lxml in Mac OS X
          • Adding the theme and rules
            • Managing CSS and JavaScript resources
            • Adding the rest of the rules
            • Enabling the theme automatically
          • Adding tests
        • Variations on the theming approach
          • Separate public and editing interfaces
          • Reading the theme from a separate server
          • Sharing a theme across multiple systems
        • Overriding visual elements
          • Registering a browser layer
          • The layout policy view
          • Overriding templates
        • Summary
    • III. Developing New Functionality
      • 9. Nine Core Concepts of Zope Programming
        • About the examples
        • Object publishing and traversal
          • Containment and URLs
          • Acquisition chains
          • Path traversal
        • Persistence in the ZODB
          • Transactions
          • Object persistence
          • ZODB BLOBs
        • Searching for objects using the catalog
        • Describing functionality with interfaces
          • Using interfaces in catalog searches
        • Component configuration with ZCML or Grokkers
          • Python directives and grokkers
        • Component registries using utilities
          • Global utilities
          • Named utilities
          • Local utilities
          • Tools
        • Modelling component aspects with adapters
          • Multi-adapters
          • Named adapters
          • Adapter factories
        • Views and other presentation components
          • Content providers and viewlets
        • Synchronous events
          • Object events
        • Summary
      • 10. Custom Content Types
        • Content-centric design
        • Choosing a content type framework
        • Creating a distribution
          • Contents of the distribution
        • Using the Dexterity framework
          • What is in a content type?
          • Basic configuration
          • Schemata and fields
            • Form hints in the schema
            • Validation
            • Vocabularies
            • Rich text fields
            • Files, images, and BLOBs
            • Content reference fields
          • Unique content identifiers
          • Indexers
          • Content security
            • Add permissions
            • Schema permissions
          • Views and browser resources
            • Icons and stylesheets
            • Main content views
          • Installing and registering types
            • Add permissions
            • Adding catalog indexes and metadata columns
            • Adding the stylesheet
          • Integration tests
        • Installation and configuration in the policy package
          • Adjusting the security policy
          • Adjusting navigation tree properties
          • Enabling content object versioning
          • Site policy tests
        • Using the schema extender
          • Adding the schema extender and registry
          • Defining the registry settings
          • Creating the schema extender, vocabulary, and indexer
          • Adding tests
        • Using portlets
          • Creating a new portlet
          • Configuring and registering new portlet types
          • Assigning portlets automatically
        • Summary
      • 11. Standalone Views and Forms
        • Pages without a specific context
          • Templates in skin layers
          • Views available on all objects
          • Views on the navigation root
          • Invoking standalone pages
        • Writing custom forms
          • Processing form actions
            • Checking form submit buttons
            • Performing redirects
          • Form input converters
        • Generating forms automatically
        • Creating a control panel view
        • The form controller tool
        • Writing new viewlets
        • Global template variables and helper views
        • Functional testing of views
        • Summary
      • 12. Relational Databases
        • Relational databases versus the ZODB
        • Modeling screenings and reservations
          • Screening query and reservation services
        • Setting up the database
        • Database connectivity in Zope
          • SQLAlchemy basics
        • Managing database connections
        • Working with the database
          • Mapping the database tables
          • Querying the database
          • Updating and inserting records
          • Testing the database
        • Adding the user interface
          • Updating the Film and Cinema views
          • Custom traversal
            • Implementing the screening view
            • Implementing the reservations form
            • Tests
        • Summary
      • 13. Users and their Permissions
        • Defining a membership policy
          • Updating the site policy product
          • Managing user metadata
        • Collaborative workspaces
        • The Pluggable Authentication Service
          • Anatomy of a PAS plugin
          • A Facebook authentication plugin
            • Package configuration
            • Facebook OAuth authentication
            • Testing the plugin
            • Installation
        • Summary
      • 14. Dynamic User Interfaces with jQuery
        • KSS and jQuery in Plone 4
        • Managing JavaScript resources
        • Overlays
        • Background requests and DOM manipulation
        • Summary
      • 15. Summary and Potential Enhancements
        • What we have achieved
        • Additional functionality
          • Additional reporting and analytics
          • More advanced ticketing
          • Internationalization
            • Translating content
            • Translating user interface strings
        • Summary
    • IV. Real-world Deployments
      • 16. Zope on the Server
        • Deployment checklist
        • Scaling Zope
          • Zope Enterprise Objects (ZEO)
          • RelStorage
        • A deployment buildout using RelStorage
        • Moving code, configuration, and data to a server
          • Releasing distributions
          • Source distributions from tags
          • Tagging the build
          • Deploying the build
          • Managing data
        • Managing Zope processes
          • Supervisor
          • Unix init scripts
          • Windows services
        • Backups and maintenance
          • Backups
          • ZODB packing
          • Log monitoring and rotation
        • Summary
      • 17. Setting up a Production Server
        • Server components
          • Virtual hosting
          • Web server
          • Caching reverse proxy
          • Load balancer
          • Other services
          • Common configurations
            • Deploying on UNIX with minimal configuration
            • Deploying on UNIX with SSL
            • Deploying on UNIX with maximum flexibility
            • Deploying on Windows
        • Hardware and operating system concerns
          • Hardware
          • Buildout or system packages
          • Operating system configuration
        • Caching and optimization
          • Application-level problems
          • Optimizing resources
            • Resource Registries resource merging
            • A crash course in caching
            • Caching configuration and rulesets
        • Testing and benchmarking
        • Summary
      • 18. Authenticating with LDAP or Active Directory
        • LDAP and Active Directory
          • Setting up a test environment
        • Connecting Plone to an LDAP repository
          • Configuring PAS plugins manually
        • Summary
      • 19. Looking to the Future
        • Making future releases
          • Managing migrations and upgrades
          • Migration profiles
        • What we have achieved
        • Where to go next
        • Summary
    • Index
  • Tytuł: Professional Plone 4 Development. Build robust, content-centric web applications with Plone 4
  • Autor: Martin Aspeli, The Plone Foundation Alex Limi Toby Roberts (Project)
  • Tytuł oryginału: Professional Plone 4 Development. Build robust, content-centric web applications with Plone 4.
  • ISBN: 9781849514439, 9781849514439
  • Data wydania: 2011-08-26
  • Format: Ebook
  • Identyfikator pozycji: e_3cbp
  • Wydawca: Packt Publishing