User:Mvolz/Weekly Reports

These are weekly reports on the cite-from-id FOSS OPW project for User:Mvolz

Lessons learned since 21 April

 * Roadmaps change fast!
 * Terseness---verbosity axis is mostly a matter of personal style.

Communication Plan

 * Communicate with Visual Editor mentors (James Forrester, Trevor Parscal) and team on #wikimedia-visualeditor
 * Communicate with REST API/node mentors (Gabriel Wicke, Matthew Walker) via e-mail.
 * Communicate with Parsoid mentor (Gabriel Wicke) and team on #mediawiki-parsoid.
 * Occasional morning meetings with Matthew Walker on #wikimedia-office.

Goals for first half of internship

 * 1) A REST API running on node.js that takes a URL(/my/server/?url="http://citeme.com") and gives a response of structured citation data.
 * 2) Calls and responses should be hooked into Visual Editor in localhost, although not necessarily committed/production ready.

Week 1: May 19 to May 25

 * 1) Made first commit to git repo
 * 2) Wrote proof of concept scraper and server in node.js (not committed)
 * 3) Got zotero translator-server working and determined it was functional enough for production
 * 4) Attempted to get MediaWiki / VisualEditor / Parsoid working on localhost without using vagrant as a crutch and failed miserably. Here's to week two!

Week 2: May 26 to June 1

 * 1) Got MW / VE/ Parsoid / Apache / MySql stack working to use as a model for MW / VE / CFID integration.
 * 2) Still haven't gotten citation tool working on localhost 100% :(.
 * 3) Got familiar with VE codebase and JS debugging
 * 4) Started Zotero branch in Extension:VE

Week 3: June 2 to June 8

 * 1) Citation tool now working, yay.
 * 2) Tried to write UI entry point for zotero, only got as far as a button on the menu! :(
 * 3) Google hangout with Trevor and Roan and IRC meeting with Trevor on Friday on how to write VE code.
 * 4) Started writing node.js Zotero wrapper instead

Week 4: June 9 to June 15

 * 1) Monday: conference call with OPLC people
 * 2) In-person VE tutorial w/Ed Wednesday
 * 3) On advice from Ed, probably going to put VE code in separate extension and use MWExtensionInspector.
 * 4) Wrapped Zotero instance

Week 5: June 16 to June 22

 * 1) Modified Zotero output in citoid wrapper
 * 2) Zotero instance set up on Bastion
 * 3) Error catching in citoid
 * 4) Explored worldcat api

Week 6: June 23 to June 29

 * 1) Did Extension tutorial and added BoilerPlate extension to /mediawiki/extensions/Citoid
 * 2) Wikipedia exploration! Looked at citations on de.wiki and wrote some templates
 * 3) Started writing VE gadget that will insert plain text citations into Reference dialog

'''Week 7: June 30 to July 6th

 * 1) Gadget inserts plain text citations by URL into doc model correctly (not inside ref node)
 * 2) Gadget inserts citations by URL inside template (not inside ref node).
 * 3) Demoed citation w/template insertion by URL at LadiesWhoCode talk series live and it actually worked. Woo. (July 1)
 * 4) Altered citoid to handle shortened URLs and to naively scrape pages for which there is not Zotero translator.

Mid-internship Report
Minimally viable product produced!


 * Citoid instance running on wmflabs. Currently only takes URLs.
 * Gadget on en wiki. Works to insert citations, but not inside reference nodes yet.

To test, include the following in your common.js on en wiki:

'''Week 8: July 7 to July 13th

 * 1) Monday meeting with Ed
 * 2) Moved gadget components into an extension
 * 3) Increased stability of citoid service
 * 4) Increased stability of bastion instance. Ish.
 * 5) Gadget now inserts citation into an actual reference

'''Week 9: July 14 to July 20th

 * 1) Improvements to naive scraper
 * 2) Bug fixes in cite from URL gadget
 * 3) Fixing up inheritance issues in citoid extension but still a mess!