User:YuviPanda/GSoC/PoC

A Proof of Concept to be built before the official start of GSoC's coding period so I would not be going down the wrong rabbit's hole.

Goal
Pick one WikiProject, and write enough code so that it is able to save assessment data in a database whenever it is changed.

Partial Use Case (for PoC)

 * 1) Someone who is part of the Wikiproject wants to change assessment of an article (importance or class)
 * 2) Goes to talk page, edits template to make new assessment, hits save. He is done.
 * 3) The assessment data is automatically updated in the database.

Tasks

 * 1) Pick Wikiproject to use. Criteria for selection:
 * 2) Moderately large (so I can test with all articles on my desktop system)
 * 3) 'Typical' assessment template - reasonably similar to other assessment templates.
 * 4) Somewhat active community to help with testing and kick my lazy ass
 * 5) Write 'Assessment Template Processor'. Takes in a representation of the wikitext as input and puts out the assessment data as output. Needs to work only for the picked Wikiproject's assessment template for PoC
 * 6) Figure out preliminary schema for storing data. Write a few handy DALish classes if necessary. Just general 'shape' of the schema is defined, details only loosely defined. Enough to handle the picked WikiProject.
 * 7) Write a hook that runs on page save, and updates the database with the new data.
 * 8) Performance test to make sure it's not irredeemably slow. Performance should be in the same order-of-magnitude as is expected of the final code.

Non-Tasks
These, while relevant to the project, will not be done for the PoC:
 * 1) Anything with UI on it.
 * 2) Logging.

Timeline
TBD