Git Product home page Git Product logo

tagging's Introduction

Tagging

A general-purpose web-based psychophysics experiment platform

Installation

Tagging is a little heavy to install, and we don't yet provide binaries. First-time installation may take a while, and running a Tagging server requires some experience with system administration. The instructions on this page should be enough to build and start a server - links are for background reading.

Prerequisites:

  • PostgreSQL database Create a database for Tagging. You will specify the database user, name and password later in a Tagging config file.

    (osx hint: with homebrew )

    (ubuntu hint: sudo apt-get update && sudo apt-get install postgresql postgresql-contrib)

  • git

Building from source

We use git submodules, the nix package manager, and reflex-platform to manage dependencies and building. These are all bundled with the Tagging code. Run the following in any directory where you keep source code.

git clone https://github.com/CBMM/tagging
cd tagging
git submodule update --init --recursive

If this is your first time installing, use reflex-platform to install nix:

./deps/reflex-platform/installNix.sh

To build the server and frontends:

./build.sh

build.sh will try to compile both the server and the frontend web experiments against a common definition of the Tagging API. You may want to comment out any lines in that script for frontends that you're not interested in, or that fail to build for whatever reason. A typical Tagging site only requires tagging-server, tagging-client and a single other frontend of your choice, to work.

build.sh copies the server binary and frontend javascript to the app directory. Frontend Haskell code will have been converted to javascript and saved in app/static/media/js

Running the server

Copy app/devel.cfg.example to app/devel.cfg and set the user, database and pasasword fields according to your Postgres setup. Do not keep devel.cfg under version control!

Then we create empty files to log activity to and launch the server on port 8000.

cd path/to/tagging/app
mkdir log
touch log/access.log
touch log/error.log
sudo ./tagging-server -p 8000

If all is working, go to http://localhost:8000 and you will see the login screen.

By default, the first account created will have admin privileges (the ability to create users, modify any database rows and set and revoke researcher/admin creds on other users). We run the server locally (on port 8000) first in order to set up the admin account before anyone on the public internet can create an account.

To run the server on the public internet, the easiest way is to configure your machine to allow incoming traffic on port 80, and then run sudo tagging-server -p 80.

tagging's People

Contributors

imalsogreg avatar lisik avatar

Stargazers

Bruno Henrique avatar Yang Yang avatar Thanh Doan avatar Federico Adolfi avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

Forkers

manonremy

tagging's Issues

lib iconv

Running into the error:

ld: library not found for -liconv

I'm on OSX 10.11.4

Broken adminPanel

StimulusSequence table view's Get request fails: "net::ERR_EMPTY_RESPONSE"

API keys for authentication, API-centric experiments depending only on tagging-common

After finishing the API-key login, it would be nice to have experiments that only depend on tagging-common, and be hosted somewhere other than the tagging-server. e.g. it should be possible to give a subject an API key and a url for the server, and have the user plug those into some fields in a frontend hosted on github pages.

It's still a little unclear where/when the tagging user accounts and API keys should be generated under different conditions (pre-selected pools of subjects vs. amazon turk workers).

Snap auth user id and tagging user id duplication

The auth snaplet's AuthUser and tagging's TaggingUser both have groundhog instances that give them auto-incremented id columns. When the sequences behind the auto-increment get out of sync, the assumptions in tagging-server about auth user == tagging_user are broken.

can't open the data from mturk

After downloading the data of user 11 and 28 on mturk, I can't parse the .json files with JSONlab in matlab. You've already fix this problem for other users but this users had already labelled some clips before, that may be why it's still not working now.

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.