Panels: I got it all wrong

For anyone watching my screencasts or the occational blog, it can be no secret that I'm a huge fan of Panels. Just a few days ago I realized that I had got it all wrong. Now I'm starting to understand Page Manager. Here is what I'm learning.

Almost a week ago I recorded a screencast displaying two new features in Panels 3.8 and CTools 1.8. In the screencast I mention that I'm looking forward to seeing more modules providing plugins to Page Manager – one of the modules included in Chaos Tools Suite.

The very next day I got an opportunity for exactly that, when I tried out Kris Vanderwater/EclipseGc's module Contextual Administration. It allows you to create administration pages like an extra tab on nodes for managing publishing (with VBO), tabs for adding referenced content, and some other stuff. At first I thought that it wasn't such a big thing – I mean, I could configure all of this in Panels if I wanted.

Then I realized that this module wasn't using Panels at all. It was only using Page Manager.

I have for some time been preaching that Panels isn't about the layout, but about how you can create contextual information and use it as Views arguments, control access and some other really cool things. Now this EclipseGc comes along and does the same thing without using Panels. What's going on here?

It turns out that I got it all wrong. Panels doesn't create contexts or access rules. Page Manager does. Page Manager does a number of cool things, most of which I thought Panels was responsible for. Even the caching mechanisms are done with Page Manager, I've been told.

If you want to put it bluntly, Panels does this:

  1. Allows dividing a page (or some other area) into smaller regions.
  2. Integrates really well with the functions available in Page Manager.

(And a ton of other cool stuff, I know. Like the Panels in-place Editor.)

That Panels integrates really well with Page Manager shouldn't be a surprise, nor is it a coincidence – Page Manager and CTools is a breakout part of Panels, allowing each part to develop quicker and more independently. Nor is it strange that I (and others, I guess) confuse Panels' and Page Manager's functionality – there is no clear line between the two modules when you're configuring them. And among the modules integrating with Page Manager, Panels dominates vastly (so far).

What's up next?

Pretty many of the Panels pages I'm building have one region only, and only one content pane in it. In effect they are just simple pages – and I'm using Panels just to get to the goodness of Page Manager. In the future that might not have to be the case. There might be modules providing complete pre-made pages, some with less and some with more configuration possibilities.

Panels is still a great tool when you really want to be able to tune every setting and also change layout settings, but semimanifactured configurations will make your life easier – and make it easier to discover what you can do with Page Manager.

The Contextual Administration module is an example of this. It takes a thin slice of all the things you could do with Page Manager (+ Panels), and makes that slice easily available. Below is a screencast displaying how it could work.

Module features have been updated and extended since this screencast. There will be an updated screencast soon, I'm told, so keep your eyes open.

Edit: Here's a new screencast series displaying Context Administration. Don't miss the fourth one! All cred to EclipseGc.