Posts Tagged ‘subsites’

plone-logo-no-textOn August 21, Plone 3.3 was released.  As with all releases in the Plone 3.X series, upgrades of your existing Plone site to Plone 3.3 can be done easily.

Should you upgrade your site?

Here is a list of new features available in Plone 3.3.  A number of the changes are “under the hood.”  They make things a little bit easier for developers or integrators, but a standard Plone user might not notice him.  Here are a few things you will notice.

It’s easier to create subsites.

Have you ever wanted to make a folder in your site look like its own site.  You might have folders for different departments in your organization that each need their own theme, navigation, and search.  Setting this up in Plone is easier with version 3.3.  An add-on product called Lineage can help you set this up.

Better document locking.

Do you often find documents on your site that have been locked for days when you know that the user who locked them is no longer editing them?  With Plone 3.3, improvements have been made to document locking and timeouts.  You can also turn off document locking entirely, if you want.

Automatic redirection for link objects.

When an anonymous user clicks on a link object in a Plone 3.3 site, they are automatically redirected to the link target.  They will no longer see the link object come up on the site, and then have to click again to reach the target site.

Fixes for Internet Explorer 8.

Many of the Internet Explorer fixes needed for IE6 and IE7 are no longer needed for IE8.  As a result, Plone would often display sites incorrectly in IE8 because old fixes were being applied.  This has been corrected in Plone 3.3.

Get site events in an iCalendar format.

Plone 3.3 allows you to view site events in an iCalendar format.  This means that you can now subscribe to a site’s events using Google Calendar, Mozilla Sunbird, or any other iCalendar compatible calendar application.

Improved access to content histories.

Have you ever noticed that the Object History box that you can show or hide at the top of a content item doesn’t show the full content history, but only the workflow history?  In Plone 3.3, the history box shows workflow history and versioning history.

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 »