Page MenuHomePhabricator

Request creation of Teyora VPS project
Closed, ResolvedPublic

Description

Project Name: teyora

Wikitech Usernames of requestors: Ed6767

Purpose: A patrol and counter-vandalism tool for Wikimedia projects, intended to be a viable web based alternative to tools like Huggle

Brief description:
Teyora is an in development counter-vandalism and patrolling tool for

The deployment will likely consist of two VPS instances. One runs the app itself, the other manages opt-in bug reporting and service analytics (subject to privacy policy and WMCS terms of service). Note, this is one project that will use two VPSs.

Instance 1 - main app
Software:

Core roles include:

  • serving the web app and associated resources
  • storing edit information in an Apache CouchDB instance (see https://gitlab.com/t5201/teyora/-/tree/master/backend/src/db/dbcollections)
  • provide an extension store
  • connecting to the Wikimedia Recent Changes feed
  • make edits (edits are proxied through the server to ensure that OAuth tokens are never stored other than in an encrypted HTTPOnly cookie on the browser - this may be changed)

Based on the use of Huggle and my previous tool RedWarn, and considering that Teyora features localisation and support in a basic level for every Wikimedia Wiki, hundreds of editors could end up using Teyora during peak times, so scalability should be kept in mind, but for now during development and closed testing no major resources should be required.

Instance 2 (opt in reliability, analytics and error reporting)

This instance is intended only for the use of developers and contributors to the project, and as a resource provider for analytics scripts for those who opt in. Learning from how many users, especially not very tech savvy ones may struggle with the Javascript console, especially with localisation and with managing it on a large scale. It also means that user behaviour can be analysed to optimise where buttons are placed, which features are used, etc.

How soon you are hoping this can be fulfilled: as soon as reasonable

Additional request - this project supersedes the 'redwarn' Cloud VPS project, so please close it as it is redundant

Event Timeline

storing edit information in a MongoDB instance

Per the Cloud Services Terms of Use, all software deployed in Cloud VPS must be under an OSI approved open source license. MongoDB's SSPL license is not approved by the OSI.

Oh? That's news to me, and evidently a total oversight on my part.

In this case, omit that, and I will begin work moving from MongoDB to
CouchDB, another Document based NoSQL database (which is Apache 2.0
licensed), so data will be stored in CouchDB to ensure the whole stack is
OSI approved. This shouldn't be too challenging given Teyora is early in
development and has a modular backend. If this transition doesn't work
correctly, I will update here on the situation, however it appears
appropriate for Teyora's case.

Apologies again, and please feel free to let me know if you have any
questions or any further issues arise.

**edit: couchDB, not couchbase

Update: Changes implemented:
https://gitlab.com/t5201/teyora/-/commit/736cffb8af6c469f420fbd39277a7c6d4a9c5655
https://gitlab.com/t5201/teyora/-/commit/40fb8d4f090fa70595e1ead4f0e5d27bbbe99bec
https://gitlab.com/t5201/teyora/-/commit/440baed99f23690abaee0f13577eb8c7721a3c4d

Ed6767 updated the task description. (Show Details)

Best wishes on the project! I've created teyora with default quotas. As the project grows and you find you need more resources, feel free to reach and file a request. Thanks!