Feeds:
Posts
Comments

Posts Tagged ‘bestpractices’

Plone 3 Theming

So far this year, three great books about the Plone content management system have been published. All of these books have received fantastic reviews — and have proven valuable to Plone users and developers alike.

The first book is Plone 3 Theming, by Veda Williams. A ONE/Northwest Web Developer, Veda also writes about theming documentation on plone.org. In her book, she concisely conveys her expertise on the subject of theming and leads readers through a step-by-step process to customizing a Plone site.

Subjects covered include:

  • designing quality themes with Plone 3
  • creating an effective development environment
  • fundamentals of skinning
  • using add-on tools
  • customizing viewlets and portlets

If you’re interested in reading Plone 3 Theming, you can  download the e-book or order a printed copy from Packt.

Practical Plone 3

The second book, Practical Plone 3, takes a broader approach to comprehending Plone. Authored by a collection of the greatest minds in the Plone open source community, this book gives readers a clear understanding of how to use the CMS to meet their needs. Specifically, the authors show non-technical users how to customize Plone using its point-and-click feature instead of code.

The book covers:

  • understanding the latest features of Plone 3
  • customizing a Plone template for a unique website
  • creating and managing web content (pages, files, news items, events, etc.)
  • creating users, groups and permissions
  • mastering workflow and security systems to maintain control of content
  • deploying a site, configuring caching, and connecting to an LDAP/Active Directory repository

Like Plone 3 Theming, you can also download the Practical Plone 3 e-book or order a printed copy form Packt.

Definitive Guide to Plone

The third and final book is the second edition of The Definitive Guide to Plone. Like the first edition, the latest edition is divided into three parts: using, configuring, and customizing. The book includes case studies that demonstrate Plone’s ability to handle a wide range of requirements while maintaining an easy-to-use interface.  This book is a must-have for anyone wishing to expand their knowledge of the Plone content management system.

The book covers:

  • Plone development fundamentals
  • Understanding Plone design and architecture
  • Integrating Plone with other applications
  • Optimizing and improving the performance of Plone sites
  • Creating and using workflow

Purchase The Definitive Guide to Plone, Second Edition through Arpess.com.

Read Full Post »

Plonistas have a lot of way to do things with the flexible tools available to them, and I am hoping to glean some of the knowledge, experiences and (where possible) reusable code for making subsites / microsites / sites-within-a-site happen in Plone.

The use case is basically: You want to be able to create a number of subsites within a Plone instance. Each subsite needs to act like a portal unto itself, except that it will have no independent membership component. Each will typically be maintained by only a few persons, have some design customizations (banner, css), and reuse products from the site. In some cases there is a need to have a self-contained navigation, whereas in others you want a common global navigation and a subsite-specific one in that. To summary: navigation, skin, and user experience (search, other stuff?) need to be limited to the portal.

We have done several projects over the years that delve into this, though it is getting to the point where I would like to get more “reusable” about the solution since the use case seems to be recurring. Here is a sample of things we have done, some before all the Plone 3 goodies were available:

Communitychange.org: Inside the Projects folder, individual banner image possible. Keeps main navigation and using navigation portlet for navigation within the project (Plone 3.1).
Dotrust.org: Communities within the site can be created with a folder-ish object that has a configuration to allow for prepopulated content including some folders, pages, (optional) blog. Is handled as a custom cotent type (Plone 2.5).
– Natural Awakenings Magazine (franchise sites): folders within a Plone site, each can have own banner images and navigation (Plone 2.0), example www.namelbourne.com .

Some lessons learned: separate sites is definitely better if the stakeholders for each site are distinct (and may decide to do something totally different with the site). For easy sharing of info and potentially allowing users to be granted access to new sections, the folder approach is stronger, though it does run into some limits in flexibility (navigation, product configuration, for example). Lots of little things I won’t go into now…

I have looked around quickly and gathered a little bit more about reusable components or ideas for this. There seems to be a concensus around the way of handling this for navigation in Plone 3 using the INavigationRoot interface (see below). Other components for doing I came across include:

  • Switching skins by URL (for folders, pages, etc), check out themeswitcher from WebLion, explained here.
  • A skin tool in the collective called collective.sectionsubskin .
  • PloneSubSkins, another skin tool in the collective, proclaims to allow you “to switch to specific CSS files handling such or such aspects of your Plone skin.” Product is relatively
  • Adding the INavigationRoot interface to a folder lets you declar that as a navigation root: This will make the navigation Portlet, Bread Crumbs, and logo link act as if this folder is the root of the site whenever someone views either this folder or an object contained within it. Thanks to the folks a WebLion for sharing that and other tweaks. In related news, Calvin has been working on PLIP 234 to clean up INavigationRoot (scheduled to land with Plone 3.3, Spring ’09)
  • Collective MetaNav may be useful for greater navigation flexibility.
  • MassDeploy: a mashup of code from SubPlone (see below) and other things. Read more here. Not really a product, kind of like a concept and some hacks to make an old product work.
  • collective.microsite: Plone 3 code developed by Martin. Unable to find a release of it yet (or repository). Mentioned here.
  • SubPlone: A product by Sidnei that reportedly works on Plone 2.0 and 2.1 (and maybe 2.5), but not in Plone 3.
  • PloneMiniPortals: A Plone 2.1 product from SteveM that hasn’t had any releases in the last ~1.5 yrs. Seems to address many of the necessary aspects all together.

Other pieces of the context I found include:

My questions are:

  • do you have any other examples of ways to do this?
  • Any lessons learned from that way?
  • Know of any other products to acomplish the use case goals?
  • Are there approaches that are “upgrade friendly”?
  • Any experience using the skin products here or recommended skinning approach?

Please leave your comments below or contact me directly.

Please note: (1) I am not endorsing any of these or providing a review, this is simply a discovery exercise that I am asking for the community collective intelligence to help refine what is good or not. (2) Developers, please know that README’s that explain your product are VERY MUCH APPRECIATED. Thanks.

Read Full Post »