Benutzer:Andreas Plank/Wiki-Programmierung
Einstellungen
- https://www.mediawiki.org/wiki/Manual:Configuration_settings
- technische Benutzer-Einstellungen
php ./maintenance/userOptions.php --list --conf LocalSettings.php
JavaScript
- herkömmliche Funktions-Bausteine https://www.mediawiki.org/wiki/ResourceLoader/Core_modules
- Reguläre Ausdrücke testen https://regex101.com
CORS (cross-origin resource sharing)
(1) a: Auf Server-Wiki-Ebene von Apache, daß die Erlaubnis des Ursprungs (=origin) gegeben wird:
<IfModule mod_headers.c>
# define external resources that are allowed to read resources from wiki.opensourceecology.de
SetEnvIf Origin "https://(3dviewer\.net)$" ORIGIN=$0
Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
Header set Access-Control-Allow-Credentials "true" env=ORIGIN
Header merge Vary Origin
</IfModule>
(1) b: Auf Ebene des Wikis in den LocalSettings.php
selbst:
$wgCrossSiteAJAXdomains = [
'3dviewer.net'
];
(2) auf dem Fremdserver 3dviewer.net muß wahrscheinlich folgendes frei eingestellt sein:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
… oder genauer genommen und sicherer müßte auf 3dviewer.net der genaue Ursprung (=origin) erlaubt werden, mit dem Daten vermittelt werden dürfen:
<IfModule mod_headers.c>
# define external origins that are allowed to read from 3dviewer.net as a resource
SetEnvIf Origin "https://(wiki\.opensourceecology\.de)$" ORIGIN=$0
Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
Header set Access-Control-Allow-Credentials "true" env=ORIGIN
Header merge Vary Origin
</IfModule>
Siehe auch
- https://enable-cors.org/server_apache.html
- https://www.html5rocks.com/static/images/cors_server_flowchart.png
Bilder SVG
Echte Lösung, SVG wie es ist, darstellen lassen:
# Erweiterung einstellen jenachdem, welche MediaWiki Abfassung (REL1_…)
cd extensions/
git clone --branch REL1_39 --depth=1 https://gerrit.wikimedia.org/r/mediawiki/extensions/NativeSvgHandler
Dann in LocalSettings.php
:
wfLoadExtension( 'NativeSvgHandler' );
Notbehelf in LocalSettings.php
die Bilddichte (density) hochsetzen, allerdings kann dies an Vorgaben-Begrenzungen stoßen, und ein SVG in angeforderter Rießengröße (weil es ja in ein Rasterbild umgewandelt wird) kann dann vielleicht nicht dargestellt werden, und führt zu kaputten Bilddarstellungen:
$wgSVGConverters['ImageMagick'] = '"' . $wgImageMagickConvertCommand . '" -density 300 -thumbnail $widthx$height^! $input PNG:$output';
-density 300
ist vielleicht eine gutes Mittelmaß,-density 600
führte schnell an die Grenzen der Bilder-Voreinstellungen