Opened 15 years ago
Closed 15 years ago
#8839 closed enhancement (fixed)
Improve the plugin admin panel
Reported by: | Remy Blank | Owned by: | Remy Blank |
---|---|---|---|
Priority: | normal | Milestone: | 0.12 |
Component: | admin/web | Version: | devel |
Severity: | normal | Keywords: | |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
The current plugin admin panel has several drawbacks:
- The components are listed in seemingly random order, which makes finding a specific component difficult.
- The only information displayed for each component is the package and component name. This is not enough for users to decide if they want specific components enabled or disabled.
I have improved the panel to group the components by package, and to display the docstrings of both components and packages if available. Descriptions are initially collapsed, and can be shown using JavaScript. A fallback is also available if JavaScript is disabled.
Feedback welcome.
Attachments (2)
Change History (10)
by , 15 years ago
Attachment: | 8839-plugin-admin-panel-r8829.patch added |
---|
comment:1 by , 15 years ago
The patch also fixes many component docstrings for consistency. More docstrings could be added if desired.
follow-up: 3 comment:2 by , 15 years ago
Quite nice.
I'm not sure however the tooltip for the summary is the best thing here, it should be possible to get an overview at once. And despite the component name being highlighted as a link, it's not obvious you'd get the description by clicking on it, so I'd prefer something like:
ComponentName summary ..... [+]
And the description should then appear as a smaller text, maybe a bit like the hint style.
Perhaps also have an "expand/collapse all descriptions " button somewhere?
One little thing: there's a typo in trac/admin/web_ui.py, Return the docstring of an object as a a tuple .
comment:3 by , 15 years ago
Replying to cboos:
I'm not sure however the tooltip for the summary is the best thing here,
I wasn't sure either. The summary is actually repeated when you expand the description, so the tooltip is not strictly necessary.
it should be possible to get an overview at once.
I thought this would be too crowded, but I'll try and see.
And despite the component name being highlighted as a link, it's not obvious you'd get the description by clicking on it, so I'd prefer something like:
Yes, why not. Will try.
Perhaps also have an "expand/collapse all descriptions " button somewhere?
This I'm not sure. Some of the descriptions are pretty lengthy (e.g. authz_policy.py
). OTOH, a "show all / hide all" link at the top somewhere wouldn't harm, I suppose.
Thanks for the suggestions, I'll try them and report back.
comment:4 by , 15 years ago
The patch above is an improved version taking into account comment:2. I know I'm biased, but I think this just went from "quite nice" to "really usable" :-)
follow-up: 6 comment:5 by , 15 years ago
When expanding the descriptions for Trac components, as there are a few code blocks in the markup, we easily end up with a larger width than what can be displayed - same problem as for #8866, so I suppose that when we fix it, the problem will also be fixed here.
What would you think about using monospace font for the component names, and maybe display the module paths as e.g. trac.mimeview.*
, as a hint about how this will look like in the TracIni.
-
trac/admin/templates/admin_plugins.html
diff --git a/trac/admin/templates/admin_plugins.html b/trac/admin/templates/admin_plugins.html
a b 127 127 href="${href.admin('general', 'plugin', show=not show_doc and module_name or None) 128 128 + '#trac-mod-' + module_name}">${show_doc and '–' or '+'}</a>] 129 129 </span> 130 ${module_name}130 <span class="trac-name">${module_name}.*</span> 131 131 <span py:if="module.summary" class="trac-summary"> — ${module.summary}</span> 132 132 </p> 133 133 <div py:if="module.description" xml:space="preserve">${wiki_to_html(context, module.description)}</div> … … 143 143 href="${href.admin('general', 'plugin', show=not show_doc and component.full_name or None) 144 144 + '#trac-comp-' + component.full_name}">${show_doc and '–' or '+'}</a>] 145 145 </span> 146 ${component_name}146 <span class="trac-name">${component_name}</span> 147 147 <span py:if="component.summary" class="trac-summary"> — ${component.summary}</span> 148 148 </p> 149 149 <div py:if="component.description" xml:space="preserve">${wiki_to_html(context, component.description)}</div> -
trac/htdocs/css/admin.css
diff --git a/trac/htdocs/css/admin.css b/trac/htdocs/css/admin.css
a b 62 62 .plugin .listing { width: 100% } 63 63 .plugin .listing td { background: #fff } 64 64 .trac-heading { margin: 0 } 65 .trac-name { font-family: monospace } 65 66 .trac-toggler { float: right; color: #000; font-weight: normal } 66 67 .trac-toggler :link, .trac-toggler :visited, 67 68 .trac-toggler :link:hover, .trac-toggler :visited:hover {
comment:6 by , 15 years ago
Replying to cboos:
What would you think about using monospace font for the component names, and maybe display the module paths as e.g.
trac.mimeview.*
, as a hint about how this will look like in the TracIni.
I wanted to try monospace at some point, but I forgot :) What is better: using font-family: monospace
on a <span>
or wrapping in <tt></tt>
?
comment:7 by , 15 years ago
<tt>
fits better in "rich text", inside paragraphs. Here it's not the case and more part of the structure of the information in the page, so span + class is perhaps more appropriate. No idea if this is common practice or not, it's just my opinion ;-)
comment:8 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Improved plugin admin panel.