Hope this is ok. If not, I will ask the GeoGebra team
for help.
See
https://www.mediawiki.org/wiki/Manual:Coding_conventions for
details. A lot of this is super-ficial stuff, but having the code look
like the rest of MediaWiki can really make it easier for us to figure
out what's going on at a glance.
*Javascript was loaded via resource loader
(external js libraries
don't have to follow MW coding conventions, but it would help if any
js specific only to the extension did).
The extension uses $out->addScript().
Are this MW coding conventions?
Since MediaWiki 1.17, we now prefer scripts to be loaded using the
ResourceLoader mechanism instead of $out->addScript(). See
https://www.mediawiki.org/wiki/ResourceLoader
All loaded
javascript should
be included in the extension (Loading js hosted on other sites is not
allowed on Wikipedia in order to protect user privacy)
That is very hard. I have
no access to the GeoGebra JS, although it
is basically open source. This is in contradiction to the concepts
of GeoGebra - load its JavaScript from
geogebra.org to get always
the newest version.
This is definitely a hard requirement. We need all code loaded by
Wikipedia and friends to be in in the repo, to ensure that other sites
don't collect inappropriate analytics (violating our privacy policy),
or deliver malicious content. Well I'm sure that GeoGebra would not do
either of those things, the general principle is that we want to be
sure to be in control of all code, so that we know for sure we would
never have to worry about that sort of thing.
*Given that
(Assuming I'm understanding correctly) this is basically
for viewing a fixed file (As opposed to something that people edit in
their browser), it would probably be better to implement this as a
MediaHandler extension, as opposed to a tag extension.
I will RTFM about
MediaHandler extensions...
The manual for MediaHandler extensions is kind of non-existent
(sorry). But basically they are registered with the $wgMediaHandlers
variable and subclass MediaHandler. PagedTiffHandler, PDFHandler, and
TimedMediaHandler extensions are all examples (TimedMediaHandler isn't
the best example as the code is kind of messy, but its one of the few
that involves loading custom js).
I doubt that
embedding base64 encoded files directly into pages is going to be ok.
Use of
base64 encoded files is only for legacy reasons.
You are able to embed a GeoGebra drawing from
http://tube.geogebra.org/
by passing the file ID as a parameter. Example (German):
http://wikis.zum.de/wikihilfe/GeoGebra/GeoGebraTube_einbinden
Syntax is simple and user friendly:
<ggb_applet width="964" height="478" version="4.2"
id="16778" />
Probably we'd want people to be able to upload GeoGebra files to the
wiki, and then include them on pages with code like
[[File:Foo.ggb|964px|version=4.2]]. I'm unsure how people would feel
about having a separate repository of geogebra files.
I am not sure what you mean by "some esoteric
visualisation template".
Which wiki do you mean by "a Wikimedia wiki"? Wikipedia?
Wikimedia wiki = Any wiki operated by the Wikimedia foundation. The
most relevant to your case is either the Wikipedias or the Wikibooks
(We generally consider each language to also be a separate wiki, so
english Wikipedia is a separate wiki from German Wikipedia, etc). The
full list is at
https://meta.wikimedia.org/wiki/Special:SiteMatrix
Which test wiki should I use? I have installed two test
wikis to test
the extension with different versions of MediaWiki software, but
there are only "proof of concept" examples. Is it possible to get a
kind of clone of Wikipedia with my extension installed, using
"Tool Labs" or "Wikimedia Labs", to play around and replace some
static geometric drawings by dynamic GeoGebra drawings?
Wikimedia labs is basically a hosting environment for things related
to Wikimedia. Wikipedia is really big, so you can't really setup a
full clone there (Or at least, its just as difficult there as anywhere
else). You can set up a wiki though, and import a couple pages from
Wikipedia so you have some examples for demos.
--
-bawolff