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