itch.io-Bundle-Spiele automatisiert in die Bibliothek einbinden

Auf itch.io werden unter anderem Indy-Spiele angeboten und verkauft. Vor kurzem wurde auf der Plattform das Bundle Bundle for Racial Justice and Equality verkauft. In diesem Bundle waren über eintausend Spiele enthalten. Diese Spiele tauchen allerdings nicht automatisch in der Bibliothek auf, stattdessen müssen sie auf der separaten Bundle-Seite aufgerufen werden und erscheinen erst dann in der Bibliothek.

Die Einstellungsseite des ScriptAutoRunner

Diesen Prozess von Hand für alle Spiele durchzuführen ist etwas aufwändiger, allerdings kann der Prozess mit einer Chrome-Erweiterung automatisiert werden.

Nachdem der ScriptAutoRunner erfolgreich als Erweiterung installiert wurde, können die Optionen der Erweiterungen über die Extension-Verwaltung und die Erweiterungsoptionen der Erweiterung geöffnet werden. Alternativ kann einfach die direkte URL im Chrome eingegeben und aufgerufen werden:

chrome-extension://gpgjofmpmjjopcogjgdldidobhmjmdbm/options.html

Dort muss nun ein neues Skript angelegt und mit folgendem Inhalt befüllt werden:

if (!window.location.toString().includes("/bundle/download")) { 
  window.history.back(); 
} else if ($('[value="claim"]') && $('[value="claim"]')[0]) {
  $('[value="claim"]')[0].click();
} else {
    $('.next_page')[0].click()
}

Nachdem das Skript wie auf dem Bild aktiviert wurde, kann die URL des Bundles aufgerufen werden und der entsprechende Prozess beginnt. Innerhalb von einigen Minuten werden alle Detailseiten der jeweiligen Spiele aktiviert und diesen landen in der Bibliothek des eigenen itch.io-Kontos. Im Anschluss kann das entsprechende Skript wieder deaktiviert werden.

Piwik Integration in MediaWiki

Mit der Erweiterung Piwik Integration gibt es eine aktiv entwickelte Möglichkeit Piwik in MediaWiki-Seiten zu integrieren. Um die Erweiterung in Betrieb zu nehmen muss der Quelltext auf GitHub bezogen werden. In der MediaWiki-Installation wird der Quelltext in den Ordner extenstions/Piwik/ kopiert. Anschließend muss die LocalSettings.php bearbeitet werden. Dort werden folgende Zeilen hinzugefügt:

#Piwik
require_once "$IP/extensions/Piwik/Piwik.php";
$wgPiwikURL = "piwik.example.com";
$wgPiwikIDSite = "3";

Die Werte $wgPiwikURL und $wgPiwikIDSite müssen dabei natürlich durch die korrekten Werte ausgetauscht werden. Bei der $wgPiwikURL muss darauf geachtet werden das kein Protokoll (HTTP/HTTPS) mit angegeben wird, da die Integration sonst fehlschlägt.

Piwik in die MediaWiki integrieren

Um Piwik in die MediaWiki zu integrieren gibt es eine Extension die auf den „Piwik Integration“ hört. Das Problem dieser Extension ist das sie seit 2009 nicht mehr weiterentwickelt wurde. Bedingt dadurch funktioniert das ganze nicht mehr mit der aktuellen Media Wiki Version.

Abhilfe schafft hier die Extension „PCR GUI Inserts“ welche unter http://www.mediawiki.org/wiki/Extension:PCR_GUI_Inserts zu finden ist. Mit dieser Extension ist es möglich Code auf der MediaWiki einzubinden. Im Gegensatz zu anderen Verfahren, wie z.B. dem direkten editieren der Templatedateien funktioniert diese Lösung auch nach einem Update der MediaWiki Version weiter.

Für die Installation muss man dabei folgende Schritte befolgen:

  • Extension herunterladen
  • den entpackten Ordner in den „extensions“ Ordner der MediaWiki hochladen
  • die „LocalSettings.php“ bearbeiten

Bei der Bearbeitung der „LocalSettings.php“ muss nur die Zeile:

require_once( "$IP/extensions/PCRGUIInserts/pcr_guii.php" );

an das Ende der Datei angefügt werden. Danach ist die „PCR GUI Inserts“ Erweiterung aktiv. Nun muss nur noch der Piwik Tracking Code eingebaut werden. Dazu gibt es in der entsprechenden Wiki ein schönes Beispiel:

$wgPCRguii_Inserts['SkinAfterBottomScripts']['on'] = true;
$wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = '<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.example.com/" : "http://piwik.example.com/");
document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\' type=\'text/javascript\'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://piwik.example.com/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>';

Diese Zeilen werden dabei auch in die „LocalSettings.php“ geschrieben. Natürlich müssen die entsprechenden Domainnamen angepasst werden, sowie die passende Nummer für die zu trackende Webseite benutzt werden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Piwik
http://de.wikipedia.org/wiki/MediaWiki

Neue MediaWiki Nutzer per Mail bestätigen

Vor ein paar Tagen schrieb ich einen Artikel wie man Spam in der MediaWiki bekämpft. Die Methode an sich ist nicht schlecht, weil keine Einträge mehr verändert werden. Allerdings gibt es immer noch einige Nutzer die sich angemeldet haben, allerdings klar als Spambots zu erkennen sind.

Um zu verhindern das sich solche Spambots überhaupt anmelden können gibt es die Extension ConfirmAccount welche unter http://www.mediawiki.org/wiki/Extension:ConfirmAccount zu finden ist. Die Extension sorgt dafür das ein MediaWiki Bürokrat den Account erst bestätigen muss. Das kann dabei so eingestellt werden, das dieser eine Mail bekommt sobald der Nutzer die Mailadresse bestätigt hat. Nach dem Download der Extension sollte diese entpackt werden und der Ordner ConfirmAccount in den extensions Ordner hochgeladen werden. Nun müssen noch die Einstellungen in der LocalSettings.php angepasst werden:

#ConfirmAccount
require_once("$IP/extensions/ConfirmAccount/ConfirmAccount.php");
$wgUseRealNamesOnly=false;
$wgAccountRequestMinWords=0;
$wgAccountRequestToS=false;
$wgAccountRequestExtraInfo=false;
$wgConfirmAccountContact="";

Anschließend muss die MediaWiki noch geupdatet werden. Mittels Shellzugang sieht das ganze so aus:

php maintenance/update.php

Weitere Methoden für das Update sowie Optionen der Erweiterung sind auf der entsprechenden Seite beschrieben. Danach ist die Erweiterung installiert und sollte ihren Dienst verrichten.