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 |
Jump to:
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
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:
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
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.