Index: openacs-4/packages/bug-tracker/www/doc/bug-tracker-outline.sql.txt =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/doc/bug-tracker-outline.sql.txt,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/bug-tracker/www/doc/bug-tracker-outline.sql.txt 24 Sep 2002 08:36:39 -0000 1.1 @@ -0,0 +1,116 @@ +-- +-- A "project" is one instance of the bug-tracker. +-- + +-- In SDM: sdm_packages +-- In BT: +create table bt_projects ( + project_id integer references apm_packages(package_id) primary key, + project_name varchar, + description varchar +); + +-- In SDM: sdm_package_admins +-- In BT: assign admin privilege using permissions + + +-- In SDM: sdm_package_releases +-- In BT: +create table bt_versions ( + version_id integer primary key, + project_id integer references bt_projects(project_id), + version_number varchar, -- like apm_package_versions.version_name + anticipated_freeze_date date, + actual_freeze_date date, + anticipated_release_date date, + actual_release_date date, + --other stuff-- +); +-- Versions are global to the project. + +-- In SDM: sdm_modules +-- In BT: +create table bt_components ( + component_id integer primary key, + project_id integer references bt_projects(project_id), + name varchar, + description varchar, + owner integer references cc_users(user_id) +); + +-- In SDM: sdm_module_users +-- In BT: permissions or acs_rels, probably the latter + +-- In SDM: sdm_ticket_status, sdm_ticket_severity +-- In BT: +create table bt_code_types ( + code_type_id integer primary key, + code_type_name varchar, + description varchar, + system_required_p char (t/f) +); + +create table bt_code_values ( + value_id integer primary key, + code_type_id integer, + value_name varchar, + description varchar, + open_p char (t/f), + order_key integer +); + +-- In SDM: sdm_tickets +-- In BT: +create table bt_tickets ( + ticket_id integer primary key, + project_id integer references bt_projects, + component_id integer references bt_components, + ticket_type integer references bt_code_values, + ticket_status integer references bt_code_values, + + expected_completion + original_estimate + latest_estimate + time_used + fix_for_release + + summary + description + desc_format (html/plaintext/preformatted) + + ... + +); + +-- In SDM: sdm_patches +-- In SDM, this is a relationship between a general comment and a ticket +-- supposedly the patch itself is stored as a special comment +-- In BT: Probably something similar, not sure. + +-- In SDM: sdm_ticket_ratings +-- In BT: We'll leave that out for now, but supposedly we could use a modified +-- version of my ratings package from pinds.com + +-- All of the following should be doable with acs_rels of some sort +-- (I'm not too strong in that data model, but I suppose I'll learn over the next few days) + +-- sdm_ticket_assignments +-- sdm_bug_release_maps +-- sdm_user_ticket_interest_map +-- sdm_user_module_interest_map +-- sdm_user_package_interest_map +-- sdm_related_tickets_map + + +-- In SDM: sdm_notifications +-- This seems to be a table to hold notifications until they're actually sent out in batch +-- depending on the user's preferences +-- In BT: We'd probably do something similar. + +-- In SDM: sdm_notification_prefs +-- In BT: +create table bt_user_prefs ( + user_id integer references cc_users(user_id), + ... +); + Index: openacs-4/packages/bug-tracker/www/doc/bug-tracker-spec.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/doc/bug-tracker-spec.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/bug-tracker/www/doc/bug-tracker-spec.html 24 Sep 2002 08:36:39 -0000 1.1 @@ -0,0 +1,369 @@ + + +Bug-tracker Specification + + +

Bug-tracker Specification

+By Lars Pind. +
+ +

Overview

+ +The bug-tracker will be a software tool for tracking bugs and feature +requests for software projects. It will be based on the existing SDM +(don't throw a good thing out), but it will also incorporate great +ideas from BugZilla, Bughost.com, and FogBUGZ. + +

+ +Development will focus on getting a working version up and running +within about a week and a half, and then have a product that we can +incrementally improve on as we have the time and need. + +

Scenarios

+ +

Scenario 1: Tom finds a bug

+ +Tom is using the software and it's not behaving like he thought it +would. He visits the bug-tracker and is greeted with a list of known +bugs in his version of the software (he's previously told the +bug-tracker what version he's using, and this version is being shown +clearly on each page, along with what version is the latest released +version, and which is the current development version). (Had he had +any bugs assigned to him, he would've been greeted with the list of +bugs assigned to him instead.) He drills down the list of known bugs +by clicking on the name of the component that's causing him +trouble. Nope, still not there. He clicks the "new bug" link and +enters the info on the new bug: What he did, what he expected to +happen, what happened instead. His version and the component has +already been filled in. He can upload a file right here, and he can +also upload more files later. There's a checkbox letting Tom choose +whether to get email alerts on all activity on this bug. + +

Scenario 2: Jack maintains a package

+ +Jack gets an email alert saying there's a new bug. He checks out the +bug description in the email and decides that this is worth looking +at. He visits the page, sets the priority to High, assigns it to one +of his trusted slaves, and goes back to the beach. + +

+ +Later, he visits bug-tracker, and is greeted with a list of bugs he's +assigned to. Phew. Then he checks the activity report for the past +week for the bugs he's the maintainer of, whether assigned to them or +not, to see if bugs are getting closed or if they're piling up. He +decides it's time to go squash some bugs. He goes back to the "my +bugs" list, which is already sorted by priority, then user rating +(user rating is going to be in a later version), then date of entry +(descending). Clicks the first, fixes, then hits "Next", fixes, then +hits "Next", fixes ... + +

Other Scenarios

+ + + +

Differences from SDM

+ + + +

Deferred features

+ + + +

Non goals

+ + + +

Page Flowchart

+ +This is the pages there are and how they're related: + +

+ +Bug-tracker page flowchart + +

Workflow (A Bug's Life)

+ +We have separate STATUS and RESOLUTION codes. Possible STATUS codes are: + + + +Here's what the workflow looks like in ACS Workflow Petri Net style: + +

+ +Workflow for bug-tracker + +

+ +We will not, in this version, bother with triage and QA steps. The +submitter of a bug is also the person to close that bug. The +maintainer of the project or component is the first assignee, and +takes it from there. There is no unassigned state. + +

+ +BugZilla has many more status +codes. For example they have a confirmation step, in which it's +checked that the bug is "a true bug". They have a status to say that the bug +has been assigned. They have a special "reopened" step. And they have +a "Verified" step, and only allow the bug in "Closed" when the release +in which the bug has been fixed has actually shipped. We won't go +there in this version of the bug-tracker. + +

+ +The RESOLUTION code to one of the following: + +

+ +Again, BugZilla is more rigorous than most: They have an "invalid" +resolution step, with the comment "the problem described is not a +bug". I don't think we need this -- if it's not a bug, tell us what it +is: By design, not reproducable, or some other reason? + + +

Other Bug Classifications

+ +

Type of bug (hard-coded)

+ + + +

Severity (can be modified)

+ + + +

Priority (can be modified)

+ + + + + +

Pages

+ +

Main Navigation

+ +There's a navigation bar which is present on all pages in the +bug-tracker, and contains links to: + + + + +

Index page: Ticket list

+ +(Mock-up) + +

+ +The index page of the package is the ticket list page. The ticket list +page displays a list of tickets in a combination of Google style +and webmail style, i.e., each bug is displayed like this: + +

+ + + + + +
+ + + + + +
  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+
+
+ +

+ +It's Google, because each bug takes up several lines, and information +is shown "organically" for each bug. It's webmail, because each bug +has a checkbox next to it, which can be used for bulk operations. + +

+ +Tickets are shown 20/50/100/200 per page, and you can page browse +through them like in a typical web mail interface. + +

+ +Predefined filters include: "My bugs", "Open bugs in the current +version", "All bugs in my version", "Open bugs that I'm the maintainer +of", etc. + +

+ +You can enter what version you're using, so that it defaults to +that version when you're entering bugs and searching for known +bugs. The version you've selected will be displayed very clearly on +each page. + +

+ +The ticket list page can be scoped to one component. The contents will +look just the same and you can use the same filters, only everything +will be scoped to the component you selected. When you submit a bug +from inside a component level, the component name is already filled +out and cannot be changed. + + + +

Enter New Ticket

+ + + +

View Ticket

+ +When viewing a ticket, you have the usual webmail operators: +First/Last/Next/Prev. + + +

Upload Patch

+ +

Patch List

+ +

Search

+ +

User Preferences

+ +

Project Administration

+ +

Define Filters

+ +A later version will allow users to define their own filters. It would +be cool if users could also exchange filters with each other, and +perhaps an administrator can manage the set of predefined filters +available to everyone. + + +
+
lars@pinds.com
+ + \ No newline at end of file Index: openacs-4/packages/bug-tracker/www/doc/flowchart.jpg =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/doc/flowchart.jpg,v diff -u Binary files differ Index: openacs-4/packages/bug-tracker/www/doc/mockup-index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/doc/Attic/mockup-index.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/bug-tracker/www/doc/mockup-index.html 24 Sep 2002 08:36:39 -0000 1.1 @@ -0,0 +1,335 @@ + + +Bug-Tracker + + + + +

OpenACS Bug-Tracker

+Home : OpenACS Bug-Tracker +
+ + + + + + + + +
+ Your version: 4.3 | Latest: 4.5 + + + + + +
+ List |  + New Bug |  + Search |  + Filters |  + Patches |  + Prefs |  + Project admin |  + +
+
+ +

+ + + + + + + + +
+ 210 Open Bugs
+ 1398 Closed Bugs +

+ Open bugs summary: +

+ + + + + + + + + + + + +
+ Fix for +
+ Undecided + + 15 +
+ 4.5 + + 92 +
+

+ + + + + + + + + + + + +
+ Priority +
+ 1-Must fix + + 15 +
+ 4-Fix If Time + + 92 +
+

+ + + + + + + + + + + + +
+ Assigned To +
+ Don Baccus + + 823 +
+ Jack Cameleo + + 2 +
+

+ + + + + + + + + + + + + + + + + + + + +
+ My Filters +
+ My Bugs + + 13 +
+ Open bugs my version + + 12 +
+ Open bugs latest version + + 2 +
+ Open bugs my components + + 8 +
+

+ +

  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Filter: All open bugs assigned to Jack Cameleo +
+ Result Page: 1  2  3  4  5  Next > +
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

  + #1932. This is the bug summary line
+ Here's the more complete description, which can at times be very long, so it'll + be abbreviated, cut off after a certain number of characters (HTML stripped ...
+ Component: Rendering engine - opened 3/15/2002
+ Priority: 1 - Must fix / Severity: 3 - major
+ Assigned to: Jack
+ OPEN (fix for version 4.5 (4/1/2002)) Est: 6 hrs
+

+

+
+ Assign selected bugs to
+ Mark selected bugs for fixing in version
+ Set priority of selected bugs to
+ Set severity of selected bugs to
+ +
+ Result Page: 1  2  3  4  5  Next > +
+
+ +

+ + + + + + + + +
+ Your version: 4.3 | Latest: 4.5 + + + + + +
+ List |  + New Bug |  + Search |  + Filters |  + Patches |  + Prefs |  + Project admin |  + +
+
+ +


+ +
admin@yourdomain.com
+ \ No newline at end of file Index: openacs-4/packages/bug-tracker/www/doc/workflow.jpg =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/doc/workflow.jpg,v diff -u Binary files differ