Improve workflow for new per-display title

Pancho - May 15, 2008 - 11:57
Project:Panels
Version:5.x-2.x-dev
Component:User interface
Category:bug report
Priority:normal
Assigned:Unassigned
Status:duplicate
Description

The workflow of the new per-display title IMHO needs some reconsideration.
While this new feature adds even more flexibility, we are confusing users more and more.

Some thoughts:

  • Ultimately there is now one more place where some value overrides another value. "unless overridden later", "unless overridden elsewhere"... Is this necessary?
  • Why is the per-display title setting only available, if a per-panel-page title has been set? Makes no sense IMHO.
  • Why - on the other hand - is the per-display title setting available for the main display, even if there are no additional displays?
  • "Hide title" is more obscure than "Show title" would be.
  • The user needs to read the two-line description text to find out that the default (per-panel-page) title is 'foo'. Why don't we show the default (per-panel-page) title in the field and allow overriding it for the present display?
  • The terminology is very confusing and obscure: panel-page, display, panel...

I see two approaches to make this workflow more clear and easy to understand:
The more radical (and IMHO better) approach would mean: Panel titles are only provided by the display. Therefore:

  • Panel pages: Remove the title column from the panels_page table. Also remove the per panel-page title setting from panels_page_edit_form(). Now, let panels_edit_layout_settings_form() always provide the per-display title setting. It may default to the internal panel name (or be empty) and therefore should be turned off by default.
  • Mini panels: Remove the title column from the panels_mini table. Remove the title setting from panels_mini_edit_form() and let panels_edit_layout_settings_form() provide the title setting. (Alternatively: Leave the title setting in panels_mini_edit_form(), but use the display object's title.)
  • Panel nodes: leave everything as is.

A softer approach would be:

  • Leave the per panel-page title setting in panels_page_edit_form() and panels_mini_edit_form().
  • In panels_edit_layout_settings_form(), use a set of radios with the following options: O No title; O Default title: 'foo' (Change here); O Custom title: |____________|.
  • For the default display: Don't provide a per-display title setting in panels_edit_layout_settings_form(). (Alternatively: Provide the 'none' and 'default' options, but don't let the user provide a custom title)
  • For additional displays: Always provide the per-display title setting in panels_edit_layout_settings_form(). It should default to the per panel-page title and should be turned on by default.
  • Mini panels and Panel nodes: leave everything as is.

Then we would proceed to improve the description texts, and some more usability improvements, but this would be the main change.
Opinions? Other ideas?

#1

sdboyer - May 18, 2008 - 15:27

Yep, I was painfully aware of how potentially nastily complex this one was while I was writing it. I think part of my mistake is trying to actually explain the full behavior in the inline help text...oi. But, your points:

  • This...really isn't that much of a change. There's always been quite a bit of title overriding going on, I just made the mistake of trying to explain it all right there on the spot.
  • Did I really do this? Maybe there was a good reason. I'll have to check.
  • I agree, but I think I considered this while writing the code and ended up settling on 'Hide' for technical reasons. Again, I'll need to check it.
  • Probably a good solution, although I'd be concerned that, if not handled properly, this could be misleading to users in its own way.
  • It's the terminology we have, and it's entirely consistent with the rest of the places that panels uses its nomenclature. If it's not, then it's because those terms are incorrect. If people find these 'very confusing' or 'obscure,' then the problem isn't that we're using the terms, but that they haven't been adequately & consistently used. I've highlighted my problem with 'panel' in the nomenclature issue, but 'display' and 'panels_page' both have very specific things to which they refer. If we don't start using the terms properly now, it'll only get worse.

The logic does need to be cleaned up, but I do remember that I cut the coding short because the ideal solution would've required some nasty reworking of panels_page itself.

I'll get back to this as soon as I can.

#2

sdboyer - July 13, 2008 - 19:49
Status:active» duplicate

Since we've ended up going with (or at least trying to go with =P) sun's logic in #268318: Page titles not working for node override pages, I'm gonna dupe this and hope that that one works out. Let's re-open if not.

 
 

Drupal is a registered trademark of Dries Buytaert.