Idea/rfc: planner / bug tool / code map



What if you had a bug tracking system (like Request Tracker) that keeps
a log of a bug-ticket, as well as a set of meta-data concerning the
report.  I'm thinking of a client/server architecture, where the BTS
answers HTTP and/or SOAP or REST requests (perhaps via
Apache/mod_perl)...  Or maybe it uses CORBA, or maybe d-bus... and
certainly it should support both an IMAP and ical port.  Maybe it should
have a Wiki or interact with one...

It will then be interfaced with Anjuta, Planner, GnuCash, and Evolution
in some useful way by some magical means.  With the BTS integrated into
the IDE, utilizing it will become a more natural part of the daily
workflow of a well trained software developer.  If, in Planner, or
Evolution Calendar, or..., clicking a task-view associated with some
object brings you to a display / control for that object...

One possible such object is the one for the bug tracking system user
interface...  I'd like to read and manage bug report communications in
Evolution, via an IMAP connection to the BTS server.  I want to annotate
bug reports and communicate with the reporter.  The bug-ticket display
will be a specialized view containing form elements, after the fashion
of Request Tracker's HTML view or the already-in-evolution vCard
views...  SchoolTool is looking pretty good; it has a beautiful
interface.  LaunchPad is interesting...  (This might be the droid we're
looking for.)

I want the same system to be useful for my business communications as
well, with only subtle differences between a business ticket and a
Bug-ticket.  For this reason (and others) it should link in some useful,
magical and yes, perhaps, even extensible way to GnuCash (QOF) and
specific accounts and transaction types or instances...  In fact, we
should really think in terms of the applications being components of an
ERP system.  (tiny-erp is nifty looking.)

I envision it automatically creating and managing dynamic calendar marks
and to-do items for keeping a time-line on bug tickets, perhaps
according to some configurable set of rules per bug-ticket queue.  With
a "source code map" visually related to the Gantt chart (and calendar)
time-line, and pop-up annotations that can link a specific version of a
source file to an annotation and vise versa...  

A bug or sales ticket will create a task and/or annotation on a planner
sheet, which will show up in the Gantt chart.  It should contain
associations with the ticket owner and other BTS persona.  Whether the
bug should create a task in the planner and with what parameters will be
defaulted to some configured value, or set via the BTS user interface.
The Planner user interface will be used to manipulate the relevant
aspects of the bug.  Yous can only do one thing at a time each...  This
will be used to plan time commitments and work assignments regarding
handling a bug-ticket.  The Gantt charts, calendars, time-lines, and
email-like interface to the BTS will provide a more natural view of
where yous stand with regards to work in progress and other bug-ticket
status.  It should be use-able in a (micro)manager-free peer-to-peer
work-share environment.

I want Doxygen-like code maps of software systems with call graphs, UML
diagrams, hyperlinks into BTS, Planner charts, gitweb + Linux Cross
Reference ...  but more available by being right there in Anjuta/Dia
with real GUI not "fake HTML form" GUI; part of the code browser.

The messages read from the BTS via IMAP should be displayed in some well
organized fashion.  The BTS IMAP server will arrange them according to
some folder hierarchy, and then sort them nicely.  Within Evolution,
they should thread.  Maybe folks can think of other nice ways to arrange
them, according to X-header meta-data in the bug-ticket 'email'.  The
BTS plug-in will add some commands with UI bindings used to manipulate
meta-data concerning the bug.  A design issue is whether the meta-data
belongs on the IMAP stream or aside via SOAP or something?  You tell me
and we'll both know.

Perhaps Evolution email filters should allow hierarchies of virtual
folders... and even to hang vfolders under real ones, sort of grafted
into the tree the server is aware of.  Tickets marked various ways ought
to be displayed accordingly.  It should be easy to set status and other
fields for a bug or sales ticket.  Right after a change is made and
committed, all other viewers of the folder should see it update.  That
may imply polling or triggered messages, so maybe Jabber...?  What's the
best way to communicate work-flow events assuming multiple distributed
users?  d-bus events will help interfaces refresh, but what about notice
from a server like the envisioned BTS?  Again, YTMAWBK -- I'm still in
college.

I want to make annotations that have a link from both specific points in
Evolution, GnuCash, Anjuta, and other applications.  Those little
brightly colored "sign here" post-its arrow label things are not bad...
but I want to make and manipulate them anywhere and each application
should somehow be aware of those annotations for some useful purpose.
Ever goof with Visio hyperlinking?

An almost WikiLike link-and-click-ability between the views is what I'm
looking for--- perhaps it should be free-form and even user-extensible,
though some structure should be available embodied in the organization
of the tickets, their attachments, and meta-data...  Mechanism, not
Policy... offer a few policies?  Find patterns, groupings, and other
features that emerge from the information using some sort of advanced AI
or employee-written annotations and Dublin core?

But not just textual annotations, perhaps, but relationships between
objects in different applications...  I want it to be as natural as
drawing a diagram in Dia or what have you, and to link things like you
can link the bars in the gantt chart of Planner.  When I make a
transaction in GnuCash (QOF), I want it to be able to trigger work-flow
events in other components of the system.   

To select and draw the objects together using GUI gestures then explain
what they are via a diagramming / text editor with WikiLinks would be
amazingly nifty.  To be able to program inter-application collaborations
like that... I mean, link them visually and then describe the work-flow
to it in some way, to create arbitrary constellations of
intercommunicating applications.   WiKid --- sort of the LabView of
Gnome ERP, POS, BTS.

All of the meta info about documents and annotations made on files from
within Anjuta, messages, events, person records in Evolution, or
transactions, lots, or accounts and what have you in GnuCash... -->
enough information is available to restore relevant state-environment
for sub-session after click of WikiLink to some object's view... beagle
sniffing a Dublin Core?

(annotation stored off-to-the-side, overlaying the real file contents,
perhaps; n-way merge of annotations made by any of several developers or
sales people?)... should be able to contain ClickLinks from code to BTS
ticket view (in Evolution) and back again.

Wow, this is insane!  It will need a hyper-visor!  We're consing now.
What if we all pulled our WikiPedia through the same proxy, and it had
annotation overlay capability plus a rating and referral system so that
we can rate page views to see what students are reading about (only on
specific URL sub-trees; WikiMedia etc) and to make it so you can easily
direct someone to a Wiki page...  Ok, so WikiMedia, or this Anjuta /
Evolution / GnuCash / GnomeAnything+X can all click-link and hook up
like WikiWare, then we document it, GPL it, and sell it.


GMTA/YTMAWBK
-- 
Karl Hegbloom <hegbloom pdx edu>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]