Closed
Bug 114179
Opened 23 years ago
Closed 22 years ago
Concentration, improvement, and templatisation of Bugzilla general user help system
Categories
(Bugzilla :: User Interface, enhancement, P3)
Bugzilla
User Interface
Tracking
()
RESOLVED
FIXED
Bugzilla 2.18
People
(Reporter: netdragon, Assigned: netdragon)
References
Details
Attachments
(1 file, 4 obsolete files)
13.01 KB,
patch
|
justdave
:
review+
|
Details | Diff | Splinter Review |
This bug will be assigned to me. I was thinking about bug 88788, and I thought - why not extend the sections of queryhelp.cgi into a userhelp.cgi that has different sections based on the parameters passed. Included on this could be bug_status.html and any other help file that is used as context help for Mozilla. Also, I think that every field possible should have a link, such as on enter_bug.cgi, CC, URL, Summary, Reporter, Version and Description.
Assignee | ||
Updated•23 years ago
|
Status: NEW → ASSIGNED
Updated•23 years ago
|
Priority: -- → P3
Target Milestone: --- → Bugzilla 2.18
Assignee | ||
Comment 2•23 years ago
|
||
I've already started work on this. Basically, what is happening is there are sections and subsections. The sections and subsection to go to is sent as a parameter, and the contents for that section expanded in the table of contents on the page. I fooled around and implemented templates on one of my personal sites in order to learn how they work.
Depends on: 88788
Summary: Concentration of Bugzilla help system for normal Bugzilla users and general improvements → Concentration, improvement, and templatisation of Bugzilla general user help system
Comment 3•23 years ago
|
||
Brian - could you expand a bit further on your vision here, and perhaps attach a working prototype? It would be really bad if you did all this work and we couldn't use it because it didn't fit in with what we want to do. For example, I had an idea about how to do the help on query.cgi which is totally different to what's been done before. We should start a discussion about this in the newsgroup. Gerv
Comment 4•23 years ago
|
||
What about adding a smaller-font-size "?" after everything that can be described, and have a short description in the title tag of the link, and the link being a pop-up to describe what it is? Of course, have a user-pref that would shut off this context help. Something like this would have helped immensly starting out using Bugzilla...
Assignee | ||
Comment 5•23 years ago
|
||
I will attach a prototype of the help system shell when I finish it (without any real content) and some test content.
Assignee | ||
Comment 6•23 years ago
|
||
For the descriptions of the fields of query.cgi, I am going to use jpgs instead of html.
No longer depends on: 88788
Comment 7•23 years ago
|
||
Brian, have you seen my proposal for a new help system in the newsgroup? It appears to have got quite a lot of support. Would you consider implementing something like that? Gerv
Comment 8•23 years ago
|
||
I've just prototyped the system I mentioned in the newsgroups. We can nick the popup code basically straight from e.g. http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/js/jsd/Makefile.in&root=/cvsroot There's different code for different browsers, but templatisation could deal with that. We'd have help templates which would get conditionally included in the key files: query.cgi, show_bug.cgi and maybe buglist.cgi. The JS template would be common; the <div>s which defined the help content would be page-specific. Gerv
Updated•23 years ago
|
Component: Documentation → User Interface
Comment 9•23 years ago
|
||
This is a work-in-progress; it implements a generic pop-up help system for Mozilla, and applies it to query.cgi. It should be possible to make the help system work in other half-decent browsers; the places where browser-specific forks are necessary are clear and easy to see. Unfortunately, Mozilla has a problem with dynamically-positioned elements not being drawn on top of HTML form control scrollbars. This makes bits of our help text disappear under scrollbars :-(. Also, the help text probably isn't as polished as it should be. Note that adding the help system to any form-based page is very easy; you call initHelp() from the <body> onload handler, write a file defining help text for each form element's name, and include it. Help is then activated if "help=1" is a param to the CGI. Gerv
Comment 10•22 years ago
|
||
Here's version 1. There's no solution to the scrollbar problem, so we just have to position the elements to avoid them as far as possible. To resummarise, adding the help system to any form-based page is done as follows: - call initHelp() from the <body> onload handler - write a file defining help text for each form element's 'name' (taking search-help.html.tmpl as a model) - include it in the template, before the footer. Help is then activated if "help=1" is a param to the CGI. You need to provide a link to enable it. Gerv
Attachment #92109 -
Attachment is obsolete: true
Comment 11•22 years ago
|
||
I don't like this being dependant on mozilla, ven though its only temporary, and I know others won't like this being dependant on js. I think getting the code to work on ns4 is a lost cause, in which case you may as well use the w3c interfaces for this sort of stuff. Can we arrange it so that if js isn't enabled, the help link loads a new page with just the info from those hashes? I don't like reloading the page, either - if we do require js, can't you just call inithelp from an onclick? (and then have the href load a separate page for non js browsers)
Comment 12•22 years ago
|
||
> I don't like this being dependant on mozilla, ven though its only temporary, > and I know others won't like this being dependant on js. The dependency on Mozilla is only because I can't easily test it with other browsers. Once it's checked in, we can test with other browsers and slacken the requirement gradually. As for the JS dependence, a context-sensitive help system really needs it (well, you _might_ do something using advanced CSS, but that would _definitely_ be Mozilla-specific.) We still have the old help for non-JS browsers. > I think getting the code to work on ns4 is a lost cause, in which case you may > as well use the w3c interfaces for this sort of stuff. What changes are you suggesting? > Can we arrange it so that if js isn't enabled, the help link loads a new page > with just the info from those hashes? Currently, it loads queryhelp.cgi - the old help page. Is that OK? > I don't like reloading the page, either - if we do require js, can't you just > call inithelp from an onclick? (and then have the href load a separate page > for non js browsers) I don't want to do that because that would mean including the help stuff every time the page is loaded by anyone. I don't want to make all advanced users pay the download penalty. Our pages are bloated enough as it is. Gerv
Comment 13•22 years ago
|
||
> [ns4 stuff vs w3c] document.forms isn't standard, AFAIK. It would be better to use document.getElementById(), and require ids on the appropriate elements. Or even do this with the title attribute, rather than js, perhaps. You could probably do css stuff which would work in ie6, but I don't really know. > Currently, it loads queryhelp.cgi - the old help page. Is that OK? Well, yes, in this particular case. It would, however, as part of this generalisation, be nice if queryhelp was effectivly autogenerated. Note that if everything in the current queryhelp.cgi is not in the new help system, then since this file is no longer accessible, you're hiding docs, which would be bad. > [reloading the page] You could load it via xmlrpc + a serialiser, but I see your point. If it were part of an external js file, though, then it wouldn't count so much, as it would be a one time download for common pages. What do others think? What do others think?
Comment 14•22 years ago
|
||
> document.forms isn't standard, AFAIK. Nothing in DOM Level 0 is a standard. Using document.forms has the significant advantage that you don't need to mess with the page to add the help system (see my comment on how easy it is.) > do this with the title attribute, rather than js, perhaps. You can't put line breaks in a title. :-( They just aren't suitable for this. > > Currently, it loads queryhelp.cgi - the old help page. Is that OK? > > Well, yes, in this particular case. It would, however, as part of this > generalisation, be nice if queryhelp was effectivly autogenerated. Without the context of the page, more text would be needed anyway. > Note that if everything in the current queryhelp.cgi is not in the new help > system, then since this file is no longer accessible, you're hiding docs, > which would be bad. Have you _seen_ the current queryhelp.cgi? It's a monster. There's no way even 1/10 of what's in there is going to be, or needs to be in the new help system. > You could load it via xmlrpc + a serialiser, but I see your point. If it were > part of an external js file, though, then it wouldn't count so much, as it > would be a one time download for common pages. The JS yes - but the big download is the help text, which is specific to each page and so can't be made generic. Gerv
Comment 15•22 years ago
|
||
Comment on attachment 94750 [details] [diff] [review] Patch v.1 I'm not comfortable with the check of FORM in the generic tempalte code, although I can't thikn of anything better given our current infrastructure. I'm really not going to have time to review this; you'd be better of finding someone else.
Comment 16•22 years ago
|
||
*** Bug 177002 has been marked as a duplicate of this bug. ***
Comment 18•22 years ago
|
||
two problems (also where in previous patch): 1. help parameter in globals.pl doesn't seem to work (it returns 0 all the time). i had to move it to query.cgi to make it work after that everything in mozilla was fine, but: 2. internet explorer complains about javascript error "object expected" after about 20 mintues search, where could possibly be the error ( :) ) i found that javascript for dummy function is described this way: <script type="application/x-javascript"> after replacing it to <script type="text/javascript"> IE yells no more
Comment 19•22 years ago
|
||
> 1. help parameter in globals.pl doesn't seem to work (it returns 0 all the > time). i had to move it to query.cgi to make it work That's probably because of the move to CGI.pm. I've moved this assignment to the bottom of CGI.pl. > after that everything in mozilla was fine, but: > 2. internet explorer complains about javascript error "object expected" OK - fixed by changing the type for the dummy JS. Gerv
Attachment #104688 -
Attachment is obsolete: true
Comment 20•22 years ago
|
||
Comment on attachment 104737 [details] [diff] [review] Patch v.3 (Replacing review bug 177811 with flag.) Gerv
Attachment #104737 -
Flags: review?(justdave)
Comment 21•22 years ago
|
||
Comment on attachment 104737 [details] [diff] [review] Patch v.3 I'm kind of at a tossup whether to sign off on this or not. :) It works great in Mozilla. It doesn't work at all in Internet Explorer (5.2.2 MacOSX). Nothing happens when I mouse over anything. Help text for Components should probably mention that you can click on the word Components to get descriptions of the components, or even provide a link within the popup. If it worked in IE I'd r= this in an instant.
Attachment #104737 -
Flags: review?(justdave) → review-
Comment 22•22 years ago
|
||
I refer the honourable gentleman to the comment I made some months ago: "The dependency on Mozilla is only because I can't easily test it with other browsers. Once it's checked in, we can test with other browsers and slacken the requirement gradually." The point is, it doesn't _break_ IE. I can't easily test it on IE - so let's check it in, and then write the proper JS or templates for other browsers and check that in separately. It's designed to be modular, so the browser-specific bits are isolated and only have to be written once, no matter how many pages we use this on. Gerv
Comment 23•22 years ago
|
||
But it still tells the user at the top of the page that they can mouse-over items to view help on them. If we know it doesn't work in IE, then we shouldn't display this text if the user is using IE. Since that text is being output by javascript, if there's a certain object you're using that's specific to Mozilla, just test for the existance of that object, and if it exists you print the message, if not, then you print a message saying "sorry your browser doesn't support the popup-help" or something like that.
Comment 24•22 years ago
|
||
> But it still tells the user at the top of the page that they can mouse-over
> items to view help on them. If we know it doesn't work in IE, then we shouldn't
> display this text if the user is using IE.
Fair point. Can I have an r= if I fix that? :-) (The alternative is to give them
a link to queryhelp.cgi, not to say "Your browser doesn't support it").
Gerv
Comment 25•22 years ago
|
||
Yes. r= if that's fixed.
Comment 26•22 years ago
|
||
Comment on attachment 104737 [details] [diff] [review] Patch v.3 >Index: CGI.pl >=================================================================== >RCS file: /cvsroot/mozilla/webtools/bugzilla/CGI.pl,v >retrieving revision 1.188 >diff -u -r1.188 CGI.pl >--- CGI.pl 26 Oct 2002 01:56:55 -0000 1.188 >+++ CGI.pl 31 Oct 2002 08:01:08 -0000 >@@ -901,4 +901,7 @@ > $::COOKIE{$name} = $::cgi->cookie($name); > } > >+# This could be needed in any CGI, so we set it here. >+$vars->{'help'} = $::FORM{'help'} ? 1 : 0; >+ Repeat after me: |$vars is not a global| :) While we're at it, $::FORM is deprecated; use $::cgi->param('help') instead In this case, though, I'm not going to object (since its unconditional); eventually the cgi object will end up being pushed to the template and we can then grab the form vars (and user-agent, which is the main reason for this) manually.
Comment 27•22 years ago
|
||
Displays help link only on Mozilla, and uses $::cgi. Yes, there's a small amount of redundancy in the template; the alternatives would be worse. Gerv
Attachment #104737 -
Attachment is obsolete: true
Comment 28•22 years ago
|
||
if you have |help| as a param, but aren't using moz, then you're not defining the inithelp function....
Comment 29•22 years ago
|
||
> if you have |help| as a param, but aren't using moz, then you're not defining
> the inithelp function....
Yes, but if you aren't using Moz, then the UI for adding "help" as a param isn't
available. Yes, you could hack the URL - but then, you deserver what you get (JS
errors, in this case.)
Patch v.4 is fine for review IMO. :-)
Gerv
Updated•22 years ago
|
Attachment #106472 -
Flags: review?(justdave)
Comment 30•22 years ago
|
||
Comment on attachment 106472 [details] [diff] [review] Patch v.4 r=justdave I have problems with the content of some of the tooltips, but this bug is about putting the infrastructure in place, we can file new bugs for bad tooltips :-)
Attachment #106472 -
Flags: review?(justdave) → review+
Comment 31•22 years ago
|
||
a= on this is pending the 2.17.1 release, I want to hold until then to check it in. Adding it to my queue so I don't forget.
Flags: approval?
Updated•22 years ago
|
Flags: approval? → approval+
Comment 32•22 years ago
|
||
Fixed. Bug 182082 opened for support on other browsers, and bug 182083 opened to track support on other Bugzilla pages. Checking in CGI.pl; /cvsroot/mozilla/webtools/bugzilla/CGI.pl,v <-- CGI.pl new revision: 1.192; previous revision: 1.191 done RCS file: /cvsroot/mozilla/webtools/bugzilla/template/en/default/global/help.html.tmpl,v done Checking in template/en/default/global/help.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/global/help.html.tmpl,v <-- help.html.tmpl initial revision: 1.1 done Checking in template/en/default/global/header.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/global/header.html.tmpl,v <-- header.html.tmpl new revision: 1.19; previous revision: 1.18 done RCS file: /cvsroot/mozilla/webtools/bugzilla/template/en/default/global/help-header.html.tmpl,v done Checking in template/en/default/global/help-header.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/global/help-header.html.tmpl,v <-- help-header.html.tmpl initial revision: 1.1 done Checking in template/en/default/global/footer.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/global/footer.html.tmpl,v <-- footer.html.tmpl new revision: 1.8; previous revision: 1.7 done Checking in template/en/default/search/search.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/search/search.html.tmpl,v <-- search.html.tmpl new revision: 1.12; previous revision: 1.11 done RCS file: /cvsroot/mozilla/webtools/bugzilla/template/en/default/search/search-help.html.tmpl,v done Checking in template/en/default/search/search-help.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/search/search-help.html.tmpl,v <-- search-help.html.tmpl initial revision: 1.1 done Gerv
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
QA Contact: matty_is_a_geek → default-qa
You need to log in
before you can comment on or make changes to this bug.
Description
•