My Project Overview


Hi, welcome back to my blog. I will be talking about what my project at Wikimedia Foundation is all about as an Outreachy Intern, If you’re considering applying to Outreachy and have never heard of MediaWiki or JSON Schema before, you’re not alone. Before applying to outreachy, I dont either but now I’m contributing to a project called “VisualData’s JSON-schema enhancements”, and I want to help you understand what it’s all about and hopefully it helps someone looking forward to contribute.
About the Community
I’m working with a small but brilliant and ambitious group of developers improving MediaWiki, the software that powers Wikipedia and thousands of other wikis. Our main goal is on an extension called VisualData, which brings structured metadata capabilities to MediaWiki using JSON Schema, an industry-standard vocabulary for describing and validating data formats.
If you are a developer who love open knowledge, semantic web enthusiasts, and people passionate about structured data, metadata, and making wikis smarter and more user-friendly is welcome to contribute.
What Problem Are We Solving?
MediaWiki is great for writing content, but it wasn’t built to understand structured data. VisualData fills that gap by allowing users to add machine-readable metadata (data about data) to wiki pages.
VisualData already supports basic JSON Schema, many powerful features like oneOf
, anyOf
, allOf
, and $ref
aren’t yet supported. These features are important for creating flexible, reusable, and well-structured schemas that mirror real-world data scenarios.
What Is My Project About?
My project main goal is improving VisualData’s Schema Builder and Form Generator, the tools that allow users to create and interact with metadata forms.
So instead of extending the existing code-base, the plan is to redesign them from scratch using:
JSON Schema specifications as the foundation
JavaScript libraries like ajv-validator for validation
PHP-based solutions like Opis JSON Schema for the backend
The goal is to support advanced JSON Schema features like:
oneOf
,anyOf
,allOf
— for creating flexible, conditional data structurestuples
— for arrays with fixed-length types$ref
— for schema reusability and modular design
Who Would Use This?
Researchers, wiki editors, or anyone who wants to add structured metadata to wiki articles. Imagine a wiki about scientific experiments or museum artifacts where each page follows a consistent, validated structure. That’s wher this project can help with and make impact.
What Was Confusing at First?
Setting up and understanding the mediawiki codebase was challenging and also installing all the required extension to test and understand how JSON Schema works in the codebase.
But with guidance from my mentor and a lot of reading, things started making sense!
What I’ve Learnt So Far
How JSON Schema works and why it matters
MediaWiki extension architecture and the other extensions like OpensemanticLab and MWJson
Collaboration on GitHub
Improving my PHP skills
Improving my debugging skills and strengthened my technical writing by contributing to the installation guide
Advice for Future Applicants
If you’re interested in semantic web technologies, how data is structured, or improving how people use wikis, this project (and this community) is a great fit. You don’t need to know everything, a willingness to learn, and asking questions go a long way.
Even if JSON Schema sounds scary now, you’ll be surprised how much you can learn in a few weeks. Don’t be afraid to contribute here! Best of luck
Subscribe to my newsletter
Read articles from Ademola Omosanya directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Ademola Omosanya
Ademola Omosanya
I'm a Software developer with a passion for open source, web development, and building tools that solve real-world problems. I enjoy working with JavaScript, React, Node.js, and Python, and I'm always eager to learn new technologies.