Currently the $label for the panes give very little contextual information as what category the panel was selected from.
Adding breadcrumb like information in the $label could provide a better reminder whenever there are ambiguous titles.

The "Taxonomy" view could instead say: 'View > "Taxonomy"'
The '"Taxonomy term" term description' could drop the "", and be reordered to say: 'Term Context > Term Description > Taxonomy Term'
'"Taxonomy term" term parent' would be 'Term Context > Term Description > Term Parent'
'"Taxonomy term" term parent top' would be 'Term Context > Term Description > Term Parent Top'
The "testX" minipanel would instead be 'Mini-Panels > testX'
"Metuo Tego Distineo Proprius Vereor Ymo Abico" would instead be 'Custom > Node Content > "Metuo Tego Distineo Proprius Vereor Ymo Abico"'

This could be both a usability boost for users to remind them where they selected it from, but it could also help with making the visual documentation & learning process more clear.

I took a brief look at the backtrace leading up to the function theme_panels_pane_dnd() function where the $label is passed to, and it wasn't immediately clear that this info was readily available. I'm sure you'd know where to find it though. Some preliminary investigation on it down below.

But I'd consider this a considerable usability improvement for what can be a bit overwhelming at first blush.

code via the the display_edit.inc file:

119 : function theme_panels_edit_display($form) {
120 :   _panels_js_files();
121 :   $display = $form['panels_display']['#value'];
122 :   $layout = panels_get_layout($display->layout);
123 :   $layout_panels = panels_get_panels($layout, $display);
124 :   $save_buttons = drupal_render($form['submit']) . drupal_render($form['cancel']);
125 :
126 :   foreach ($layout_panels as $panel_id => $title) {
127 :     foreach ((array) $display->panels[$panel_id] as $pid) {
128 :       $pane = $display->content[$pid];
129 :       $left_buttons = NULL;
130 :       $buttons = drupal_render($form['button'][$pid]['configure']);
131 :       $buttons .= drupal_render($form['button'][$pid]['delete']);
132 :       $content[$pane->panel] .= panels_show_pane($display, $pane, $left_buttons, $buttons);
401 : function panels_show_pane($display, $pane, $left_buttons, $buttons, $skin = TRUE) {
402 :   $block = panels_render_pane($display, $pane);
403 :   $title = panels_get_pane_title($pane, $display->context);
404 :
405 :   $output = theme('panels_pane_dnd', $block, $pane->pid, $title, $left_buttons, $buttons);
1024: function theme_panels_pane_dnd($block, $id, $label, $left_buttons = NULL, $buttons = NULL) {
1025:   if (!$block->subject) {
1026:     $block->subject = t('No title');
1027:   }
1028:   static $count = 0;
1029:   $output .= "<div class=\"grabber\">";
1030:   if ($buttons) {
1031:     $output .= "<span class='buttons'>$buttons</span>";
1032:   }
1033:   if ($left_buttons) {
1034:     $output .= "<span class='left_buttons'>$left_buttons</span>";
1035:   }
1036:   $output .= "<span class=\"text\">$label</span></div>";
1037:   $output .= '<div class="panel-pane-collapsible">';
1038:   $output .= theme('panels_pane_collapsible', $block);
1039:   $output .= '</div>';
1040:   return $output;
CommentFileSizeAuthor
#2 panels_ui_mockup.jpg150.35 KBKentBye
#2 panels_ui_mockup2.jpg116.13 KBKentBye

Comments

merlinofchaos’s picture

First, I think this is a good idea, however, I've got a couple of problems.

1) The pane title area is pretty small, and I fear that putting a breadcrumb trail could actually do more to obscure the title than not.

2) "Taxonomy term" term parent' would be 'Term Context > Term Description > Term Parent'

That's actually losing valuable context information that you don't realize you have because you only have 1 taxonomy term context. What's in quotes, though, is the name of the context you used. When you've got more than 2 contexts, it *quickly* becomes urgent to see which context a given pane is using.

These panes are titled basically by the pane itself; there is a hook in the content types that figures out this data. panels_pane_get_title() is the function to look at.

KentBye’s picture

StatusFileSize
new116.13 KB
new150.35 KB

Hey Earl,
I did a bit of a mock-up where I extended the grabber height from 20px to 70px
Take a look at it.
The panel panes are pretty flat as it is, and IMHO can stand to be extended in the type of way I've presented.

If quick visual parsing is a criteria, then I think my mock-up is actually a bit easier to grok what is what. But take a look and I'll let you judge for yourself.

Here is the jQuery code that I plugged into FireBug to mock it up:

$('.grabber').css('height','70px');

$('#panel-pane-36 .text').empty().prepend('Term Context<ul><li>Term Description of "Taxonomy Term"</li></ul>');
$('#panel-pane-37 .text').empty().prepend('Views<ul><li>Taxonomy</li></ul>');

$('#panel-pane-38 .text').empty().prepend('Term Context<ul><li>Term Description of "Term Parent"</li></ul>');
$('#panel-pane-40 .text').empty().prepend('Term Context<ul><li>List of Related Terms for "Taxonomy Term"</li></ul>');
$('#panel-pane-78 .text').empty().prepend('Term Context<ul><li>List of Related Terms for "Taxonomy Term"</li></ul>');
$('#panel-pane-79 .text').empty().prepend('Contributed Modules<ul><li>Fivestar: Rate this node</ul></li>');

UPDATE: Ooops. tried to resize so that they're the same size, but it may have blurred the text a bit. I'm including both though.

merlinofchaos’s picture

I have to admit, the giant titlebars don't feel right to me.

I am, however, starting to feel that providing the content is unnecessary (and provides some extra bugs; like some content will change the menu location because you are telling it this is the node page for a forum post or something; that gets ugly quickly), and that perhaps putting this information in the content area might be better.

KentBye’s picture

I'm not sure I completely grasp the extra bugs or what exactly you mean by "providing content is unnecessary" (i.e. the breadcrumb in the window title?)

But I will say that the main reason that I filed this feature request is to make the panels admin page more self-documenting for new and old users.

I found myself getting lost and confused with the simple one-line titles, especially when it was using the title of a view.

So I think providing the breadcrumb in either the panel title bar or down below the "No title" would help accelerate the learning curve, and help people keep track of their panels set-ups that they create from scratch -- but also more importantly, allow people to quickly take some stock setups, grok them, and apply them to their own use cases.

I know it's not the prettiest approach to have it all within the title bar -- like I said, it could also go underneath the "No title" section. If that's what you mean by "content area" -- then right on. That's fine to.

IMHO, I think there'd be a lot of benefit from making that contextual breadcrumb information more transparent -- keeping in mind that I'm not completely grasping how it could get ugly quickly on the coding side of things.

merlinofchaos’s picture

Category: task » feature

I think that there's still some validity to this work, though I don't think I want to go quite in the direction Kent suggested. But we can definitely do a better job providing information about the panes.

sandino’s picture

subscribe

cdonner’s picture

I found several other threads marked as duplicates of this one and subsequently closed, incorrectly, as it seems to me. This issue here, as I read it, is about breadcrumbs for individual panes, not panel pages.
Anyways, here is my question related to panel pages and breadcrumbs, and please tell me if it belongs somewhere else.
I am using the most recent Panels release candidate 6.x-3.0-rc1. I naively created a panels page, gave it a title, plugged it into the primary menu, and thought things would just work. They do, except for the breadcrumbs - they show the home page, not the page I am looking at. I am not using any modules that control breadcrumbs. I am using Panels, and all panes on this page contain views. Clearly, since there are several views on this page, the breadcrumb has to be set at the page level, not the pane level.
I found quite a few discussions about panels and breadcrumbs, but most are from 2008 or older and may not apply to the most recent version anymore.
My question is very simple: How can I get the breadcrumbs to show for panel pages that are tied to the menu?

merlinofchaos’s picture

Status: Active » Closed (won't fix)

I've decided not to go this route.