Grants:Programs/Wikimedia Community Fund/Rapid Fund/Web2Cit usability and maintainability enhancements (ID: 23650514)/Final Report
Application type: Tech project
Parts 1-3: Project and impact
1. What was built or achieved during the project, and how did it align with your original goals, milestones and technical plan? (required)
For this project, a series of tasks aimed at improving Web2Cit usability, maintainability and community engagement were planned. Almost all high priority and most low priority tasks planned were successfully addressed, in addition to some additional tasks devised while the project was being developed.
Proposed milestones
- “Have all high priority tasks closed by the end of the project.”
- Almost all tasks identified as higher priority (27 out of 30) have been done or partly done.
Tasks partly done include:
- T305571: Configure JsonConfig for pattern Web2Cit/data/**/*.json in metawiki's "Main" namespace. Currently in progress, but delayed due to unplanned technical and social complexity.
- T329573: Changes to Web2Cit monitor result pages do not trigger email notifications. Blocked due to pending changes beyond Web2Cit scope, but an alternative has been provided.
- The three remaining tasks are still considered relevant (except T329745: Share a table of URLs for which automatic tests have been uploaded, which may be reconsidered as lower priority), but could not be addressed due to lack of time. Instead, time was used to address 5 of 6 additional tasks identified while working on the project.
- Almost all tasks identified as higher priority (27 out of 30) have been done or partly done.
- Tasks partly done include:
- T305571: Configure JsonConfig for pattern Web2Cit/data/**/*.json in metawiki's "Main" namespace. Currently in progress, but delayed due to unplanned technical and social complexity.
- “Have at least 50% of low priority tasks closed by the end of the project.”
- 56% of tasks identified as lower priority (5 out of 9) have been successfully addressed.
Proposed metrics
Collaborative configurations
- "Lower the proportion of translation templates without a specific path set."
- One of the tasks aimed at lowering the proportion of translation templates without a specific path set was T408860. Although the main goal of this task was to lower the proportion of translation templates without a corresponding translation test, because tests are more obviously tied to specific paths, this results in templates being tied to specific paths as well. Template configurations for 22 domains have been created since changes in this task were deployed with Web2Cit Server v1.4.0 on 2026-06-16,
- In addition, task T337131 was aimed at preventing one particular case of presumably non-specific template path: the root path "/". Template configurations for 22 domains have been created since changes in this task were deployed with Web2Cit Server v1.4.0 on 2026-06-16. In addition, automatic categorization of Web2Cit Monitor results in "Web2Cit Monitor Results with root path" category (T329573) currently show no templates for "/" path.
- One of the tasks aimed at lowering the proportion of translation templates without a specific path set was T408860. Although the main goal of this task was to lower the proportion of translation templates without a corresponding translation test, because tests are more obviously tied to specific paths, this results in templates being tied to specific paths as well. Template configurations for 22 domains have been created since changes in this task were deployed with Web2Cit Server v1.4.0 on 2026-06-16,
- "Lower the proportion of translation templates without corresponding test, measured by the index proposed in T408861."
- The proportion of translation templates without corresponding test lowered from 63% (316 out of 498 templates) on 2026-06-19 to 55% (284 out of 520 templates) on 2026-08-27 (see [1]).
- "Lower the proportion of invalid translation templates without itemType or title fields."
- Task T317168 was aimed at preventing templates without mandatory fields. Template configurations for 22 domains have been created since changes in this task were deployed with Web2Cit Server v1.4.0 on 2026-06-16.
- Currently no templates remain lacking either of the two mandatory fields itemType or title.
- Task T317168 was aimed at preventing templates without mandatory fields. Template configurations for 22 domains have been created since changes in this task were deployed with Web2Cit Server v1.4.0 on 2026-06-16.
Collaborative monitoring
- "Increase average daily pageviews of monitor overview and results pages."
- Pageviews of monitor overview and results pages have increased since the project started in February:
- Although part of this may in fact have been due to increased usefulness of these pages (thanks to some of the tasks addressed during the project) the increase seems too high and I cannot sort out that it is not in part due to (undetected) bot traffic as well, as may be suggested by corresponding overall meta-wiki site pageviews increase in the same period: [3]
- Pageviews of monitor overview and results pages have increased since the project started in February:
- Monitor overview: https://pageviews.wmcloud.org/?project=meta.wikimedia.org&platform=all-access&agent=user&redirects=0&start=2026-02-01&end=2026-08-26&pages=Web2Cit/monitor
- "Increase number of Web2Cit translation summary visits from Web2Cit monitor results."
- We started logging Web2Cit server requests on June 16, 2026, with deployment of changes in T302696. Since then and up to 2026-08-27, we have served 69,687 Web2Cit translation requests in HTML format (although many of them seem to be bot requests). Of those, 11,968 have a Referer header, of which:
- 8281 (70%) contain web2cit.toolforge.org in the header, suggesting requests originating from Web2Cit home page (although, again, many seem to be bot requests).
- 638 (5%) contain meta.wikimedia.org in the header, suggesting traffic from Web2Cit Monitor results pages.
- 134 (1%) contain wikipedia.org in the header, suggesting traffic from Web2Cit Gadget.
- We started logging Web2Cit server requests on June 16, 2026, with deployment of changes in T302696. Since then and up to 2026-08-27, we have served 69,687 Web2Cit translation requests in HTML format (although many of them seem to be bot requests). Of those, 11,968 have a Referer header, of which:
- 8281 (70%) contain web2cit.toolforge.org in the header, suggesting requests originating from Web2Cit home page (although, again, many seem to be bot requests).
- 638 (5%) contain meta.wikimedia.org in the header, suggesting traffic from Web2Cit Monitor results pages.
New features
- "Have at least one translation template using each of the community-requested new features.".
- Wikilink support (T309869): 6 templates (see [4]source%3A%2F%5C%22type%5C%22%3A%5Cs*%5C%22qid%5C%22%2F+subpageof%3AWeb2Cit%2Fdata).
- Replace transformation (T302691): 8 templates (see [5]).
- Negative indices in Range transformation (T305898): 4 templates (see [6]).
- Case transformation (T302692): 3 templates (see [7]).
- URL selection (T304326): 4 templates ([8]).
- Wikilink support (T309869): 6 templates (see [9]source%3A%2F%5C%22type%5C%22%3A%5Cs*%5C%22qid%5C%22%2F+subpageof%3AWeb2Cit%2Fdata).
- Replace transformation (T302691): 8 templates (see [10]).
- Negative indices in Range transformation (T305898): 4 templates (see [11]).
- Case transformation (T302692): 3 templates (see [12]).
Usage statistics
- "Have at least 10 Wikipedia edits with the tag proposed in T321568."
- 1036 edits between April 17, 2026 and August 27, 2026: [13]
2. Share links that demonstrate your project's impact, usage, and technical outcomes. (required)
Required links:
- Project page on relevant Wikimedia spaces (e.g. Phabricator, Wikimedia projects, Toolforge)
- Code repository (e.g. Gerrit, GitHub or GitLab)
- Documentation or user guides
- Dashboards, metrics tools, or analytics used to track usage or contributions
Optional links you may include:
- Diff or mailing list announcements
- Community feedback
- Demos or product presentations
- Survey results or user testing feedback
- Examples of integrations or usage within Wikimedia projects
• Project page on relevant Wikimedia spaces (e.g. Phabricator, Wikimedia projects, Toolforge)
• Code repository (e.g. Gerrit, GitHub or GitLab)
• Documentation or user guides
• Dashboards, metrics tools, or analytics used to track usage or contributions
3. What are the key lessons you learned during this project, both technical and non-technical? (required)
- Configuration of Wikimedia wiki sites and technical and social aspects of submitting patches to Gerrit, having them reviewed, approved and deployed.
- Monitoring tools and strategies, including logging middleware and JSON logs, Grafana, mw.track ([25]), and Wikimedia Hashtags tool.
- Writing Lua modules.
- Template internationalization and localization with TNT Module and Data namespace: [26]
- Wikimedia GitLab pipelines and automatic deployments.
- I found it very useful to have a list of tasks to address and a time estimate for each of them. This way I could more easily understand whether I was on track or not, if I was delayed, and better prioritize what to do and when.
4. How did the Wikimedia community or your target audience engage with your project during its development or release? (required)
- New collaborative translations in Translatewiki since the corresponding translation project was reactivated (T408866).
- Templates using new Selection and Transformation steps, as described above.
- Some contributors engaged in fixing templates that needed attention to address templates without tests and templates for generic paths: [27]
- Contributors have continued using Web2Cit Gadget and have included the suggested tag in their edit summaries: [28]
- 75 collaboratively contributed new Web2Cit configuration files, corresponding to 44 new domains.
- Support from other communities to have changes implemented, including Translatewiki community (T408866) and Sysadmin community (T305571).
- Community engagement in project meta-wiki talk pages:
- [37]
- [38]
- [39]
- [40]
- [41]
- [42]
- [43]
- [44]
5. What risks or challenges did you encounter (related to delivery, safety, or security), and how did you address them? (required)
- While developing the project I noticed someone seemed to be using or testing Web2Cit translation server as a relay to get some data from a third-party API. I immediately reverted the domain configuration that was enabling this, reported the issue as detailedly as possible on Phabricator, and took action to prevent this from happening again: https://phabricator.wikimedia.org/T432670.
- Effects of increased bot traffic on monitoring.
- One of the tasks could not be solved due to limitations beyond the Web2Cit project: T329573. Specifically, bot-made actions do not trigger notifications.
- Making configuration changes to Wikimedia wikis turned out to be a bit more complex and bureaucratic than expected (T305571)
6. Who will maintain the project going forward, and what is your plan for long-term maintenance? (required)
As mentioned in the proposal, no routine maintenance is expected to be required and critical bugs, expected to be uncommon, will be addressed by me in my volunteer time.
It is worth mentioning that any such maintenance required will be easier as some of the tasks addressed during the project were aimed at improving maintainability:
- Automatic deployments and new staging branch have made it easier to test and deploy new releases, including new collaborative translations.
- Updated Web2Cit Server Releasing documentation ([45]) for easier creation and publishing of new releases.
- Updates to Web2Cit Monitor results templates have made it easier to make changes to Web2Cit Monitor results pages without having to deal with Web2Cit Monitor code (see [46])
I have also made sure that documentation, including technical documentation, remained up to date after any changes made during the project, to make maintenance easier.
Finally, as mentioned in the proposal as well, I will continue answering user queries in Web2Cit documentation, configuration and monitor results pages, as I have since the initial release in 2022.
(questions 7-9 are skipped)
Part 4: Financial reporting
[edit]10. Please state the total amount spent in your local currency. (required)
7285600
11. Please state the total amount spent in US dollars. (required)
5000
12. Report the funds spent in the currency of your fund. (required)
Provide the link to the financial report https://docs.google.com/spreadsheets/d/1iqvT69QskJsJ4M5eq_6UIfartCE1h3KdNXk7ff-BAIg/edit?usp=sharing
12.2. If you have not already done so in your financial spending report, please provide information on changes in the budget in relation to your original proposal. (optional)
13. Do you have any unspent funds from the Fund?
No
13.1. Please list the amount and currency you did not use and explain why.
N/A
13.2. What are you planning to do with the underspent funds?
N/A
13.3. Please provide details of hope to spend these funds.
N/A
14.1. Are you in compliance with the terms outlined in the fund agreement?
Yes
14.2. Are you in compliance with all applicable laws and regulations as outlined in the grant agreement?
Yes
14.3. Are you in compliance with provisions of the United States Internal Revenue Code (“Code”), and with relevant tax laws and regulations restricting the use of the Funds as outlined in the grant agreement? In summary, this is to confirm that the funds were used in alignment with the WMF mission and for charitable/nonprofit/educational purposes.
Yes
15. If you have additional recommendations or reflections that don’t fit into the above sections, please write them here. (optional)
I find this form on Fluxx very inconvenient to submit proposals or reports. I wish I could do it on-wiki instead, as it was done before. I find it cumbersome, limited and buggy, which, I believe, disencourages writing reports that may otherwise be more interesting and useful.