gate-teamware
A web application for collaborative document annotation.
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
✓Institutional organization owner
Organization gatenlp has institutional domain (gate.ac.uk) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.7%) to scientific vocabulary
Repository
A web application for collaborative document annotation.
Basic Info
- Host: GitHub
- Owner: GateNLP
- License: agpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://gatenlp.github.io/gate-teamware/
- Size: 18.3 MB
Statistics
- Stars: 7
- Watchers: 10
- Forks: 2
- Open Issues: 63
- Releases: 5
Metadata Files
README.md
GATE Teamware
A web application for collaborative document annotation.
Full documentation can be found here.
GATE Teamware provides a flexible web app platform for managing classification of documents by human annotators.
Key Features
- Configure annotation options using a highly flexible JSON config.
- Set limits on proportions of a task that annotators can annotate.
- Import existing annotations as CSV or JSON.
- Export annotations as CSV or JSON.
- Annotation instructions and document rendering supports markdown and HTML.
- Deploy with kubernetes or docker compose.
Running the app
Latest release
The simplest way to deploy your own copy of GATE Teamware is to use Docker Compose on Linux or Mac. Installation on Windows is possible but not officially supported - you need to be able to run bash shell scripts for the quick-start installer.
- Install Docker - Docker Engine for Linux servers or Docker Desktop for Mac.
- Install Docker Compose, if your Docker does not already include it (Compose is included by default with Docker Desktop)
- Download the installation script into an empty directory, run it and follow the instructions.
mkdir gate-teamware
cd gate-teamware
curl -LO https://gate.ac.uk/get-teamware.sh
bash ./get-teamware.sh
A Helm chart is also available to allow deployment on Kubernetes.
Upgrading
When upgrading GATE Teamware it is strongly recommended to ensure you have a recent backup of your database before starting the upgrade procedure. Database schema changes should be applied automatically as part of the upgrade but unexpected errors may cause data corruption - always take a backup before starting any significant changes to your database, so you can roll back in the event of failure.
Check the changelog - any breaking changes and special considerations for upgrades to particular versions will be documented there.
To upgrade a GATE Teamware installation that you installed using get-teamware.sh, simply download and run the latest version of the script in the same folder. It will detect your existing configuration and prompt you for any new settings that have been introduced in the new version. Note that any manual changes you have made to the docker-compose.yml and other files will not be duplicated automatically for the new version, you will have to port the necessary changes to the new files by hand.
Upgrading a Kubernetes deployment generally consists simply of installing the new chart version with help upgrade. As above, check the GATE Teamware changelog and the chart readme for any special considerations, new or changed configuration values, etc. and ensure you have a recent database backup before starting the upgrade process.
Building locally
Follow these steps to run the app on your local machine using docker-compose:
1. Clone this repository by running git clone https://github.com/GateNLP/gate-teamware.git and move into the gate-teamware directory.
1. From inside the gate-teamware directory run ./generate-docker-env.sh to create a set of passwords and keys in a .env file.
1. Run ./build-images.sh to build the backend and frontend images, this may take a while the first time it is run. Images are built using docker buildx, which requires Docker Engine 19.03 or later.
1. Run ./deploy.sh production or ./deploy.sh staging. Note: You may want to change the value of DJANGO_ALLOWED_HOSTS in deploy.sh to match the URL(s) that you are deploying to.
Open 127.0.0.1:8076 (the default IP & port) in your browser. The initial admin login has the username admin and password password, this should be changed immediately. Note: the port is set in docker-compose.yml.
Notes on deployment: * A development server can be run without docker, see the developer documentation for more info. * A Helm chart is available to deploy GATE Teamware on a kubernetes cluster.
Development
Developer documentation is provided here.
Contribution
We welcome contributions to this open source project. Please create a fork of this repository and make a pull request against the dev branch with your changes.
Using Teamware
Teamware is developed by the GATE team, an academic research group at The University of Sheffield. As a result, future funding relies on evidence of the impact that the software provides. If you use Teamware, please let us know using the contact form at gate.ac.uk. Please include details on grants, publications, commercial products etc. Any information that can help us to secure future funding for our work is greatly appreciated.
Citation
For published work that has used Teamware, please cite the EACL23 demo paper. One way is to include a citation such as:
Wilby, D., Karmakharm, T., Roberts, I., Song, X. & Bontcheva, K. (2023). GATE Teamware 2: An open-source tool for collaborative document classification annotation. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations, pages 145151, Dubrovnik, Croatia. Association for Computational Linguistics. https://aclanthology.org/2023.eacl-demo.17/
Please use the Cite this repository button at the top of the project's GitHub repository to get an up to date citation.
Permanent references to each version of the software are available from Zenodo.
Owner
- Name: GateNLP
- Login: GateNLP
- Kind: organization
- Location: Sheffield, UK
- Website: https://gate.ac.uk/
- Twitter: gateAcUk
- Repositories: 170
- Profile: https://github.com/GateNLP
GATE - General Architecture for Text Engineering
GitHub Events
Total
- Create event: 4
- Issues event: 9
- Release event: 1
- Watch event: 3
- Delete event: 3
- Issue comment event: 7
- Push event: 12
- Pull request review event: 3
- Pull request review comment event: 3
- Pull request event: 7
- Fork event: 1
Last Year
- Create event: 4
- Issues event: 9
- Release event: 1
- Watch event: 3
- Delete event: 3
- Issue comment event: 7
- Push event: 12
- Pull request review event: 3
- Pull request review comment event: 3
- Pull request event: 7
- Fork event: 1
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 127
- Total pull requests: 61
- Average time to close issues: about 2 months
- Average time to close pull requests: 14 days
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 1.26
- Average comments per pull request: 2.57
- Merged pull requests: 52
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- twinkarma (56)
- davidwilby (12)
- johann-petrak (8)
- ianroberts (3)
- freddyheppell (2)
Pull Request Authors
- davidwilby (18)
- twinkarma (16)
- ianroberts (13)
- freddyheppell (2)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- 1915 dependencies
- @testing-library/jest-dom ^5.12.0 development
- @testing-library/vue ^5.6.2 development
- @vue/test-utils ^1.0.3 development
- jest ~25 development
- @vue/cli ^4.5.15
- @vue/cli-plugin-babel ~4.5.0
- @vue/cli-plugin-router ~4.5.0
- @vue/cli-plugin-unit-jest ^4.5.12
- @vue/cli-plugin-vuex ~4.5.0
- @vue/cli-service ~4.5.0
- axios ^0.21.1
- bootstrap ^4.6.0
- bootstrap-vue ^2.21.2
- core-js ^3.6.5
- css-loader ^5.2.1
- csvtojson ^2.0.10
- js-cookie ^2.2.1
- jsonl-parse-stringify ^1.0.1
- jszip ^3.7.1
- markdown-it-vue ^1.1.6
- mustache ^4.2.0
- sass ^1.32.8
- sass-loader ^10.1.1
- style-loader ^2.0.0
- v-jsoneditor ^1.4.2
- vue ^2.6.11
- vue-json-pretty ^1.8.0
- vue-router ^3.2.0
- vue-template-compiler ^2.6.11
- vuex ^3.4.0
- webpack ^4.44.2
- webpack-bundle-analyzer ^3.9.0
- webpack-bundle-tracker ^0.4.3
- webpack-cli ^3.3.12
- webpack-dev-server ^3.11.2
- 1212 dependencies
- cypress ^7.1.0 development
- cypress-file-upload ^5.0.8 development
- vuepress ^1.8.2 development
- bootstrap ^4.6.1
- bootstrap-vue ^2.21.2
- chart.js ^2.9.4
- mustache ^4.2.0
- npm-run-all ^4.1.5
- papaparse ^5.3.0
- vue-chart-3 ^2.1.0
- vue-chartjs ^3.5.1
- pytest-cov * development
- pytest-django >=4.2.0,<5. development
- Django >=3.2,<4.
- django-gmailapi-backend *
- django-webpack-loader >=0.7.0,<1.
- djangorestframework >=3.12.4,<4.
- gatenlp >=1.0.4,<2.
- psycopg2 >=2.8.6,<3.
- MishaKav/pytest-coverage-comment main composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- conda-incubator/setup-miniconda v2 composite
- dkershner6/jest-coverage-commenter-action v1 composite
- postgres 14-alpine docker
- actions/cache v3 composite
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/login-action v2 composite
- docker/metadata-action v4 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- actions/checkout v3 composite
- softprops/action-gh-release v1 composite
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- conda-incubator/setup-miniconda v2 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- cypress-io/github-action v4 composite
- docker/setup-buildx-action v2 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- docker/setup-buildx-action v2 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- cypress-io/github-action v4 composite
- docker-practice/actions-setup-docker master composite
- satackey/action-docker-layer-caching v0.0.11 composite
- actions/checkout v3 composite
- citation-file-format/cffconvert-github-action 2.0.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- backend latest build
- nginx stable-alpine build
- node 18-bullseye-slim build
- python 3.9-slim-bullseye build
- caddy latest
- ${IMAGE_REGISTRY}${MAIN_IMAGE} ${IMAGE_TAG}
- ${IMAGE_REGISTRY}${STATIC_IMAGE} ${IMAGE_TAG}
- postgres 14-alpine
- prodrigestivill/postgres-backup-local 14
- 1206 dependencies
- cross-env ^7.0.3 development
- vuepress ^1.8.2 development
- @jsep-plugin/numbers ^1.0.1
- @jsep-plugin/object ^1.2.1
- @jsep-plugin/regex ^1.0.3
- @jsep-plugin/spread ^1.0.2
- bootstrap ^4.6.1
- bootstrap-vue ^2.21.2
- jse-eval ^1.5.2
- mustache ^4.2.0
- npm-run-all ^4.1.5