Grants:Project/XML Boiler for Wikipedia

XML Boiler for Wikipedia
summaryComplete XML Boiler (particularly its D version) project and start integrating it into Wikipedia as an alternative markup language.
amount28800 (can be increased or decreased at discretion of the community)
this project needs...
created on23:41, 5 November 2019 (UTC)

Project ideaEdit

What is the problem you're trying to solve?Edit

What problem are you trying to solve by doing this project? This problem should be small enough that you expect it to be completely or mostly resolved by the end of this project. Remember to review the tutorial for tips on how to answer this question.

Currently MediaWiki markup language is a mess, both for humans and computers. Processing, editing, extracting data, validation, data interchange, etc. is too hard. Need to switch to a flexible, strictly standardized XML format.

What is your solution to this problem?Edit

For the problem you identified in the previous section, briefly describe your how you would like to address this problem. We recognize that there are many ways to solve a problem. We’d like to understand why you chose this particular solution, and why you think it is worth pursuing. Remember to review the tutorial for tips on how to answer this question.

We should use my software XML Boiler based on my specification to allow usage of advanced, flexible XML markup for MediaWiki pages. It should be easily extensible, based on XML namespaces. Due to the interoperability issues we need to run XML Boiler as separate process(es). XML Boiler is the only software for flexible, extensible XML processing. So namely this software is to be the base of the future MediaWiki markup language.

Existing software description.

Project goalsEdit

What are your goals for this project? Your goals should describe the top two or three benefits that will come out of your project. These should be benefits to the Wikimedia projects or Wikimedia communities. They should not be benefits to you individually. Remember to review the tutorial for tips on how to answer this question.

  1. finishing rewriting XML Boiler in D for good performance and reliability
  2. integration of XML Boiler with MediaWiki
  3. ability to write MediaWiki pages in XML
  4. infrastructure for XML-based plugins of MediaWiki
  5. sketch of a new standard of markup for MediaWiki

Project impactEdit

How will you know if you have met your goals?Edit

For each of your goals, we’d like you to answer the following questions:

  1. During your project, what will you do to achieve this goal? (These are your outputs.)
  2. Once your project is over, how will it continue to positively impact the Wikimedia community or projects? (These are your outcomes.)

For each of your answers, think about how you will capture this information. Will you capture it with a survey? With a story? Will you measure it with a number? Remember, if you plan to measure a number, you will need to set a numeric target in your proposal (i.e. 45 people, 10 articles, 100 scanned documents). Remember to review the tutorial for tips on how to answer this question.

  1. I will finish rewriting XML Boiler in D
  2. I will integrate it with MediaWiki (probably in the form of a "daemon")
  3. I will write some MediaWiki-specific XML conversion/validation scripts as a sketch for community review
  4. I will create examples of XML markup
  1. It will improve future interoperability between individual parts of MediaWiki and between MediaWiki and other projects. For example, it is a future replacement of structured data as it is now.

I am motivated to work on this project because I love both my XML Boiler and MediaWiki.

Do you have any goals around participation or content?Edit

Are any of your goals related to increasing participation within the Wikimedia movement, or increasing/improving the content on Wikimedia projects? If so, we ask that you look through these three metrics, and include any that are relevant to your project. Please set a numeric target against the metrics, if applicable.

Project planEdit


Tell us how you'll carry out your project. What will you and other organizers spend your time doing? What will you have done at the end of your project? How will you follow-up with people that are involved with your project?

  1. I will rewrite XML Boiler in D, by the way producing some new D foundational libraries.
  2. Then I will integrate it with MediaWiki and write sketches of particular transformation scripts.


How you will use the funds you are requesting? List bullet points for each expense. (You can create a table later if needed.) Don’t forget to include a total amount, and update this amount in the Probox at the top of your page too!

I want $2400/month salary to make for me possible to work on this project.

If you give more, I can hire a SEO company to advertise XML Boiler and this project for other developers to participate.

So $28800 as an estimation. The sum is not final and may vary on a community decision.

Community engagementEdit

How will you let others in your community know about your project? Why are you targeting a specific audience? How will you engage the community you’re aiming to serve at various points during your project? Community input and participation helps make projects successful.

I will create a site and write on WikiMedia meta sites.

Get involvedEdit


Please use this section to tell us more about who is working on this project. For each member of the team, please describe any project-related skills, experience, or other background you have that might help contribute to making this idea a success.

Victor Porton
Python, D, OOP, patterns, dependency injection, XML, RDF, XSLT, XML Schema.

Community notificationEdit

You are responsible for notifying relevant communities of your proposal, so that they can help you! Depending on your project, notification may be most appropriate on a Village Pump, talk page, mailing list, etc.--> Please paste links below to where relevant communities have been notified of your proposal, and to any other relevant community discussions. Need notification tips?


Do you think this project should be selected for a Project Grant? Please add your name and rationale for endorsing this project below! (Other constructive feedback is welcome on the discussion page).