- Taschenbuch: 516 Seiten
- Verlag: Packt Publishing (26. August 2011)
- Sprache: Englisch
- ISBN-10: 1849514429
- ISBN-13: 978-1849514422
- Größe und/oder Gewicht: 19 x 3 x 23,5 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
- Amazon Bestseller-Rang: Nr. 345.240 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
Professional Plone 4 Development (Englisch) Taschenbuch – 26. August 2011
|Neu ab||Gebraucht ab|
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Über den Autor und weitere Mitwirkende
Martin Aspeli is an experienced Plone consultant and a prolific Plone contributor. He served on the Framework Team for Plone 3.0, and is responsible for many new features such as the improved portlets infrastructure, the "content rules" engine, and several R and D efforts relating to Plone 4.0. He is a former leader of the Plone Documentation Team and has written a number of well-received tutorials available on plone.org. He is also the author of Professional Plone Development and was recognized in 2008 by Packt Publishing as one of the "Most Valuable People" in Open source Content Management Systems.
Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Informally, the book is a sequel to Aspeli's text on Plone 3 - Professional Plone Development: Building robust, content-centric web applications with Plone 3, an open source Content Management System., which came out in 2007. The 4 intervening years have meant that Plone 4 has significant enhancements over Plone 3, and if you are still using the latter, consider at least perusing this book to see how you might improve the customising of your website. Likewise, Aspeli co-authored a recent  book on Plone 3, Practical Plone 3: A Beginner's Guide to Building Powerful Websites. If you founds its advice germane and useful, this could be another inducement to read about the latest Plone.
The book has several parts, roughly in order of increasing difficulty. The simplest is part 1, the first 3 chapters, which is an overview and explains the installation steps. Let me just say candidly that if you can't get through this part, then barring an error in the downloaded code, you shouldn't be reading this book at all, because not only can't you get to the rest of the book, but even if you could, it will likely be over your head.
Part 2, chapters 4 to 8, explains how to use themes in Plone. A lot of Plone administrators will only need this part. There are many ways to alter the look and feel of Plone and of many of its other runtime characteristics. Changing the skins is the quickest way to present a unique look to your website. Separate from user interface visuals, the other main idea in these chapters is understanding the different roles in Plone. Each role is a job, like member, manager and reviewer. The table on page 109 summarises these well. Plone's developers have tried to factor out as many parameters as possible, and have these alterable by you, often via a Plone-provided window for simplicity.
Part 3, chapters 9 to 15, is much harder. This is where you go to code new functionality, that is outside the default scope of part 2. The current book might be seen as an extension of Zope, where the latter is a successful web application server that is also open source. There are many references to Zope features in the narrative and in the code snippets. Chapter 9 is devoted to the key concepts of Zope. As a practical matter, it would greatly aid you to be already facile in Zope, so that chapter 9 is merely review. And perhaps consider getting an accompanying text on Zope, like this one - Web Component Development with Zope 3. It transpires that to write new code, you need to understand the enclosing framework of Zope, because you might [actually probably will] have to step outside the current Plone 4 environment, since that is what you may want to modify.
Part 4, which is the rest of the book, chapters 16 to 18, is easier than part 3. Here you tackle server deployment issues. No actual programming is likely needed. This section is mostly for the Plone administrator or the system administrator of your computers and network.
If you are doing Plone 4 development, go buy this book. Now.
I started working with Plone in 2006. Back then I was really just beggining with development in general and did not know how to do things properly. I only knew how to tweak some templates and to use ArchGenXML to generate some content types. No version control, no tests, no nothing.
Then Professional Plone 3 Development came. "Wow, I'm doing things seriously wrong" was my first reaction. That booked steered me in the direction of using Subversion to control my source code, writing tests to prove my code doesn't break in various places, using pdb - the Python debugger, deploying Plone sites myself, etc.
Plone 3 vs. Plone 4
However, Plone 3 was complicated. There were all these new technologies and concepts that you now had to use. That's not bad in itself, but those technologies only delivered part of the story. You still had to use old ways to do certain tasks. Plone's learning wall was higher than ever.
With Plone 4, these technologies are not new anymore. They are polished and widely used. You only need to learn one way to do something, not three. As a consequence of this, Plone is now easier to learn. Plone's development process is cleaner, more defined, with better tools. The new book from Martin is the same: less history overhead, more confidence in newer, better tools and concepts.
Having in mind how much Martin's previons book improved my development process I was so stoked when I heard him announcing that he started writing an updated version. After waiting for many months, it's finally out. Bigger, better, more up-to-date. Unlike how Plone 4 is leaner than Plone 3, the new book packs a hundred more pages of insights into efficient development and deployment process. It starts with introductory chapters where the author shows you how to prepare basic project specification. Then it goes over preparing your development environment for productive work. I cannot stress enough how important a well prepared environment is. Having tools pointed out in the book at your fingertips when things go wrong is just godsent. What follows is how to write actual code. Several chapters, full with examples of code that you can use in your own projects. I really like how all examples come with tests to really show developers that tests are an important part of your development process. Finally, there's deployment. These chapters show you how to properly deploy and maintain your Plone site and gives you pointers on how to scale your deployment when your projects starts getting more attention.
The information Martin gives is in accordance with latest best practices developed in the Plone community. Even if you are a seasoned Plone developer I'm sure you will find at least a few useful tricks and tools that you don't yet use and will grow to love them as soon as you do. I know I did!
The book does explain the concepts pretty decently. Unfortunately, I still find that because the products change so rapidly and there are so many little magic details on different versions and variants of sub-products, the book is not as helpful as, say, a good book on a programming language will be.
What Plone needs is a book/DVD set that includes a Linux Plone implementation on which each chapter's examples HAVE run, WILL run, and WILL CONTINUE to run no matter what changes in "on-the-web" Plone. That would be a starting point from which a subscription-style book-web-thing could continue. Maybe the author of this book could consider turning the next edition into something like that, because he's a good tech writer.
For the readers of the first version of the book based on Plone 3, you will recognize the case study used throughout the book: the Optilux Cinema application.
The technologies covered by new chapters are (not exhaustive list) :
- Dexterity content types
- theming with Diazo/plone.app.theming and viewlets templates overrides with plone.app.themingplugins (which uses z3c.jbot underneath)
- an enquiry form with the z3c.form library,
- relation database development with SQLAlchemy for the "reservations of ticket and reporting" use case.
An advanced subject like how to log in with a Facebook account by writing a plugin for the Zope PAS (Pluggable Authentication Service) that uses OAuth API and Beaker with collective.beaker for caching is also covered.
Of course, throughout the book, you will write tests with the new plone.app.testing library instead of the old Products.PloneTestCase.
New tools are mentioned like mr.developer used to checkout packages, jarn.mkrelease to make the releases, z3c.checkversions to check for new package versions.
In the chapter entitled "Nice Core Concepts of Zope Programming", Martin explains among other thing object traversal, all you have to know about acquisition (implicit, explicit, chains), catalog search and how to use catalog brains efficiently. This is a refreshing remainder, even for me.
The concepts of the Zope Component Architecture are well explained with understandable examples.
It is a must-have in your books collection. I'm sure, you will find this book useful. Always keep it near you, so you can quickly look for a given example when developing your own project.
What got my attention about PP4D was that the contrast between it and PP3D is very much like the contrast between Plone 4 and Plone 3.
Plone 4 does more than Plone 3, and Martin's book is bigger and has new chapters and sections to cover the new features. But Plone 4 is also sleeker and faster than 3. Its parts fit together better, and it's more approachable to new users and integrators.
Martin shows us that the same is true for Plone 4 development. Both the Plone 4 development environment and the PP4D book make more sense than their Plone 3 counterparts. The parts fit together better. Plone 3 development required that you know, and practice, both new (Zope 3 style) and old (Archetypes) development paradigms. You had to know how to use Python packages and Zope products, skins and browser views. And, I think the Plone development community (and Martin) were not really sure how these fit together and when it was best to use which.
PP4D is much more confident. Dexterity (content-type development framework) and Diazo (theming system) are much better ways to develop, and Martin is able to explain them clearly without having to burden the reader with some many layers of history. PP4D, like its predecessor, is still a book for experienced, versatile programmers, but it doesn't need to make as many apologies to its audience.
Professional Plone 4 Development is thus a better book than its predecessor in part because Plone 4.x is a better development platform. Martin's community leadership is -- of course -- a large part of the reason for this advance. But, the improvements are also due to the great work of the many folks on the core development and framework teams.
So, Martin should take a big bow. But Hanno Schlichting, David Glick, Laurence Rowe, Eric Steele, Denys Mishunov, Rob Gietma, Alex Limi and many others should be proudly joining that curtain call. Bravo.