Category: Game Section

MediaWiki 1.15.2

Zonet heb ik de Game Section geüpgraded naar MediaWiki 1.15.2, welke een belangrijke security fix bevat, en language changes. Zoals gewoonlijk heb ik de upgrade gedaan via het patch bestand. Door de language changes is dit bestand wel 12MB groot, dus een geluk dat ik niet al die kleine bestandjes moet uploaden.

Daarnaast had ik bij vorige patches van MediaWiki voor elke wijziging het doelbestand moeten opgeven. Dankzij de -p optie is dit echter niet nodig. Zo kon ik de eerste 17 cijfers laten knippen, en zo de upgrade volledig automatiseren. Om de een of andere reden lukt dit niet met 17, maar wel met 1. Waarschijnlijk knipt het programma mediawiki-1.5.2 zoiezo weg ...
patch -p 1 -i mediawiki-i18n-1.15.2.patch


Reset backup

Ik heb besloten om vanaf nu 2 weken een backup te bewaren van de Game Section en Online - Urbanus. Dat zal ik doen door naast de huidige backup, ook een kopie te bewaren in een andere map, net voor de originele backup wordt geüpdatet ;)

nice -n 19 rsync -avrz delete "/media/BACKUP/Sites/Game Section" "/media/BACKUP/Sites/Previous"


Tabel optimalisatie

Ik heb zonet de tweede wijziging aangebracht aan mijn cronjobs voor de site. Ik heb met name het backup systeem aangepast, en wel in die zin dat er vanaf nu iedere keer voor het eigenlijke maken van de backup een optimalisatie van de tabellen zal plaats vinden.

Nu is dat op zich niet zo moeilijk: tussen het laden van de tabellen en het backuppen van de tabellen moet ik gewoon de optimalisatie plaatsen. Verder moet ik er gewoon op toezien dat het niet conflicteert met de rest van het script.

Het maken was snel een feit, en na de test bleek er helemaal geen optimalistatie had plaats gevonden. En als ik de bekomen query gebruik via phpMyAdmin krijg ik inderdaad een error te zien. En inderdaad, ik had ' gebruikt ipv. `. Dit aanpassen lost het probleem op.


MediaWiki 1.15.1

En zonet heb ik de Game Section site even snel geüpgraded naar versie 1.15.1. Toen ik zonet naar mijn mails keek, lette ik terug op het mailtje van MediaWiki, en heb ik die letterlijk snel geïnstalleerd.

Ik heb het namelijk nu volledig op de server kunnen doen, waardoor het downloaden aan in enkele seconden was afgerond. Even uitpakken, en gewoon alles kopiëren en de database updaten, en daarmee is de upgrade een feit!

Verder zag ik dat mijn wijzigingen van daarnet gewoon bewaard bleven, wat wel vreemd is. Even kijken naar de skins directory leert me onmiddellijk waarom niet alle, waaronder dus het foor mij gebruikte, skins werden geüpgraded: ze worden niet meer meegeleverd!

Nu vind ik dat niet zo erg, en zal ik dus gewoon een beetje in de gaten houden of alles blijft werken, en zo nodig zoals daarstraks het gewoon aanpassen zodat het terug werkt.


Catlinks in KindofBlue

Zonet viel mij op dat er een probleempje was met de Categorie bar in de wiki sinds de upgrade van gisteren. Er leken namelijk twee catlinks in één te zitten. Leuk als reclame stunt, maar hier toch liever niet :P

Na de HTML code van 1.12 te vergelijken 1.14.1 wordt het probleem duidelijk: de html code om die links te tonen is aangepast, en ze hebben daar niet alle themas die meegeleverd worden op afgestemd.

Dus maar even de volgende commandos gegeven om te ontdekken hoe er mee wordt omgegaan in het standaard thema:

diff /www/gamesect/www/skins/MonoBook.php /home/kevin/Desktop/Downloads/mediawiki-1.14.1/skins/MonoBook.php > skin-php.patch
diff /www/gamesect/www/skins/monobook/main.css /home/kevin/Desktop/Downloads/mediawiki-1.14.1/skins/monobook/main.css > main-css.patch

Bij het php bestand zijn vele wijzigingen aangebracht, waarvan de meeste fixes om overtollige tabs in de code te verwijderen. Verder zijn er enkele aanpassingen te zien vanwege aanpassingen aan het systeem, zoals SkinTemplate:: vervangen door parent::, maar die geven hier geen problemen ...

Dus maar even zoeken naar catlinks. Dan zie ik 1 aanpassing, wat logisch is, aangezien het om één regel gaat :P. Als ik die aanpas hebben we al de eerste stap gezet naar een gefixt thema.

Open skins/KindofBlue.php en zoek:

	    <?php if($this->data['catlinks']) { ?><div id="catlinks"><?php       $this->html('catlinks') ?></div><?php } ?>

Vervang met:

	    <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>

Dan over naar de CSS. Ook daar zijn de nodige aanpassingen gedaan, waarvan ik enkele, zoals success, misschien nog wel eens zal ontdekken in het gebruik, en dus zal doorvoeren. Voor de catlinks is er terug één wijziging: #catlinks is vervangen door .catlinks.

Als ik dat doorvoer los ik een probleem op, maar krijg ik er een nieuw voor in de plaats: nu is er geen margin meer tussen de links en het kader. Dit komt omdat KindofBlue daarop steunt met #catlinks p, maar aangezien die verdwenen is moeten we dit afhandelen met .catlinks. Daarmee krijgen we het volgende:

Open skins/kindofblue/main.css en zoek:

#catlinks {
    background-color: #F2F6FF; /* very light blue */
    border: 1px solid #CBDDFF; /* light blue */
    clear: both;
    margin: 1em 0;
	}

#catlinks p {
    margin: 0.5em;
    }

Vervang met

.catlinks {
    background-color: #F2F6FF; /* very light blue */
    border: 1px solid #CBDDFF; /* light blue */
    clear: both;
    margin: 1em 0;
    padding: 0.5em;
    }

MediaWiki 1.14.1

Ik heb zonet, eindelijk? :P, MediaWiki van de Game Section site geüpgraded aar 1.14.1. Deze had ik namelijk nog op de computer staan, en aangezien de downloads offline lijken ...

Het is in ieder geval een stap vooruit. Het beste is de tar pas uitpakken op de server, dus heb ik die maar even geüpload, waarbij ik nieuwe snelheidsrecords brak, voor Eggewaarts :P.

Na deze te uit gepakt te hebben maar alle bestanden kopiëren, en dit ging de eerste keer dus mis. Hier heb ik dus voor de eerste keer kunnen genieten van mijn nieuwe backup systeem bij PCextreme. Na het kopiëren de database updaten (vanaf de comandline) en klaar is kees.

Toch bleek dat er een probleem was bij de meer ingewikkelde pagina's, en even zoeken levert mij deze pagina op, die meteen toont hoe het opgelost moet worden ;)


Game Section Download system

Vandaag heb ik het systeem om games te downloaden op de Game Section eindelijk aan de praat gekregen bij PCextreme.

Ik had de work-around voor de bug die er voor zorgde dat alle ellende met het domein startte had ik al op 5 juli geschreven, en dat ging perfect, althans lokaal.

Nu had Icy faviouz me iets interessants medegedeeld. Met die informatie kon ik wat gerichter gaan zoeken: waarom gaan die twee spelletjes wel, en al die anderen niet?

Eerst heb ik gekeken of er een verschil was tussen de permissies van die twee files, en andere. Dit bleek niet het geval te zijn. Maar na wat te prutsen met de code viel me opeens iets op: beiden hadden slechts een zeer kleine naam. En na wat testen bleek hij te blijven stroppen bij 4 karakters + de extensie.

Als ik de bestandsnaam van zo'n swf bestand kopieerde naar gedit bleek dat die 99 karakters lang was. En dat lijkt me een opvallend getal om willekeurig te zijn, dus heb ik maar snel eens in pcltar.lib.php op het getal 99, en al snel bleek dat men stopte wanneer de bestandsnaam van een bestand dus langer dan 99 karakters was.

Na wat zoeken op google vond ik deze pagina, waaruit ik kan concluderen dat er dus ooit een idiote limiet was voor bestandsnamen tot 99 karakters. u is dit heden te dagen opgelost, en kan die cotrole dus verwijdert worden. Verder is de controle in pcltar volgens mij incorrect, aangezien de limiet volgens mij slaat op bestandsnamen in een tar, en niet van de bronbestanden, en aangezien die gewoon verwijderd worden ...

Met die aanpassing is het probleem nu in ieder geval opgelost ;)


http_post_fields()

Ooit wil ik eens een plugin maken voor de Game Section waarmee alle forums die die plugin installeren zich verbinden met één centrale database waar alle champions van alle games van alle forums in staan. Daarmee kan je dan kijken wie de beste is van allemaal.

Die informatie zou dan naar een script moeten worden gezonden via POST, en dat vroeg ik me een beetje af: hoe doe je dat met PHP. Ik wilde dat nu even opzoeken voor ik verder ging met het download systeem van de Game Section.

Op php.net vind ik de functie http_post_fields() waarmee ik dus gemakkelijk de nodige informatie kan verzenden met het post protocol. Die functie is echter onderdeel van pecl_http, en die staat niet in de repository van Ubuntu. Even zoekt me dat PECL een reposotory is voor php add-ons, en dat ik die kan installeren via het pakket php-pear.

Verder vereist het gebruik van PECL nog het pakket php5-dev, aangezien pecl de extensies dient te compileren. Voor pecl_http heb ik nog libcurl4-openssl-dev nodig.

Na de installatie van die drie pakketten gewoon het volgende commando ingeven, en pecl_http is klaar:
sudo pecl install pecl_http

Even pecl_http toevoegen aan de ini bestanden en ik kan deze functie eens uitproberen ...

05/07/2009, 16:32:
Om die wijzigingen toe te passen moet apache natuurlijk nog herstart worden:
sudo /etc/init.d/apache2 restart


Urbasearch: 3,5MB

Om 12 uur kreeg ik dan het mailtje, het mailtje dat het einde inluidde van het oorspronkelijke Urbasearch project, maar niet het einde van Urbasearch. Urbasearch blijft verder bestaan, maar enkel nog als zoekmachine van Online - Urbanus om zo snel en gemakkelijk de site te doorzoeken.

Verder heb ik ook hier en daar een aanpassing gemaakt aan Urbasearch, namelijk aan de info voor webmasters. Daar heb ik de melding geplaatst van de verandering, en heb ik het menu aangepast. De originele teksten blijven dus behouden, als een soort van nostalgie.


Backup Ruimte

Maandag heb ik bij de bestelling van de verhuizing van gamesection.org ook 1GB backup ruimte besteld, aangezien ik niet genoeg plaats zal overhebben na de verhuizing van de Game Section website om nog backups op te slaan, en die backup ruimte kost me slechts €12 per jaar.

Op deze manier kan ik vanaf nu elke dag de backup op de backup server bijwerken, en zo heb ik vanaf nu een snel toegankelijke backup van al mijn gegevens. Verder backup ik dan ook elke week alle bestanden naar de computer hier zodat ik ook een backup heb voor in geval dat ik een probleempje oploop bij het programmeren van een nieuw systeem, wanneer de oude bestanden nodig zijn om terug te kunnen stappen naar het originele werkende systeem.

Dit alles zal uiteraard verlopen via rsync. Verder worden ook de database backup van de Game Section Community Forums en het Online - Urbanus Forum op de backup server geplaatst om zo plaats te besparen. De eerste heeft namelijk momenteel 1,5MB nodig per backup, en dat voor 30 backups ...

Nu worden die backups dus automatisch verwijderd. Van de Community Forums is dat elke dag. Nu, wanneer dat die backups op de backup server staan is het echt wel gemakkelijker om die backups ook van daaruit te verwijderen.

Om dat te verwezenlijken moest ik nu (25 februari 2009 ;)) nog enkel mijn crontab file in gebruik te nemen, en dat was al snel gebeurd. Maar mij viel op dat ik de vorige commando's niet kon bekijken op de backup server. Even kijken en ik zag dat de backup server gebruik maakt van sh, terwijl ik thuis, en op de PCextreme servers gebruik maak van bash.

Nu had ik graag ook op de backup server dat graag zo gehad, al zal ik daar natuurlijk niet zoveel gebruik maken van de commandline, maar toch ... Dus, heb ik dit maar snel opgezocht:
Met het commando chsh kan je het shell programma wijzigen, wat ik dan ook gedaan heb. Vanaf nu heb ik ook op de backups server bash dus ;)