TagFlow is a Tag-oriented workFlow Rails application. Think of it as Bugzilla or any other bug/task/ticket tracker without the predetermined structure. The inspiration is Bugtracking in the new millenium: how to build a better mouse..err..bug trap. (This project, its errors, the developer's cluelessnes and over-commitment, etc., is entirely my doing. I'm just giving credit for an excellent articulation of the solution requirements where it is deservably due.)
The users determine the structure through tags, e.g., project name, problem type, planned release or due date. The only built-in structure is open/closed tasks and task dependencies.
Features
Tags can have values, e.g. "release:0.5" or
"due:2007-12-31". Tasks and comments can have
tags. Only tasks that match the select field are listed.
The developer's current tag selection criteria is
"TagFlow+release<=0.5", i.e. tasks for the
TagFlow project that are/were due in release 0.5 or before. The
listed tasks are sorted by the order field. A typical
developer's order is "bug test usecase refactor
optimization", i.e. bugs first, optimization last.
The only built-in structure is closed tasks and task
dependencies. Normally closed tasks are not listed but included
the "closed" tag in a search will show just closed
tasks. (Adding "(closed !closed)" to the search
string will show both closed and open tasks. Dependent tasks
are always listed after the dependencies.
Tags can invoke code written in Ruby. These hooked tags are of
the form tag. The possible actions
are:
create — on task creation, a new taskupdate — on task editclose — when an open task is closedreopen — when a closed task is
reopeneddestroy — when a task is deleted
In addition to the inherent workflow possibility of tags (e.g.,
"assigned:Jeff" there is an "for" tag
that allows sending a e-mail about a task to any one. The value
can be an application user's login name or an e-mail address.
(All users must supply a valid e-mail address when signing up.)
In combination with hooks, anyone can be notified via e-mail
when an action is taken on a task, (e.g.,
"create_for:jeff" e-mails jeff when the task is
created).
Internationalization is already built-in with the Globalite plugin. Development is in English with pidgin Spanish translations (developer's self-study and Babelfish). Additional translations are welcome.
RoadmapYou can expect TagFlow to work in environment similar to the developer(s). The goal is for the application to work in any Rails environment, but that testing is yet to be done.
The principal developer (Jeff) is a typical geek, concerned with
correctness and clueless about aesthetics and graceful Web site
interaction. If you can give help, suggestions, feedback,
please e-mail him at jeff.taylor@ieee.org.
The principal developer (Jeff) is experienced, very good, and over committed. If you can give him a hand, it would be welcome.
The principal developer (Jeff) is only fluent in English. He is
slowly acquiring Spanish as a background task. The existing
Spanish translation is rough, literal, and decidedly not
idiomatic. It claims to be the Spanish of Spain (i.e.,
"es_ES" locale), don't take that too literally.
Correct translations should be ascribed to Babelfish, errors should
be blamed on and communicated to Jeff. Translations of
other languages and corrections of the Spanish are welcome.