Closed Bug 49225 Opened 24 years ago Closed 22 years ago

created new XSLT conversion capability for XML bugs

Categories

(Bugzilla :: User Interface, enhancement, P3)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 86168

People

(Reporter: jones, Assigned: myk)

Details

Attachments

(3 files)

I have created a new module (transform.cgi) that takes a list of bug ids,
generates an XML version of the list (using Bug.emitXML()), and then transforms
the XML output into an HTML interface using an XSLT stylesheet.  This is an
attempt to experiment with separating the user interface of bugzilla from the
perl code in a modular and re-configurable manner.  I provided an XSLT
stylesheet (long_list.xsl) that demonstrates a long bug listing using this
technique.  There are several hairy issues, most notably how Bugzilla encodes
HTML in Params.  Much of that HTML in the params (like %bannerhtml%) is not
well-formed and so cannot be included in XML output.  I have included a patch
that fixes some of the well-formedness problems withthe default parameter values
to make this example work.

The module needs to be generalized to handle all XSLT transformation chores for
Bugzilla, but the architecture for such a module wasn't clear at this time.It
does make for a good XSLT demonstration and parallels the "xml.cgi" module. 
This bug relates to Bug #48707 because it could be used to generate HTML from
that XML output.

The module uses XML::Sablotron to do the XSLT transformation. Attachments will
follow.
Attached file XSLT stylesheet for long bug listing (deleted) —
Matt: is this stuff that you think should be landed in the bugzilla tree as it
is, or does it require more massaging?  And even if the XML/XSL related stuff
does require more massaging, couldn't the HTML well-formedness stuff be landed
as is?
Dan --  the patch for making the default HTML well-formed (basically using XHTML 
conventions) could be landed as it currently stands.  However, it does not solve 
all of the well-formedness errors that are present in bugzilla html code, which 
is being tackled under bug #47251.  We'd need to eventually find all of those.

The XSLT processing code works as I submitted it using the then-current version 
from CVS, so I think it could be checked into the tree as an "experimental" 
module so that people could add to it and critique it as an approach for UI 
separation.  Is there an area of the tree that this type of code could be added 
so that others can review and refine it (contrib?)?

However, to really deploy it, we would need to: 1) agree on XML formats for bugs 
and query result sets; 2) generalize the XSLT transformation module so that it 
could transform all of the various UI outputs to html format, like the bug 
editing form and the query results screens; 3) decide on a mechanism for 
associating stylesheets with each UI output, probably using the Params methods; 
4) make sure Bug.pm works fully in terms of its XML output formatting.

We would also need to determine if an added dependency on XML::Sablotron is 
acceptable and works across platforms.
Keywords: patch, review
Target Milestone: --- → Bugzilla 2.16
-> Bugzilla product, User Interface component, reassigning.

Look at this!
Assignee: tara → myk
Component: Bugzilla → User Interface
Product: Webtools → Bugzilla
Version: other → unspecified
> This is an
> attempt to experiment with separating the user interface of bugzilla from the
> perl code in a modular and re-configurable manner.

We opted for templates :-)

Gerv

Pushing out; but if no-one can point out any remaining value in this patch,
we'll have to close the bug. The well-formedness stuff is happening as part of
templatisation. The patch is excellent - it's just not the way we went in the
end :-)

Gerv
Target Milestone: Bugzilla 2.16 → Bugzilla 2.18
Yeah, I think this is all covered by the templating.

Semi-dupe of bug 86168

*** This bug has been marked as a duplicate of 86168 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
clearing target in DUPLICATE/WORKSFORME/INVALID/WONTFIX bugs so they'll show up
as untriaged if they get reopened.
Target Milestone: Bugzilla 2.18 → ---
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: