Etwas Off Topic: Frage an die Wiki Betreiber

Antworten
inkasso
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 13. Oktober 2008, 17:12

Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von inkasso »

Es geht um das Wiki unter http://wiki.tuxbox-cvs.sourceforge.net/

Auf einer anderen Internetseite habe ich wohl von dem zuständigen Wiki-SysOp eine Support-Anfrage gefunden (Februar 2008), die genau das Problem schildert, dass ich auch habe. Es geht um automatisch vergebene Dateirechte für die automatisch erzeugten Thumbnails in dem Wiki. Leider wurde dort keine Lösung angegeben, obwohl das Problem im Wiki behoben zu sein scheint.

Da ich selbst schon verbissen nach ner Lösung suche, hoffe ich jetzt, über den Kontakt zum Wiki-Staff endlich die Lösung zu dem Problem zu erhalten. Mag sich jemand aus dem Team mal bitte mit mir in Verbindung setzen? Wäre echt toll...

Gruß

Manuel
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18
Kontaktdaten:

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von dbt »

Also wirklich gelöst ist das Problem nicht, aber ich wills mal so sagen, es ist beherrschbar.
inkasso
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 13. Oktober 2008, 17:12

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von inkasso »

Wärst du auch so nett, dieses Wissen mit mir zu teilen?
Ich denke da momentan eigentlich nur an einen cronJob, der regelmäßig die Dateirechte neu setzt - aber das kanns doch irgendwie nich sein ?!
Vor allem, wo es diesen Bug (?) schon so lange zu geben scheint?!
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18
Kontaktdaten:

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von dbt »

Gerne, aber wie gesagt es ist beherrschbar mit eben solchen Mitteln, wie du sie angesprochen hast. Hier ist es so, dass Bilderuploads sich relativ überblicken lassen und wir das hier quasi unter Beobachtung haben und man manuell (ja richtig gelesen) darauf reagieren kann/muss wenn's nötig ist. Eine andere Lösung hat sich bisher nicht gefunden, obwohl's mich auch anstinkt. Laut Provider ist alles im grünen Bereich, muss also doch an der Wikisoft liegen. Die Wikidevs sagen aber was anderes, wie du ja schon gelesen haben dürftest. Es steht allerdings noch ein Update aus, so dass ich da auch nicht sagen kann, ob's dann damit läuft. Wie Du siehst, wären wir hier auch sehr froh, wenn das gelöst wäre. Solltest du doch eine Lösung finden, kannst du dich ja mal melden.
inkasso
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 13. Oktober 2008, 17:12

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von inkasso »

Aua... Und da hatte ich gehofft...
Nein gelesen hab ich bisher nur deine (?) unbeantwortete Anfrage - frag mich lieber nicht mehr wo... Hab so viele Seiten durch, dass ich keine Ahnung mehr hab wo es sein könnte.

Für die Lösung des Problems versuche ich gerade 2 Lösungsansätzen zu folgen.

Nr. 1: die MediaWiki Software an dem Punkt zu hacken, wo die Datei erstellt wird und ein chmod hinterher zu jagen - weil PHP beherrsche ich. Habe da nur leider noch nicht den Punkt identifiziert, wo die Thumbnails gespeichert werden.

Nr. 2: Es gibt ja die Möglichkeit, Thumbnails 'on the fly' erstellen zu lassen - also wenn vom Browser angefordert wird. Dazu wird sogar ein Script mitgeliefert, welches einfach nur in derKonfiguration eingebunden werden muss. Das wäre definitiv weniger Aufwand. Wenn die Thumbnails dabei nach der Erzeugung korrekt gespeichert würden, wäre es ja toll. Wenn nicht, wäre das nur eine temporäre Lösung für mich, weil das ja auf Dauer zu viel Serverlast erzeugt.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18
Kontaktdaten:

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von dbt »

Nr. 1: die MediaWiki Software an dem Punkt zu hacken, wo die Datei erstellt wird und ein chmod hinterher zu jagen - weil PHP beherrsche ich. Habe da nur leider noch nicht den Punkt identifiziert, wo die Thumbnails gespeichert werden.
Daran hatte ich auch schon gedacht, aber der Aufwand für das hin und her Gepatche wenn mal ein Update kommt war mir zu viel.
Die Stelle müsste aber hier sein:
.../wiki/includes/ImageFunctions.php
inkasso
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 13. Oktober 2008, 17:12

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von inkasso »

Möglichkeit 2 konnte ich gestern aktivieren. Das vorhandene Script wird dazu einfach in der LocalSettings.php angegeben. Die Sache funktioniert. Nur jetzt erstell er halt die Bilder nur noch im Arbeitsspeicher und schickt sie an den Client, wenn eins angefordert wird. Dateien werden hierbei nicht erzeugt und das ist natürlich ein Performance-Verlust auf die Dauer.
dbt hat geschrieben:Daran hatte ich auch schon gedacht, aber der Aufwand für das hin und her Gepatche wenn mal ein Update kommt war mir zu viel.
Die Stelle müsste aber hier sein:
.../wiki/includes/ImageFunctions.php
Könnte man meinen. Ich habe mir die Dateien schon angesehen. In der ImageFunctions.php findet man aber keine Stelle, wo eine Datei geschrieben wird. Viel näher am Geschehen bin ich glaub ich in der File.php:

Code: Alles auswählen

00490         public function createThumb( $width, $height = -1 ) {
00491                 $params = array( 'width' => $width );
00492                 if ( $height != -1 ) {
00493                         $params['height'] = $height;
00494                 }
00495                 $thumb = $this->transform( $params );
00496                 if( is_null( $thumb ) || $thumb->isError() ) return '';
00497                 return $thumb->getUrl();
00498         }
Das transform() wird ebenfalls in dieser Datei definiert. Leider habe ich aber noch nicht den genauen Punkt gefunden, wo das Erzeugen der Datei stattfindet.

Welchen 'großen Aufwand' beim Patchen meinst du denn? Im Endeffekt ist es doch nur, dass sich daran erinnern, in welcher Datei man WAS genau verändert hat, um diese Änderung dann nach dem Update eben schnell wieder einzutragen. Wenn man nich x Änderungen einbaut, bleibt das doch noch überschaubar. Und wo man ansetzen muss und was man getan hat, schreibt man sich natürlich nach seiner Veränderung auf :)
inkasso
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 13. Oktober 2008, 17:12

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von inkasso »

Ok, ich hab die Lösung. Falls du sie doch einbauen möchtest (ist nur eine Zeile Code hinzufügen):

Die Funktion doTransform() in der includes/media/Bitmap.php muss ergänzt werden. Der folgende Code beginnt bei mir etwa bei Zeile 96:

Code: Alles auswählen

		if ( $scaler == 'im' ) {
			# use ImageMagick

			$sharpen = '';
			if ( $mimeType == 'image/jpeg' ) {
				$quality = "-quality 80"; // 80%
				# Sharpening, see bug 6193
				if ( ( $physicalWidth + $physicalHeight ) / ( $srcWidth + $srcHeight ) < $wgSharpenReductionThreshold ) {
					$sharpen = "-sharpen " . wfEscapeShellArg( $wgSharpenParameter );
				}
			} elseif ( $mimeType == 'image/png' ) {
				$quality = "-quality 95"; // zlib 9, adaptive filtering
			} else {
				$quality = ''; // default
			}

			# Specify white background color, will be used for transparent images
			# in Internet Explorer/Windows instead of default black.

			# Note, we specify "-size {$physicalWidth}" and NOT "-size {$physicalWidth}x{$physicalHeight}".
			# It seems that ImageMagick has a bug wherein it produces thumbnails of
			# the wrong size in the second case.

			$cmd  =  wfEscapeShellArg($wgImageMagickConvertCommand) .
				" {$quality} -background white -size {$physicalWidth} ".
				wfEscapeShellArg($srcPath) .
				// Coalesce is needed to scale animated GIFs properly (bug 1017).
				' -coalesce ' .
				// For the -resize option a "!" is needed to force exact size,
				// or ImageMagick may decide your ratio is wrong and slice off
				// a pixel.
				" -thumbnail " . wfEscapeShellArg( "{$physicalWidth}x{$physicalHeight}!" ) .
				" -depth 8 $sharpen " .
				wfEscapeShellArg($dstPath) . " 2>&1";
			wfDebug( __METHOD__.": running ImageMagick: $cmd\n");
			wfProfileIn( 'convert' );
			$err = wfShellExec( $cmd, $retval );

			# Change file permission of created thumbnail to be world-readable
			 chmod($dstPath, 0604);

			wfProfileOut( 'convert' );
		} elseif( $scaler == 'custom' ) {
Ich hab einfach das "chmod($dstPath, 0604);" in der drittletzten Zeile hinzugefügt. Der Block, den ich hier reinkopiert hab, ist der, der aufgerufen wird, wenn die Bilder mit imageMagic umgewandelt werden. Für gd müsstest du das chmod hinter das "$err = wfShellExec( ..." im entsprechenden else-Block für gd schreiben. Dürfte aber leicht zu finden sein.

Viel Spaß mit deinem Wiki - ich bin froh, mein einziges Problem gelöst zu haben :)
Wegen mir kann dieser Thread hier jetzt zu. Wenn du noch Fragen hast, kannst du auch gern per pN fragen - der Acc existiert ja weiter und bei pNs bekomm ich eMail.

Gruß

Manuel
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18
Kontaktdaten:

Re: Etwas Off Topic: Frage an die Wiki Betreiber

Beitrag von dbt »

Jo, Danke für den Tipp. Werds mal probieren. Evtl. sollte man das bei Mediawiki anpinnen. :wink:
Antworten