Giter Club home page Giter Club logo

osm-tasking-manager's Introduction

Deprecated

This repo is now deprecated in favor of osm-tasking-manager2

OpenStreetMap Tasking Manager

About

OSMTM enables collaborative work on specific areas in OpenStreetMap by defining clear workflows to be achieved and by breaking tasks down into pieces.

The application is written in Python using the Pylons framework.

Dependencies

OSMTM has a set of dependencies that you need to install first.

On debian systems you can do:

sudo apt-get install build-essential protobuf-compiler libprotobuf-dev libgeos-dev python-dev

On OS X you can do:

brew install protobuf geos

Installation

First clone the git repository:

git clone git://github.com/hotosm/osm-tasking-manager.git

Update and load the submodules:

cd osm-tasking-manager
git submodule update --init

Installing OSMTM in a Virtual Python environment is recommended.

To create a virtual Python environment:

wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.tar.gz
tar xvzf virtualenv-1.8.tar.gz
python virtualenv-1.8/virtualenv.py --distribute --no-site-packages env
rm -rf distribute-0.6.28.tar.gz
rm -rf virtualenv-1.8*
source env/bin/activate

To install OSMTM from source (the only option at this point) in the virtual Python environment execute the setup.py script:

python setup.py install

Edit the development.ini file and change the admin_user variable to match your OSM username.

Run OSMTM

To run OSMTM the easiest is to use pserve:

pserve --reload development.ini

Installation as a mod_wsgi Application

Edit the production.ini file and change the admin_user variable to match your OSM username.

Install and enable mod_wsgi module in Apache:

sudo apt-get install libapache2-mod-wsgi

Create a new Apache config file with the following:

# Use only 1 Python sub-interpreter.  Multiple sub-interpreters
# play badly with C extensions.
WSGIPassAuthorization On
WSGIDaemonProcess OSMTM_process user=ubuntu group=ubuntu processes=1 \
   threads=4 \
   python-path=/home/ubuntu/osm-tasking-manager/env/lib/python2.7/site-packages
WSGIScriptAlias /OSMTM /home/ubuntu/osm-tasking-manager/env/OSMTM.wsgi
WSGIRestrictStdin Off

<Location /OSMTM>
    WSGIProcessGroup OSMTM_process
    WSGIApplicationGroup %{GLOBAL}
</Location>

You may need to adpat the user, group and paths values.

Create a new OSMTM.wsgi in your virtual env directory with the following:

import sys
sys.stdout = sys.stderr

from pyramid.paster import get_app
application = get_app(
    '/home/ubuntu/osm-tasking-manager/production.ini', 'main')

You can then test config and restart Apache. Your application should be available at http://host.domain/OSMTM

You may also need to enable CORS. See http://enable-cors.org. Add the following to your virtual hosts:

Header set Access-Control-Allow-Origin "*"

Styles

The CSS stylesheet are compiled using less. Launch the following command as soon as you change the css:

lessc OSMTM/static/css/main.less > OSMTM/static/css/main.less.min.css

Run Tests

To ensure your build is working properly run the tests (in active virtual env):

nosetests

Upgrade notes

Database versions are now managed using Alembic. The following commands should help upgrading the database.

Don't forget to make copies of your db file before running any upgrade.:

alembic upgrade head

Note: Please contact the maintainer if you encounter problems.

osm-tasking-manager's People

Contributors

dodobas avatar dvenza avatar elemoine avatar garnertb avatar mxfh avatar oeon avatar pmauduit avatar schuyler avatar snkashis avatar tonio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osm-tasking-manager's Issues

adding a user as an admin causes an error

If as an admin you go to a users profile and check the admin box and "Apply Changes" currently an error is thrown.

This is with the latest release with the UI enhancements.

tiles shared between jobs

This morning, while creating a new job, I found that the tiles for the antepenultimate job were shared with the last created one.

A user should not get tasks for validation, which were done by him-/herself

Given a user has chosen a task, worked on it and submitted it as done. This task is now marked as done and is awaiting validation. Given further, that this user has completed (e.g "done") a couple of tasks. And now, this user decides to validate some other tasks. This user should not get one of the tasks for validation, which were marked as done by this user.

I'm opening an issue for this, as I encountered such a situation just yesterday with HOT's task manager.

More Specific Text for Loading Data with JOSM

I added some instructions regarding the JOSM remote control plugin:

Closing this dialog box will automatically load the data for the area of the current task if you have JOSM already running and enabled the JOSM remote control. If you do not have the remote control enabled start JOSM and go to preferences. Click on the “remote control icon” on the left side and then select the checkbox that states, “Enable remote control.”

user can post the done form more than once

This results in the task to be marked as validated which is wrong.

Way to reproduce:

  • take a task,
  • reopen the same url in separate tab,
  • click on the "mark as done" in both pages,

Result:

  • The tile is marked as validated (checkin is set to 2).

what constitutes a validated tile?

There should be some instruction for experienced mappers on how to validate. What constitutes a good tile? This would probably vary by task group.

Tasking server time out

Hi,

I fully understand the need of a time out for the tasking server, but when the tiles ask for several hours to be finished, the mapper may want to do it in several times. If I understood well, when the time is out, the mapper has to pass through the whole process again and if she/he does not remember the location of her/his tile, can feel disappointed to have to start a new one.
Could it be possible to propose a bookmark or whatever allowing the mapper to get directly to the page that gives the possibility to lock the tile ?

Best,

Severin

popups are not sticky

in the individual task screen, there's a popup window for the workflow that contains among other things the URL to be pasted in JOSM / Potlatch. These pop up on mouse over but disappear when the pointer moves away from the link, making it impossible to select and copy the link.

As this will be a crucial part of many tasks I think this should not be in a popup but as a step on screen.

Documentation

OSMTM is very easy to setup, but after the install/setup - what should be done next? I think some documentation describing how to setup a task-grid for custom jobs would be beneficial. I could not find any information on customization/setup from Internet searches or after briefly looking at the HOTOSM mailing list. Perhaps I am missing something - and I'm sure if I had greater programming skills, this could be obvious. If I can help with this issue, I would be glad to.

Divide Tasks into Categories

Now that there are a lot of tasks it would be good to have a way to divide them into categories.

Maybe tagging? That way instead of just linking to the front page you could link to a specific category.

For example right now there are multiple tasks in Haiti and multiple ones in Walikale this could be divided up, so people could link to a specific "region" or "type" of tasks.

I'm up for other suggestions, just trying to think through how to get the long list under control

Way for an Administrator to Invalidate all Boxes

A reset button on a task would be great for administrators. Meaning you can reset the task as if it has never been done. The instructions should state this should not be used for completed tasks to come up with a new workflow. This is more for situations where people have marked a bunch of tasks as complete but they shouldn't have.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.