User:Mvolz/Weekly Reports

These are weekly reports on the citoid FOSS OPW project for User:Mvolz

Community Bonding Period

edit

Lessons learned since 21 April

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

Communication Plan

edit

Goals for first half of internship

edit
  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.

First Half of Internship

edit

Week 1: May 19 to May 25

edit
  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

edit
  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

edit
  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

edit
  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

edit
  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

edit
  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

edit
  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

edit

Minimally viable[1] 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:

importScript('User:Mvolz/veCiteFromURLLoader.js');
  1. ish.

Second half of internship

edit

Week 8: July 7 to July 13th

edit
  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

edit
  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!
  4. Presented at Open Science Wikimania Fringe event

Week 10: July 21 to July 27th

edit
  1. Make extension/gadget work with new ve core and ref dialog changes (deploying on en-wiki the 24th)
  2. Multiple cite templates!
  3. Making extension actually use Citoid config vars
  4. TD Design discussion w/James et al.

Week 11: July 29 to August 3rd

edit
  1. The Great Fork begins- branch VE + TD to add new services structure
  2. Presented at WMF metrics meeting: Meta:WMF_Metrics_and_activities_meetings/2014-08
  3. Citoid The Service improvements

Week 12: August 4th to August 10th

edit
  1. Staged citoid extension to await TD things
  2. Aug 6-7 Wikimania Hackathon
  3. Aug 8-10 Wikimania Conference

Week 13: July 29 to August 17th

edit
  1. Update citoid service for new way of doing TD things
  2. Change td to fetch "maps" attribute
  3. Alter VE to provide "maps" data (MWTemplateSpecModel) to Citoid extension

(not so final) Report: August 18th

edit

Citoid service working in conjunction with citoid extension, changes to ve-mw library, and templatedata extension, all on localhost, using templatedata defined within the template itself (not currently working when template is transcluded from docs due to bug 69647). Changes committed (but not merged) to citoid service and extension, pending commits to VE and TemplateData that they rely on.

Commits

edit
Dump of WIP commits to Citoid extension
Commit to citoid service

Example

edit
Screenshot of what a citation looks like after being inserted using templatedata
Sample of corresponding body json
Sample of corresponding templateData

Onward

edit

September

edit
  1. Merged first community contribution!
  2. Added export formats (mediawiki, zotero, mwDeprecated)
  3. Added API docs: Citoid/API

October

edit
  1. Pushed changed to TemplateData to Gerrit