Bugtracker proposal

From OpenStreetMap Wiki
Jump to: navigation, search

Contents

Bugtracker Proposal

This is a proposal for a possible successor of openstreetbugs after merging it into the osm infrastructure.

Rationale

With more and more places being "finished" the mapping work changes from adding new areas to correcting and updating existing places. This makes it neccessary to be able to mark errors on the map or to mark locations that require updates. Finding errors or requesting updates does not require any special mapping skills and no equipment. So, every user of osm can easily contribute to it. However, this makes it neccessary that the software to do these tasks is web-based and very easy to use.

There is also a need amongst mappers to put some form of todo-items in the database. At the moment mappers use nodes or ways in special spatial arangements or with note-tags attached to keep track of things like continuing streets which needs mapping or areas that need work. No consensus or documentation exists which clarifies the meaning of these markers.

Current State

Since april 2009 there is a modified version of OpenStreetBugs, more information can be found at User:Emka/new OSB.

A tool called Openstreetbugs made the beginning. It allows users to place error markers with short descriptions on the map. It is possible to add comments to an error and to mark an error as fixed. Fixed errors are deleted after a week. Openstreetbugs does not request any email addresses from bug reporters nor does it have some user management.

Openstreetbugs can be used directly from JOSM with an Openstreetbugs plugin. This plugin offers basically the same functionality as the website but integrated into JOSM. The plugin parses the javascripts returned from the openstreetbugs web application.

Openstreetbugs proved very useful for both applications but over the time it became clear that an integration on the main osm website is desirable and that some more features are needed.

Beginnings of an attempt to integrate OpenStreetBugs into the main page are available on the dev server. It is still in the planning stage and the features it will support in its first version haven't been finalized. It will probably be very similar to the current OSB though.

Required Additional Features

Use-Cases

Here are some use cases to demonstrate the application of a bugtracker:

  1. Paul finds an error while browsing the map to plan a cycle trip. He likes the error to disappear but he is not a mapper and appart from this he is busy planning his cycle trip.
  2. Carla has been out to map her neighbourhood and is now back at the computer to enter the data. Since she wants to continue mapping next week she took notes whereever a street branched off her route and she did not follow it. She now likes to enter these notes with the map so that she and other people know that there are things missing which will be added soon.
  3. Mark lives in an area which is already completely mapped. However, he has some time at hand and want to contribute to the map. Since he has no gps receiver he can only do limited mapping. He wants to have map with locations of open bugs where he can go to and check names and add POIs.
  4. When Mark comes home he adds his corrections to the database and wants to mark the bugs as closed.
  5. Mark also noted that one of the bugs was not actually a bug and everything was fine.

Procedures

Map-Errors

  1. The error is noticed and an osb is created.
  2. Notifications for a new bug in the area are sent to people interested in this area
  3. Someone decides to fix the bug.
    1. The bug can either be dealt with straight away (go to step 6)
    2. or some more information needs to be collected
    1. The data has been collected (go to step 6)
    2. There is no bug => the bug is wrong and will not be fixed.
    3. There is indeed a bug but it is not fixable at the moment.
  4. The database is updated. The bug is fixed
  5. Optional: a user is not happy with the resolution and reopens the bug

To-Do-Items

  1. Create a to-do item and explain what needs to be done and who is doing it
  2. Collect the information
  3. Enter the data
  4. Close the item as completed

Components of a Bug Report

The bug-tracker keeps a history of every bug. So, whenever a value is changed or an annotation is made a new revision of the bug is created.

User-Interfaces

The bug-reports database should be kept separate from the user interface and only provide an api to add, change and search bugs.

Web-based Interface

Next to the view tab on the openstreetmap-page is an "Report Errors" tab. Clicking on this tab shows the same map area as the view tab. Above the map is a small text explaining how to add a bug and button to unfold a filter-dialog.

Adding a New Bug

Click on the + button and then somewhere on the map to create a bug at this position. I dialog pops up, asking for:

If the user chooses to annotate the bug the dialog changes into one with a text window that allows wiki style mark-up and an file upload form.

After pressing okay the bug is placed on the map.

Viewing Bugs and Updating Them

Existing bugs are displayed on the maps. Their appearance could different depending on classification and state. To only view specific bugs the user can click on filter to open a dialog which allows to speficy bug reports by:

After configuring the filter the display is updated.

To view details of a bug the user can click on a bug in the map and a dialog pops up that displays the details of the bug. If the user is logged-in he/she can update and the bug report. There is also a link to add an annotation which can be used by everyone.

Personal tools
Namespaces
Variants
Actions
site
Toolbox