User:Baconprime/GSoC2012

Identity

 * Name:
 * Connor Bartol


 * Project Title:
 * Automatic Taxobox Usability and Feature Enhancements


 * Email:
 * @gmail.com

Contact Information

 * Timezone:
 * Vancouver (PST/UTC-8)


 * Typical Working Hours:
 * 0900->1700 (although this is highly flexible)


 * IRC or IM networks/handle(s):
 * baconprime on freenode

Objective
Have the automatic taxobox's main and most used features exposed as a GUI. An emphasis would be placed on implementing features in an intuitive fashion; there should be a _very_ shallow learning curve for users that had been using the template previously, and a moderate to minimal learning curve for those that are new to the taxobox -- the only way to have it used more frequently in new articles is to make it usable and accurate.

A focus will be placed on making functionality that will make the GUI usable for editing existing taxoboxes or facilitating the conversion of manual to automatic taxoboxes.

To scope the project: the interface should be able to
 * 1) (Entry) Create a new automatic taxobox if one does not already exist
 * 2) (Edit) Edit existing automatic taxobox entries (whether or not they were generated by this script)

Required

 * (One) Editing of automatic taxoboxes by a graphical interface, specifically:
 * Taxon hierarchy up to nth level.
 * Image
 * Common name/Synonyms
 * Authority
 * Caption
 * (Two) Detection (and guided correction) of red links and errors:
 * For common errors to emphasize checks for, see here.
 * (Three) Template (for hierarchies) generation wizard.
 * (Two) Provide options to format certain sections of output:
 * Bolding/italicizing of taxon

If Time Permits

 * (One) Gracefully fall back to manual taxobox if cannot parse.
 * (Four) Include a live preview:
 * This will require some backend PHP work so that the page isn't just auto-generated every time that one presses a key.
 * (Four) Autocomplete of common fields.
 * (Three) Template editor:
 * This will also require some PHP backend stuff; I'm not sure that it'll be non-trivial convincing mediawiki to edit two pages at once. Alternatively, provide a wizard for creating/editing a taxonomic template on the template page itself.
 * (Three) Include a taxon creation wizard (i.e. that formalizes this).
 * (Five) Categorize and create widgets for all UIs.
 * (Three) Cover special cases and correct ordering/formatting in speciesbox/subspeciesbox/infraspeciesbox.
 * (Three) Autosave and edit persistance (usability for the interface).

Four
~3-3.5 weeks
 * 1) Live-preview (2 weeks)
 * 2) * Create a caching layer for templates. (non-trivial)
 * 3) * Write a parser for the client-side that can affect certain changes without server retrieval (e.g. changing names of already fetched items, setting a different image URL, etc.)
 * 4) * Augment UI to cleanly add and remove preview (i.e. add controls to host window, make some transition effects).
 * 5) * Work out triggers for preview (e.g. per-key for text fields, on enter for images, etc.). This isn't necessarily trivial, as people have preconceived notions about how previews should function.
 * 6) Autocomplete (1-1.5 weeks)
 * 7) * Find a good place to store a dictionary.
 * 8) * Hook into jQuery's autocomplete library.

One
~2-2.5 weeks
 * 1) Internal representation (1 week)
 * 2) * Breakdown
 * 3) Create GUI
 * 4) * Group functionality, work out how best to organize UI.
 * 5) * Make some flow diagrams
 * 1) * Make some flow diagrams