Zim

Use Case: Distributed Bug Tracking

Bug #1183890 reported by edtate
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Zim
Confirmed
Wishlist
Unassigned

Bug Description

A use case for Zim is a wiki and issue tracker for distributed project development.

Description:
* A project directory is setup with a subdirectory for zim
          /project
             /zim-for-wiki-and-issues
             /code
             /everything-else-in-the-project
* The project is put under revisions control using Mercurial (could be another DVCS)
* The zim wiki is created in /zim-for-wiki-and-issues
      * the task plugin is enabled
* Zim manually initialized
     * an issues page is generated
     * a template page for new issues is added

* Workflow for issues
      * When a new issue is added the following steps are followed:
          * A new item is added to a checkbox list on the issues page. The new item consists of a link to a new page which is located under the issues page. The link contains a uuid to ensure that merged issue lists have unique issues.Tags are added to the description to categorize the issue. For example a new bug is entered as:

                [ ] [[+1ff8c260-c48f-11e2-bc3c-0002a5d5c51b Sort does not work with last element]] @bug

            * To enter details on the bug, a template page is opened and copied into the text buffer. The link is then selected. The template is pasted into the new page and details are filled in.

      * When closing an issue, the the version id for change is added to the page so the change that closed an issue is tracked. In Mercurial, this is done by copying the hash for the changeset, then adding it to the details page for the issue.

      * During development, notes are added to the issue page.
      * When closed, the check box is selected.
      * Changes to Zim are committed with the project. This allows:
              * page revisions, changes, change owners are tracked via the DVCS
              * issues which are part of a branch are tracked with the branch. If the branch is abandoned, all of the changes are

Features requests that would be useful to improve the workflow:
* ability to sort a list of checkboxes so that as issues are closed, they can be moved down to the bottom of the list
* ability to interpret a page as a form when opened by a link, ability to default to a template if a link is opened on an empty page
    * Possible workflow: if a page has a tag (?? @isaform), then when opened via a link, it will present a form which is defined by the contents of the page or a default template. For example
         top level page is 'Issues'
         a sub-page is '__template__'
         the contents of '__template__' is

                Description:
                Assignee:
                Priority:
                Category:
                ----
                @isaform

         If a new relative link is added to the 'Issues' page, then if the link is selected, the template will be added to the page and a form will be opened with a field associated with each item.
* Figure out how access Zim from Hg Workbench so the bug tracking can be used directly (See bug-everywhere and BEurtle). I have no ideal how to do this, but it would really be useful!

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote : Re: [Bug 1183890] [NEW] Use Case: Distributed Bug Tracking
Download full text (4.2 KiB)

Sounds like an interesting idea. I think you can make most functionality
already as a plugin without to much work.

The plugin could add 2 toolbar buttons, one for opening a new issue and one
for closing an issue.
The open button would create the new id and fill the template.
The close button would update the page and flag it as closed.

I would not recommend using a page with checkboxes to track the overview.
Rather I would add a custom dialog that gives the overview of all bugs, so
like the tasklist but with slightly different fields and filter options.

Regards,

Jaap

On Fri, May 24, 2013 at 6:36 PM, edtate <email address hidden> wrote:

> Public bug reported:
>
> A use case for Zim is a wiki and issue tracker for distributed project
> development.
>
> Description:
> * A project directory is setup with a subdirectory for zim
> /project
> /zim-for-wiki-and-issues
> /code
> /everything-else-in-the-project
> * The project is put under revisions control using Mercurial (could be
> another DVCS)
> * The zim wiki is created in /zim-for-wiki-and-issues
> * the task plugin is enabled
> * Zim manually initialized
> * an issues page is generated
> * a template page for new issues is added
>
> * Workflow for issues
> * When a new issue is added the following steps are followed:
> * A new item is added to a checkbox list on the issues page. The
> new item consists of a link to a new page which is located under the issues
> page. The link contains a uuid to ensure that merged issue lists have
> unique issues.Tags are added to the description to categorize the issue.
> For example a new bug is entered as:
>
> [ ] [[+1ff8c260-c48f-11e2-bc3c-0002a5d5c51b Sort does not
> work with last element]] @bug
>
> * To enter details on the bug, a template page is opened and
> copied into the text buffer. The link is then selected. The template is
> pasted into the new page and details are filled in.
>
> * When closing an issue, the the version id for change is added to
> the page so the change that closed an issue is tracked. In Mercurial,
> this is done by copying the hash for the changeset, then adding it to
> the details page for the issue.
>
> * During development, notes are added to the issue page.
> * When closed, the check box is selected.
> * Changes to Zim are committed with the project. This allows:
> * page revisions, changes, change owners are tracked via the
> DVCS
> * issues which are part of a branch are tracked with the
> branch. If the branch is abandoned, all of the changes are
>
>
> Features requests that would be useful to improve the workflow:
> * ability to sort a list of checkboxes so that as issues are closed, they
> can be moved down to the bottom of the list
> * ability to interpret a page as a form when opened by a link, ability to
> default to a template if a link is opened on an empty page
> * Possible workflow: if a page has a tag (?? @isaform), then when
> opened via a link, it will present a form which is defined by the contents
> of the page or a default templat...

Read more...

Changed in zim:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Robert (pv-ubuntuone) wrote :

I like the idea of tracking issues (and documentation) within a project using zim.

I can think of a grand and lofty way of doing this using guids and fundamental zim changes... but (IMO) the best cost/benefit approach (read easy yet effective) would actually not even require a plugin.

That is, to try splay out the *workflow* of the bug, and sacrifice individual identifiers.

Suppose you had bob and alice working on issues with the following workflow:
* NEW -> CONFIRMED -> IN_PROGRESS -> COMMITTED -> CLOSED

I think a zim+src layout might look like:

/ -- the project root is also the zim root...
/.git -- b/c git>hg , and docs+issues linked to current state
/.zimignore -- /src ? Or could it be okay to link zim pages into the source code?!?
/src -- probably a hazard if auto-saving;
/docs/HowTo/FileaBug -- b/c let us not kid ourselves, this is a bit strange... is also a zim page :docs:HowTo:FileaBug
/issues/new/VeryTerseTitle <-- generally okay to accept merges with new entries in /issues/new (absent large attachments), but noob questions can be dealt with directly in the forum that the patch/merge is presented
...
/issues/Confirmed/Future/CantPrintFromZim
/issues/Confirmed/Plugin/AttachmentBrowser/NoDeleteOption
...
/issues/InProgress/alice/SomethingAliceIsWorkingOn
/issues/InProgress/bob/BobsSpecialInterest
...
/issues/Committed/Plugin/Journal/AddContextMenu
..
/issues/Closed/Visual/NewIconForUnderlineBecauseItHighlights

-

Most of the "tracking" work, then, is actually moving pages around; and most of the 'history' work is following implicit git move/rename/annotate paths.

IMO, if such a layout were to include any non-trivial organizational depth, it would be feasible only after:
* https://bugs.launchpad.net/zim/+bug/1674785
** (so that you can easily keep any organization hierarchy when moving bug report pages that differ only by one path segment)

Other hazards?
* broken links wherever these pages are hosted, whenever pages are moved about

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.