SimpleTaskManager

From OpenStreetMap Wiki
Jump to navigation Jump to search
SimpleTaskManager
Simple-task-manager v1-6-0.webp
Author: Hauke Stieler
License: GPL v3 (free of charge)
Platform: Web
Version: 1.6.0 releases (2024-08-14)
Languages: English, German, and Spanish
Website: stm.hauke-stieler.de
Source code: GitHub
Programming languages: TypeScript, Golang, Bash, and Docker

Simple and easy to use task manager for collaborative mapping in OpenStreetMap.

The Simple Task Manager (also SimpleTaskManager or STM for short) aims to be a simple structured, easy to use and general purpose tasking manager for OpenStreetMap.

A region on the map (called project) can be divided into sub-regions (called tasks) which can be assigned to a user. This assigned user can then work on a task and specify how far the task is done. This is done via process points: E.g. settings 4 of 10 possible process points says "this task is about 40% done" but it could also mean specific things like "4 of the 10 stores in this task have been surveyed".

Usage

You can use the free available instance on https://stm.hauke-stieler.de/. Login with your OSM account and you're ready to go.

Self-hosting

See the documentation of the project for instructions on how to set up your own instance of STM.

Project creation

As soon as you logged into STM (you need an account on osm.org for that), you see a list of all project you are a member of and also a "Create project" button.

To create a project you need to do two things:

  1. Add data of your project (name, description, etc.)
  2. Add tasks to your project

Add project data

After clicking on "Create Project", you'll see a map and on the right side some input fields:

  • Name: The title/name of the project (required)
  • Max. points per task: Number of process points (s. above) that can be set on each task (reqired)
  • Description: Some describing words and further information on the project (optional)

Create tasks

After adding project specific data, you need to add at least one task to your project. On the right side of the map, you have several controls to draw, edit and remove tasks (hovering over one of the buttons shows a describing tooltip).

From top to bottom:

  1. Plus button: Zoom in
  2. Minus button: Zoom out
  3. Pen: Draw a new task
    1. Tip: Douple-click or click on the first point to finish your polygon.
  4. Marker: Edit a task (adding new edges to a task)
  5. Bin: Delete a task by clicking on it

Divide polygon into smaller tasks

Each task can be subdivided into several smaller tasks.

  1. Go to the tab "Tasks"
  2. Click on a task in the list
  3. In the section "Subdivide:" you can specify the output task and size of each new task
  4. Click on "Preview" to get an idea how the result might look like
  5. Click on "Divide" to actually create these tasks
    1. Important: The original task will be removed permanently!

Load tasks

It's also possible to load tasks from various sources:

  • local files (from your computer)
  • exported projects
  • copy tasks from existing projects
  • remote files (from a web-server)
  • overpass

Each polygons or multi-polygons in the data will be considered as one task. If your file or overpass-result contains other things like a line-string, STM tries to convert it into a polygon but this might not always work. Manually editing the file and making sure hat only (multi-)polygons exist is the safest way.

When a feature in a file has the property "name" set then the resulting task in STM will have this name, which is shown instead of an technical ID.

Supported file-formats are: GeoJSON, GPX, OSM-XML, EsriJSON, KML and WKT

Local files

The tab "Import" offers you the possibility to upload a file from your computer. Just click on the "Upload file" button and select a file to upload.

From exported project

The tab "Import" offers you the possibility to upload tasks from an previously exported project. Just click on "Upload project" to upload you project file. Each imported task will be empty, so no process points or assigned users will be set.

Copy from existing project

In the tab "Import" you can import tasks from an existing project. Just select the project in the list and click on "Import".

Remote files

The tab "Remote" offers you the possibility to load remote files from a webspace into STM. They must of course be publicly available via HTTP/HTTPS (from some web-storage, GitHub, Pastebin, cloud service, this wiki, .....). Make sure no login, extra button-click or anything else is needed to access the file.

  1. Paste the URL into the URL input field
  2. Click on "Load"

From Overpass

The tab "Remote" offers you the possibility to load polygons from overpass:

  1. Create your query in overpass
    1. Important: The default overpass JSON format is not supported! Use OSM-XML as output format, so the out parameter should be set to xml (like in the example at point 3.1 below): [out:xml]
  2. Click on "Export"
  3. Copy the link after "raw data directly from" (right click and "copy link")
    1. Example URL: https://overpass-api.de/api/interpreter?data=%5Bout%3Axml%5D%3B%0Aarea%2..... (see example query)
  4. Switch back to STM and paste this URL into the URL input field
  5. Click on "Load"

Loading may take a while and depends on the availability/performance of overpass.

Add/edit task properties

Currently each task can have one property: A name, which is shown later in the task list instead on an technical ID.

  1. Go to the tab "Tasks"
  2. Click on a task in the list
  3. In the "Properties:" section there's a field for the name
  4. No saving needed

Work on a task

When working alone on a project, no user assignment to tasks is needed. So the "assign/unassign" section can be ignored for such situation.

When two or more people are working on the same project, a task must be assigned to one user for editing and can also just be edited by this one user.

Assign/unassign

When a project has at least two members, each member has to be manually assigned to a task. Only the assigned member can change the tasks process points.

  1. Select a task (via the list or directly on the map)
  2. Click the "Assignt to me" button to do assign yourself to the task

Only you can unassign yourself from a task by clicking the "unassign" button.

Update process of a task

Updating a tasks process is done via process points, which can only be set by the user who is assigned to a task. If you are this lucky user, then you see an input field and a "Save" button to update the process points of that task.

Open task in an editor

Currently only the JOSM editor is supported and the button "Open in JOSM" will open the currently selected task in JOSM.

Important: JOSM must run and must have the remote control settings enabled.

When JOSM loads the task, there's also the task polygon shown. To avoid conflicts, don't edit things outside of this polygon as this may be part of another task.

When uploading two hashtags are pre-set (#stm and #stm-project-... with the project-ID), so for example: #stm #stm-project-42 followed by the actual changeset comment. This enables filtering e.g. by the changeset filter from Pascal Neis.

Add comments

Projects and tasks can have comments. They work just like a normal chat.

Comments on tasks

On each task there is a letter-icon leading to the comment section of the respective task. There's also a tab "comments" next to "list", which leads to the comments of the currently selected task.

Write comments and hit the "send"-button (lower right corner) or press Ctrl+Enter.

Comments on projects

In the top row of tabs, there is "comments" for project-wide comments.

User management

The owner of a project (the user who created the project) has the permissions to add/remove users. Next to the "Tasks" tab, there's the "Users" tab providing an input field to that. So just type in the username and click "Invite".

Important:

  • The user name is case sensitive, so the name "mapper123" and "MAPPER123" are different users
  • The user needs at least one contribution (note or changeset) to be found. This is because the OSM API has a mapping-API from user ID to user name but not from user name to user ID.

Project settings

When going into the tab "settings", you can do the following things:

  • Delete the project: This is permanent and cannot be reversed! Make sure you create a backup first (s. below).
  • Export: Downloads the project, see below for details.
  • Change the name of the project
  • Change the description of the project
  • Change the default data source when opening a task in JOSM. Choose between "OSM" (loading data directly from the OSM-Server) or "Overpass" (loading the data from the Overpass-API). The latter one has the advantage to not load a rectangle and might be better suited for large and/or oddly shaped tasks.

Export/Import of projects

You can export and import projects for e.g the following reasons: Manual backup creation, migrate to a different STM instance, copy a project, etc.

Export

To export a project, do the following:

  1. log into STM
  2. open the project you want to export
  3. go to the "Settings" tab
  4. click on "Export"

You now can save the project to your local computer as a simple JSON file.

Import

To import a project, do the following:

  1. log into STM
  2. click on "Import project" (next to the "Create project" button)
  3. select the file on your local computer

The project will now be imported with all users, assignments, process points, etc.

Shortcuts

Since 1.4.0 some shortcuts are possible. Shortcuts do not work, when any kind of input field is focused (usually visible by a colored border around such field).

Project creation

When creating a project, some shortcuts for the drawing tools can be used:

Shortcut Effect
d Enabled/Disabled the 'draw' button.
shift + d Enabled/Disabled the 'delete' button.
d Enabled/Disabled the 'edit' button.
escape Disables the currently active button.

Task list

In the task list (the default view when opening an existing project) some shortcuts managing the current task are available:

Shortcut Effect
a Assigns the current user to the task (same effect as the 'Assign'-button).
shift + a Unassigns the current user from the current task (same effect as the 'Unassign'-button).
d Marks a task as done (same effect as the 'Done'-button).
j Opens the current task in JOSM.
i Opens the current task in iD.

Comments

The comment view is equal for tasks and projects.

Shortcut Effect
ctrl + enter Send the comment.

See also