

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 - Najlepsze oferty
Professional Plone 4 Development. Build robust, content-centric web applications with Plone 4 - Opis
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 ManagerPlone 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 (...) więcej 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. Spis treści: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 mniej
Professional Plone 4 Development. Build robust, content-centric web applications with Plone 4 - Opinie i recenzje
Na liście znajdują się opinie, które zostały zweryfikowane (potwierdzone zakupem) i oznaczone są one zielonym znakiem Zaufanych Opinii. Opinie niezweryfikowane nie posiadają wskazanego oznaczenia.