Ozibug - web based bug tracking


  1. Introduction
  2. Creating an RSS report
  3. Executing the report
  4. Customizing the report
  5. Adding nntp/rss
  6. Adding Ozibug RSS to nntp//rss
  7. Adding Ozibug nntp//rss to Outlook Express
  8. Adding Ozibug nntp//rss to Netscape
  9. Other Aggregator Applications
Back to index
 

The RSS document type is simply an outline or brief summary of information which is written in XML. RSS documents are used to syndicate or publish information in a known, standard format. The documents usually contain a list of items, each item being a summary of a larger item and a link pointing to the location of the larger item.

RSS aggregator tools are used to bring together multiple RSS documents (or feeds) and present their content to a user, perhaps according to the users personal preferences.

This document shows how to use the RSS reporting features of Ozibug to integrate with your favourite RSS aggregator tool. An example is included which shows how to feed a list of all the new bugs for a given module into your Outlook Express or Netscape application.

Back to top
 

Creating an RSS report in Ozibug is no different to creating any other report. The only difference is that the output may not always be readable (this is browser dependent) as it is intended to be read by another application, not rendered by a browser.

Login to Ozibug and select the reports page. This page is displayed behind the reports View reports icon.

From the first row of the table displayed, select the checkbox in the Filter column. Now select the module that you require from the drop down list to the right of the checkbox. This selects the module to use in the report.

Include  (all) Filter Sort
Module Add the selected item to the list

Now select the checkbox for the third row (Status) and select the new value from the select box. This will select only the new bugs for the report filtering out all others.

Status Add the selected item to the list

Finally select the RSS (summary) value for the report format. Type in a name for the report (NEW_RSS) and then select the Save button.

   Get the RSS friendly (XML) source of this report
   

You have now created and saved a RSS report. You will see that this report has been selected and the name is displayed in the the select box at the bottom left hand side of the screen.

Back to top
 

To test the report you should run it and check the output. Select the report from the select box in the bottom left of the reports page. Once selected you can either select the Apply button or the Get the RSS friendly (XML) source of this report button (both buttons have the same action.)

The report is executed and the results, similar to those shown below are displayed in a new browser window.

This XML file does not appear to have any style information
associated with it. The document tree is shown below.

<rss version="2.0">
 <channel>
  <title>Ozibug Custom Report (NEW_RSS)</title>
  <link>http://localhost:8080/ozibug/Controller</link>
  <description>Filter: Module(Your Module Name) Status(new) ... </description>
  <managingEditor>nobody@tortuga.com.au (Testing developer)</managingEditor>
  <language>en-au</language>
  <ttl>60</ttl>
  <image>
   <url>http://localhost:8080/ozibug/images/ozibug.gif</url>
   <title>Ozibug Custom Report (NEW_RSS)</title>
   <link>http://localhost:8080/ozibug/Controller</link>
  </image>
  <item>
   <title>Your Module Name: OP#1</title>
   <link>http://localhost:8080/ozibug/Controller...</link>
   <guid isPermaLink="true">http://localhost:8080/ozibug/Controller...</guid>
   <author>nobody@tortuga.com.au (Eric Ozibug)</author>
   <pubDate>Tue, 08 Jul 03 15:47:00 EST</pubDate>
   <dc:subject>XML does not allow recursive entity definitions</dc:subject>
   <description>
    While XML does not allow recursive entity definitions, it does permit
    nested entity definitions, which produces the potential for Denial of
    Service attacks on a server which accepts XML data from external
    sources. For example, a SOAP document like the following that has
    extremely deeply nested entity definitions can consume 100% of CPU
    time and a lot of memory in entity expansions.
   </description>
  </item>
 </channel>
</rss>

While the contents that are displayed in the browser window are not displayed or rendered correctly by the browser, the URL displayed in the browser window address bar is. This URL is the address of the RSS report and must be cut and pasted into you favourite RSS Aggregator. It will look something like the following (the line has been split for display purposes.)

http://www.ozibug.com:8080/ozibug/Controller?action=reports.Reports \
&report=NEW_RSS&outputType=RSS&key=Z1V1ZWxvcGVy%3AxXlpMklZY0isd0d4Qw%3D%3D
                      

Note: the authentication key (as specified in the key parameter of the URL) can also be obtained from the key link Show key for single access authentication on the Maintain User page. A new key would need to be obtained if, for example, you change your password.

Back to top
 

The output produced by the RSS report is designed for consumption by an RSS Aggregator. While standards dictate the fields that must be present in an RSS report, aggregators are free to render the values of these fields in any style. In order to present meaningful information the display fields commonly used by the aggregators are customizable.

The RSS title field of each item is often used as the primary descriptive field rendered by the aggregator. This can be seen in the subject column in both Outlook Express and Netscape as shown below. In other aggregators this may be the only field displayed, while in others the RSS subject field may be used instead.

The RSS title and/or subject fields may be customized by including a formatting parameter in the URL used to invoke the RSS report. To format the title add the parameter &titleFormat=XXX, or to format the subject add the parameter &subjectFormat=XXX, where the string XXX is replaced by the required format.

The following parameters can be specified in the format string, with the default formats used for the RSS title and subject fields being -m: -i and -d respectively.

  • -m - the name of the module
  • -i - the formatted bug id
  • -s - the status of the bug
  • -p - the priority of the bug
  • -c - the creator of the bug
  • -u - the last updated date and time of the bug
  • -d - the (short) description or summary of the bug
Note: Any unsafe characters used in the format string must be URL encoded, eg., a space must be encoded to %20.

For example, the following URL (Note: the line has been split for display purposes)

http://www.ozibug.com:8080/ozibug/Controller?action=reports.Reports \
&report=NEW_RSS&outputType=RSS&key=Z1V1ZWxvcGVy%3AxXlpMklZY0isd0d4Qw%3D%3D \
&titleFormat=-s%20-%20-m%20-%20-i%20-%20-d
                        
would result in titles of the form
  • new - Ozibug - PR#123 - Fix the RSS reporting
  • open - Ozibug - PR#456 - Add more tests
  • closed - Ozibug - PR#789 - Add more tests

Back to top
 
To integrate into either Outlook Express or Netscape you must use a package that can translate between the Ozibug RSS feed and the NNTP protocol that these applications use.

The package nntp//rss does exactly this and we will use it for our example integration. Download nntp/rss package from the sourceforge site. At the time of writing the current version is 0.3.

Download the package and unzip this into a local directory. You can then change into the directory and start the application as shown below. Note: you must be the root super user on Unix systems to use the default privileged nntp ports. To use alternative, non-privileged ports, see the documentation in the README.TXT file that comes with the nntp//rss package.

C:\>unzip nntprss-0.3.zip
...
....
...
C:\>cd nntprss
C:\nntprss>javaw -jar nntprss-start.jar
C:\nntprss>
Win32 Platform
# unzip nntprss-0.3.zip
...
....
...
# cd nntprss
# java -jar nntprss-start.jar >/tmp/nntprss.log 2>&1 &
# 
Unix Platform

Now the nntp//rss bridging application is running we must add the Ozibug RSS report to it, and then add this application as a local newsgroup server to Outlook Express or Netscape.

Back to top
 

The nntp//rss administration page can be found at the following url on your computer http://localhost:7810/ or http://127.0.0.1:7810/. Put this address into your browser and you'll see the simple administration screen (displayed below.)

In the top center of the page you will find the add channel link. Select this link and the add channel page will be displayed as shown below.

Set the Newsgroup Name field to Ozibug, set the RSS URL field to the value that you obtained from your browser when selecting the RSS report from Ozibug. Leave the other fields as is and select the Add button.

Congratulations, you have now configured the nntp//rss application with the Ozibug RSS report. You will see the new channel at the top of the View Channels page as shown below.

Back to top
 

From within Outlook Express select the Accounts option from the top Tools menu bar. Now select the Add and then News... options. This will start the wizard which takes you through adding a news server account.

Answer the wizards questions with your details. When the News (NNTP) Server is prompted for, answer with the localhost localhost or 127.0.0.1 address of your machine. Now finish adding the server which will be displayed in the left hand panel. You can now select the server and then the NewsGroups... button.

You will be able to see the Ozibug newsgroup which you can then subscribe to. All the new bugs that are added to your selected module in Ozibug will now show up in this news group !

You can now change the RSS report in Ozibug which you created and the changes will filter through to the group, for example select only the new critical bugs...

The following snapshot shows the Outlook Express application viewing the newsfeed from the Ozibug RSS report.

Back to top
 

Adding the Ozibug RSS report to Netscape is very similar to adding the report to Outlook Express. The steps are outlined below.

From within the Netscape Mail Window select the Mail and Newsgroups Account Settings... option from the top Edit menu bar. Now select the Add Account button and then Newsgroup Account radio button option. This will start the wizard which takes you through adding a news server account.

Answer the wizards questions with your details. When the name of the News Server (NNTP) is prompted for, answer with the localhost localhost or 127.0.0.1 address of your machine. For the Account Name answer with Ozibug. Now finish adding the server which will be displayed in the left hand panel of the main window once the wizard has been dismissed. You can now select the server and then the Subscribe to newsgroups... link.

You will be able to see the Ozibug newsgroup which you can then add to your subscribed list. All the new bugs that are added to your selected module in Ozibug will now show up in this news group !

You can now change the RSS report in Ozibug which you created and the changes will filter through to the group, for example select only the new critical bugs...

The following snapshot shows the Netscape application viewing the newsfeed from the Ozibug RSS report.

Back to top
 

The example shown above uses the nntp/rss application which can map content between RSS feeds and NNTP servers. There are other applications however which can be used to aggregate RSS feeds. The following applications have been downloaded and tested with Ozibug.

  • Amphetadesk

    Cross Platform application written in Perl which acts as a server in the background, aggregating configured feeds and allows access through a browser. Can be integrated into a web site.

  • BottomFeeder

    Smalltalk application available for many platforms, acts as an application and thus has its own display window.

  • NewzCrawler

    Application written for the Win32 platform. Contains many features including aggregation, blogging, posting and serving, etc. A 14 day evaluation is available for you to try before you buy.

  • RSS Viewer

    Java cross platform application. A small footprint application with its own display window.

  • nntp//rss

    Java cross platform application which acts as bridge between RSS and NNTP protocols.

Back to top
 
Back to index