[ZWeb] CFV: Bug box on nzo
Paul Everitt
paul@zope.com
Mon, 22 Apr 2002 06:58:36 -0400
Howdy. This is an important week, as we march towards a Milestone One
release. All of you can help, and I know, deep in my heart, that all of
you are simply itching to volunteer. :^)
To make it easier, I'll put out some bite-sized tasks under "CFV"
subjects. (CFV means call for volunteers.) Here's the first one.
I added a box at the bottom of the nzo skin pages labelled "Temporary
Area -- The Bug Box". It isn't wired up yet. Here's a quick run down
of this task.
Any takers? It is likely to be two hours of work. It probably requires
zero access to nzo or the collector site until after you've done most of
the implementation.
Title
-----
Implement Bug Box
Summary
-------
The bug box makes it very quick and non-disruptive to provide feedback
on nzo pages, make suggestions, jot down ideas, etc.
Goals
-----
1. Collect structured input.
2. Provide visibility of current issues.
3. Not slow down the site review process.
4. Make it much simpler to lodge bunches of issues.
Suggested Implementation
------------------------
I started a form area that goes at the bottom of every page on nzo.
Currently this table is always visible; others may choose to set its css
display to none and put a link in the footer area to turn it on.
I envisioned three approaches to this: simple, medium and hard. In the
simple case, the form action is just uses collector.zope.org as the
target. This has the downside that, when the page is posted, you leave
nzo and have to find your way back.
In the medium case, you fix this problem by moving the form itself to
collector.zope.org and inserting it in the nzo page as an iframe.
In the hard case, you make bug submission completely async by using
XmlHttpRequest (supported in IE and Mozilla). Clicking on "Add" doesn't
post a form. Instead, it calles some Javascript which collects the form
data, constructs a GET URL, and makes an XmlHttpRequest connection.
"Add" is async, "Add and Confirm" is sync with a pop-up box indicating
success/failure. If the collector can't use GET, then you have to build
the form data and use POST.
Both the simple and hard case might hampered by the need to collect the
login information *on the collector*. Otherwise everything is coming
from anonymous. It's likely that you don't need to be logged in to the
collector, as collector_email is a form field that can be passed in.
--Paul