I did a little more hacking on the SVGEdit extension this weekend:

http://www.mediawiki.org/wiki/Extension:SVGEdit

The extension now uses SVG-edit's iframe embedding API, which lets us host
the actual editor widget on a separate domain from MediaWiki. This also
means that it's a short step to being able to slap together the smaller
MediaWiki-side JS/CSS code as a gadget, which could be deployed by wiki
admins without requiring system-level access to install the extension:

http://code.google.com/p/svg-edit/issues/detail?id=747

The primary holdup to being able to deploy it to Wikimedia sites is that
scripts running in the MediaWiki context won't have direct access to the
contents of files on upload.wikimedia.org. That means we can't load the
current version of the file into the editor, which brings things to a nice
halt. :(


My SVGEdit wrapper code is currently using the ApiSVGProxy extension to read
SVG files via the local MediaWiki API. This seems to work fine locally, but
it's not enabled on Wikimedia sites, and likely won't be generally around;
it looks like Roan threw it together as a test, and I'm not sure if
anybody's got plans on keeping it up or merging to core.

Since ApiSVGProxy serves SVG files directly out on the local domain as their
regular content type, it potentially has some of the same safety concerns as
img_auth.php and local hosting of upload files. If that's a concern
preventing rollout, would alternatives such as wrapping the file data &
metadata into a JSON structure be acceptable?


Alternately, we could look at using HTTP access control headers on
upload.wikimedia.org, to allow XMLHTTPRequest in newer browsers to make
unauthenticated requests to upload.wikimedia.org and return data directly:

https://developer.mozilla.org/En/HTTP_Access_Control

That would allow the front-end code to just pull the destination URLs from
imageinfo and fetch the image data directly. It also has the advantage that
it would work for non-SVG files; advanced HTML5 image editing tools using
canvas could benefit from being able to load and save PNG and JPEG images as
well.

https://bugzilla.wikimedia.org/show_bug.cgi?id=25886 requests this for
bits.wikimedia.org (which carries the stylesheets and such).


In the meantime I'll probably work around it with an SVG-to-JSONP proxy on
toolserver for the gadget, which should get things working while we sort it
out.

-- brion vibber (brion @ pobox.com)
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to