Chemical Markup support for Wikimedia Commons/Internship Report

week 1

 * 00:48, 20 May 2014 (UTC) cloned paged tiff handler extension to hack it; gerrit:133069
 * 22:45, 21 May 2014 (UTC) MIME-type detection does not detect ....
 * 23:21, 23 May 2014 (UTC)
 * Eclipse + XDebug allowed me to conveniently debug MimeMagic.php
 * is returning
 * There is no extension-hook for overwriting the MIME detected by the fileinfo module
 * Consequently it requires changes to the core
 * can be augmented (the proper way; specification doc available, however not required for a minimum viable product)
 * currently used
 * New challenge: Table, field   is of type enum, not including the non-standard   as suggested by the American Chemical Society (ACS)
 * Bawolff suggested in IRC augmenting the enum by the non-standard chemical. Let's see what "core-DB-people" tell me when I submit a patch to do so.
 * SQLite doesn't have something fancy like enum; running the local wiki sets correct values in the DB
 * But MSSQL support had some bugs: bugzilla:65757 that I need work around or fix first
 * 10:35, 27 May 2014 (UTC)
 * Installed MSSQL Server 2014 (important: the full-text index feature must be installed; otherwise installation of MediaWiki fails)
 * MSSQL: Learned about T-SQL and that stored procedures are no good means for updating because creating and running them may require other privilegues than the updating user has
 * Result: gerrit:135714

week 2

 * 3 June 2014
 * gerrit:135756 augments major MIME types by "chemical"
 * can be used to hook-up the extension. Obviously I have to create a class that inherits from the abstract MediaHandler class. Hence, some functions must be re-implemented.
 * What I want to find out is under which conditions and when Metadata extraction happens. Because it *should* happen *after* the intermediate SVG is created from the Chemical Table Files so I can properly build on the SVG scaling logic.

week 3

 * 22:09, 10 June 2014 (UTC)
 * There are a couple of challanges:
 * Temporary files as stored by PHP after uploading do not have an extension. In certain scenarios, it was possible that rendering failed due to that because I didn't do MIME type detection by content.
 * MIME type detection by content for small files failed [more to come]
 * Bugs in the updater: It applies patches despite tables.sql has been updated in between.