Plone is a well-known Content Management Systems (CMS). Since it's relatively easy to customize to a specific enterprises style and workflow, there is a healthy trade of services around the core software. Martin Aspeli, the book's author, is an active contributor to Plone. Heavy involvement in a project that you are writing about always bodes well for the potential value and quality of a book that you, the reader might be considering buying. Aspeli's book "Professional Plone Development", published by PACKT, proves this quality point once again.
The book's cover
Plone is a stable and well thought of application. Based on Zope (an application server) and built with the Python programming language, the terminology and underlying structures may take an inexperienced developer a while to fully understand.
Plone is not just a CMS, but also a mature framework for extensions floating on top of the services Zope provides.
Plone is not just a CMS, but also a mature framework for extensions floating on top of the services Zope provides
I am sometimes amazed by the difference in terminology between languages and also across application space. When is a package a gem or a gem an egg or an object repository etc, etc? Reading about Plone for the first time, I was relieved to find that Martin Aspeli's book fully explained each new term. He fully understands the meaning of each term and consistently takes the time to explain it.
Martin Aspeli positively radiates Plone experience. Historically, he has contributed significantly. He has also been the spokesperson for the Framework Team.
I was relieved to find Martin Aspeli's book fully explained each new term
In 300 pages, Aspeli systematically builds from scratch a viable example application based on Plone version 3. The case study (along with the "use case" with mock ups) in chapter 2 acts as the keystone to the follow up chapters. Topics such as creating the development environment, installation, customization and adding enhanced functionality, based on Plone the framework, are defined with reasonable detail and all the main themes look back to the master design.
There is a lot of information in this book; to get the most out of it you will need to install Plone locally and play with the downloadable example project.
I particularly liked the use of small precise snippets of code to reinforce specific points (for example in chapter 9, the “Nine Core Concepts Of Zope Programming”).
The author used screen grabs throughout the chapters; this really helped the section which covered the definition of GUI elements for building themes, on pages 116,117.
If you follow the content patiently, by the end of the book you will be ready for your first project and may be ready for consultancy later.
Who's this book for?
The book is for developers who wish to build content-centric web applications, specifically developers who are already familiar with Python.
Relevance to free software
The community licenses Plone 3 under GPL version 2 with a number of components licensed under various other OSI licenses; so, this application is pure free software.
The book doesn't mention any proprietary editor in its chapters: it only discusses free software.
If you are considering building, enhancing or generally tweaking Plone 3, you will be hard pressed to find a more complete and systematic book.
If you are more interested in finding out what a generic content management system is supposed to do within the enterprise, and you are looking for the KM high view, you may find this book too specific.
||Professional Plone Development