The zotero translation-server service was introduced in the infrastructure a few years ago as a supporting service for the citoid service. It's a effectively a firefox extension running in the context of a xulrunner (now defunct software) instance that accepts HTTP requests and reaches to outside sites parsing them for citation information returning that information structured. The service has gone through a number of partial and full outages.
- Current maintainer:
SRE introduced the service after a nonfunctional introduction of it failed to work. T76308 was the task that started it all. SRE back then poured resources into it to get it working correctly since it was a VisualEditor 2014/15 Q3 blockers, but it never adopted the service. Services has inherited the service, at least to my understanding. Unfortunately updating the core software still requires SRE involvement and that has been minimal. T140539 is quite telling. The lack of documentation of a clear process for the service updating is evident in T91646. At the same time a lot of work has gone from the community to enrich the experience. One such outcome is in https://www.mediawiki.org/wiki/Citoid/Creating_Zotero_translators
- Number, severity, and age of known and confirmed security issues
Unclear. The xulrunner software the powers the service is probably vulnerable to anything listed in https://www.mozilla.org/en-US/security/known-vulnerabilities/firefox/ for versions 25+. We currently run 24.8.1esr-2~deb7u1. Most are probably non exploitable in the zotero environment but no investigation has ever taken place.
- Was it a cause of production outages or incidents? List them.
While it has never really caused production wide outages, the service itself has suffered from out of memory conditions multiple times with members in the SRE team receiving pages. The tracking task is at T121992, but up to now the action taken has always been to just restart it.
- Does it have sufficient hardware resources for now and the near future (to take into account expected usage growth)?
- Is it a frequent cause of monitoring alerts that need action, and are they addressed timely and appropriately?
Used to but not so much anymore. The most frequent problem ops were notified about was resolved by turning off monitoring in e0bdcfb5074cf1e13168, as it was non-actionable. Also 2617d4f0a71 and subsequently 57cd2eb7076 have mitigations that kill and restart the service when misbehaving memory wise and that has increased the availability. When an issue does indeed arise, the usual action is a restart of the software
- When it was first deployed to Wikimedia production
- Usage statistics based on audience(s) served
Zotero powers part of the citation functionality of VE. Exact numbers of editors using that functionality should be provided.
- Changes committed in last 1, 3, 6, and 12 months
The service is comprised of 2 repos. The service itself and the translators. The service itself has 1 commits (https://github.com/wikimedia/mediawiki-services-zotero-translation-server/commits/master) in the aforementioned timeperiods. The translators repository has had 6 commits, 5 of them updating from upstream https://github.com/wikimedia/mediawiki-services-zotero-translators/commits/master
- Reliance on outdated platforms (e.g. operating systems)
OS it runs on is trusty which is going to be EOLed by April 2019 so a solution must be found by then at the latest. The software powering it is xulrunner version 24, which is defunct software. The functionality that allows zotero to work has been removed from firefox 57 as part of the old extensions deprecation and removal. The zotero firefox extension has been restructured to work with zotero standalone but it's unclear if the translation-server will ever manage to update to it (and greater versions). It currently explicitly uses firefox 52 ESR which is already a product in extended support that ends on Aug 1st 2018. It's unclear to us what this means for zotero translation-server.
As a side note, mediawiki-vagrant project had to remove the zotero translation-server service from the list of services it provides due to the above. See 3ee02710c69fb5b97d38ac03b1cc134584510948
- Number of developers who committed code in the last 1, 3, 6, and 12 months
- Number and age of open patches
0 locally and reporting upstream bugs probably makes no sense
- Number and age of open bugs
9, dating up to 3 years ago.
- Number of known dependencies?
citoid partially depends on zotero and VE depends on citoid for the Cite functionality
- Is there a replacement/alternative for the feature? Is there a plan for a replacement?
Plans have been drawn and discussed at multiple points in time. The most indicative ones are documented in T93579 where the then head of the Services team calls the software a major liability for security, stability and maintainability and in my humble opinion, rightfully so.
Per T93579#2154994, the idea that citoid could directly use the translators instead of the translation-server and provide nearly equal functionality was pitched and mildly supported but never implemented. The only thing that has been made possible is to allow citoid to run without zotero support but at the cost of greatly reduced functionality (https://gerrit.wikimedia.org/r/317168)
In the meantime, the zotero project itself went through a limbo state were plans were put forward (but seemingly never realized). Those are documented in https://groups.google.com/forum/#!searchin/zotero-dev/xulrunner%7Csort:relevance/zotero-dev/yy4-q_ZUA4M/1YjAx5SODAAJ, with a saying of We will be porting Zotero to Electron. As far as I can tell this has never happened.