Paretje's blog

MyBB 1.4

Zo'n 14 dagen verscheen MyBB 1.4, de langverwachte nieuwe versie van MyBB 1.4. De periode na zo'n release verloopt altijd nogal hectisch: plugins moet geüpgraded worden en mensen stoten op problemen in de nieuwe versie, ondanks de zorgvuldige test-procedure.

Bij mij is het de bedoeling dat de Usermap plugin morgen wordt bijgewerkt. Daarna ga ik een beetje tijd investeren in MyBBDesign. Deze draait namelijk nog op MyBB 1.2, en dat willen we veranderen. Verder zullen er ook nieuwe mogelijkheden worden toegevoegd én alles komt terug in een nieuw jasje.

Daarna zal ik mijn Reputatie Manager upgraden. Die moet in feite volledig herschreven worden. Verder zal de Game Sectie een experimentele MyBB 1.4 versie krijgen gebaseerd op Game Section 1.1, zonder AdminCP.

Wanneer Game Section 1.2 dan klaar is, dan zal ik Online - Urbanus volledig laten overstappen op mijn systeem gebruikmakend van MyBB 1.4. Dat wil zeggen dat alles met elkaar verboden zijn, en dat zal dus verder gaan dan enkel de skin.

Vandaag wilde ik nog eventjes een nieuw ideetje doorvoeren, maar ik deed het te vluchtig en het ging fout. De backup die ik ervoor maakte met MyBB leek niet te werken (ik heb het bord nog niet overgezet naar de MyBB 1.4 GOLD. Dat is omdat ik het al lange tijd niet meer gebruikt heb. Ik had nog wel een backup van half-juli, en ik heb blijkbaar niets meer gedaan meer naar het einde van de maand.

Dit voorvalletje heeft er wel voor gezorgd dat mij cronjob nog wat uitgebreid is, er zijn met name terug 2 lijnen toegevoegd die de goede gang van zaken van de backup van de database van mijn offline Online - Urbanus versie verzekert.

Ook ben ik beginnen te denken om misschien ook PM meldingen te tonen, want dat had ik er oorspronkelijk uitgesloopt voor de site. De container is in ieder geval onzichtbaar nu. Ook zal ik dan de plugin klaarstomen die alle aanpassingen aan het forum regelt (laden van menu, ...) en documentatie over die ene aanpassing aan de bestanden: het bepalen van de taal.


Media Center met MythBuntu

Binnenkort krijg ik normaal gezien een computer van mijn neef, want deze zal een laptop kopen.

Ik loop al een tijdje met het idee van een Media Center rond, en dit is de ideale gelegenheid. Normaal zal ik in augustus een drietal weken werken, waardoor ik dus een beetje geld zal hebben voor de nodige aanpassingen, waarvan de voornaamste een TV-kaart.

Voor mijn Media Center zal ik, uiteraard MythBuntu gebruiken, welke op zijn beurt gebruikt maakt van MythTV. Hetgeen ik er al van gezien heb ziet er goed uit, en het lijkt me een prima distributie voor een Media Center, zonder veel overbodigheden (het gebruikt verder het lichte XFCE4).

Tot voor kort stond de router beneden in de kamer van mijn ouders (daar komt de telefoonleiding binnen). Dat wil zeggen dat ik voor mijn Media Center een kabel zou moeten maken van meer dan 20 meter! Dat is natuurlijk wat veel, zeker als je weet dat er al een telefoonkabel naar boven loopt voor in noodgevallen, en ik heb heel wat Cat5 kabel, maar geen 20 meter aan een).

Gisteren heb ik dat dan ook voltooid en heb ik een tang (crimp tool) en twee RJ45 connectoren gekocht. Die connectoren kosten niets (€1,33), maar die tang vond ik vrij duur, maar die zal ik wel "voor het leven" hebben. Zo heb ik dan een nieuwe kabel gemaakt die van de router naar mijn computer loopt. De kabel die gebruikt werd om van mijn router naar mijn computer te gaan gaat nu van de router naar de computer beneden.

Op die manier is de eerste stap gezet in de richting van mijn Media Center, waar zeker nog meer over zal volgen.


Paretje's Repository

Begin deze maand melde ik dat ik net had gezien dat in het debian pakket van Simutrans geen afvalverwerking of voedselproductie bevatte. Toen heb ik dat zelf toegevoegd, maar heb dan ook eventjes gekeken om er een pakket van te maken.

Ik had daar toen een paar probleempjes mee, met name met de optie Installed-Size. In feite weet ik nog altijd niet hoe ik daaraan moet komen. Ik had echter een tijdje geleden het pakket falcon tegengekomen waarna ik wel goesting kreeg om eens een repository samen te stoppen. Ook had ik al ontdekt dat die optie niet verplicht was, en dus mijn pakket correct is.

Met falcon is het eigenlijk heel simpel, zolang je de documentatie goed leest. Die documentatie klopte echter niet met het pakket bij Ubuntu. Die is namelijk aangepast om een conflict met een ander pakket met (ongeveer) die naam te vermijden. Zonet heb ik echter gezien dat ik dan waarschijnlijk gewoon falcon-start moet gebruiken in plaats van falcon.

Ik heb dan mijn repository ingesteld en mijn pakketten toegevoegd. Daarna zag ik ook dat je met de functie mirror geen mirror maakt van een andere repo, maar een van de repo die je gemaakt heb. Op die manier kan ik die repo dus publiekelijk maken zonder problemen.

En dat is nu gebeurd: Paretje's Repository staat nu online:
http://repo.Online-Urbanus.be

24/07/2008, 22:05:
Er is een categorie toegevoegd voor dit nieuw project. Verder zal er in de toekomst waarschijnlijk nog een pakket komen voor pak128 van simutrans, na controle of dit wel onder een vrije licentie valt. Verder zullen pakketten die ik mis in Ubuntu vanaf nu hierin toegevoegd worden.


Logo

Ik heb zonet gevonden hoe ik met GIMP een tekst met shaduw met tekenen, waarna ik een logo heb gemaakt voor dit Paretje's blog: het logo van Online - Urbanus met daarop "Paretje's blog" met schaduw.

Een tijdje geleden heb ik gezocht hoe dit moest, maar toen lukte me het niet en heb ik het gevraagd aan P@trick die het vrijdag zal doen. Nu is het me gelukt om een scriptje te installeren om schaduw toe te voegen aan lagen met GIMP. Ik dacht daarvoor een pakket gevonden te hebben, maar werd geen enkel script geladen. Ik heb toen heel wat afgezocht en zal het zeker nog wel eens uitzoeken.

Ik heb het nu gevonden om het script te downloaden en waar ik dat bestand dan moet plaatsen, wat ik gevonden heb via de instellingen van GIMP. Daarmee heb ik het enige wat ik momenteel heb gemist in GIMP ook ontdekt.


Quote Links

Gisteren avond en deze voormiddag heb ik een systeem gemaakt dat de quotes gemaakt met behulp van de Quote Link moddificatie converteert naar de nieuwe uitgebreide quotes van MyBB 1.4. MyBB 1.4 biedt die functionaliteit namelijk standaard aan, waardoor deze mod natuurlijk niet meer nodig is.

Daarom wilde ik dat alle quotes die voor MyBB 1.4 in combinatie van de Quote Link mod zijn geplaatst converteren naar dat nieuwe systeem. Naast het systeem om te linken naar het geciteerde bericht bevat het systeem van MyBB 1.4 echter ook een systeem die de datum van dat bericht toont.

Om die reden is het niet gewoon de pid verplaatsen in de code, maar ook de dateline plaatsen, die moet echter uit de database gehaald worden, aangezien dat niet werd gebruikt met de Quote Link mod. Daarom haal ik eerst alle datelines op, waarna ze ik bij het converteren laad naar aanleiding van de pid.

Ik had echter eerst een probleempje, maar uiteindelijk vond ik een uitweg aan de hand van de code voor het parsen van de nieuwe quotes in MyBB 1.4, namelijk dat ik de reguliere expressie moet afsluiten met #esi, in plaats van met #si. Anders wordt de functie die ik aanroep om dan alles te verwerken van de dateline niet aangeroepen.


Game Section 1.2 beta 3

Het is bijna een magisch moment: een week later dan eerst gedacht is de derde beta van Game Section 1.2, meteen ook de eerste MyBB 1.4-only versie van de Game Section.

In mei ben ik hiermee begonnen: het compatibel maken van de Game Sectie, en dat was een werkje van lange aard, vooral omdat de examens, en dan een weekje "Holland" in die periode viel.

Maar er is heel wat gebeurd:
- De Game Sectie is 100% compatibel met MyBB 1.4, met uitzondering van de bots database bij de Who's Online functie
- - Daarmee hangt samen dat het management systeem van de gamedata sterk verbeterd is. Nu is het ook mogelijk om een overzicht te krijgen van de mappen in arcade/gamedata.
- Er is een tool toegevoegd die de gamedata netjes opruimt: lege mappen en mappen van games die niet in de database staan
- Het systeem van de Last Champions gebruikt nu een cache, zodat élke nieuwe kampioen in die lijst zet, ook wanneer een gebruiker zichzelf verbeterd
- En natuurlijk is er daarvoor ook een reparatie tool voor wanneer je het systeem eerst uit had gezet, en nu toch wil gebruiken. Die zal dan wel gebruik maken van de database van champions, waardoor die oude kampioenen NIET vermeld zijn na de reparatie.
- Een credits pagina: een pagina waar een overzicht staat van alle personen die meehielpen met de release van de Game Sectie, en mensen die je achteraf zullen helpen: developers, vertalers, beta testers en het support team.
- En vele bugfixes


.htaccess

Standaard werken mijn .htaccess bestanden niet lokaal, en dat is wel eens ongemakkelijk als je iets met htaccess wil proberen, zoals bij de verhuis van de Game Section forums in oktober.

Eventjes zoeken met Google leverde me op dat de apache instelling "AllowOverride" waarschijnlijk gewoon uit stond, waardoor .htaccess bestanden gewoon werden genegeerd.

Toen kon ik al een php instelling veranderen met een htaccess bestandje, maar de nieuwe vriendelijke URL's van MyBB werkten echter nog steeds niet. Eventjes kijken naar dat bestand leverde de volgende conclusie op: de rewrite-mod was nog niet geactiveerd. Even een restart en alles werkt ;)


Backups

Vroeger had ik een cronjob die er voor zorgde dat er elke week een backup werd gemaakt van alle bestanden op Online - Urbanus. Toen de Game Sectie nog hier stond en die begon te groeien kwam ik alsmaar dichter in de beurt van mijn limiet, waarna ik dit ben gestopt.

Maar, eigenlijk gebied de veiligheid mij wel om dit toch te doen. Daarom zal ik een PHP-scriptje maken die een backup maakt, controleert op errors, en daarna een mailtje zendt met de melding dat de backup klaar is, en de vraag om die te downloaden.

Eerst natuurlijk het juiste commando vinden. Dat leek gemakkelijk, maar achteraf werd het tegendeel bewezen. Het is namelijk zo dat ik de backups, logs en statistieken natuurlijk niet mee wil backuppen. Dit kan bereikt worden door het gebruik van een exclude argument toe te voegen aan het commande, waardoor ik dit kreeg:
tar -czvf /home/online-urbanus.be/.backups/files/backup.tar.gz /home/online-urbanus.be exclude=/home/online-urbanus.be/logs exclude=/home/online-urbanus.be/stats exclude=/home/online-urbanus.be/.backups

Maar, met die code kreeg ik van alle exclude's na het maken van de backup de melding "Cannot stat: No such file or directory". Dat wil zeggen dat er ook telkens een backup zou worden gemaakt van mijn backups, wat natuurlijk niet de bedoeling is. Na wat "googelen" vond ik deze site, waarna ik de volgende code kreeg:
tar exclude=/home/online-urbanus.be/logs exclude=/home/online-urbanus.be/stats exclude=/home/online-urbanus.be/.backups -czvf /home/online-urbanus.be/.backups/files/backup.tar.gz /home/online-urbanus.be

Nu werkt deze code wel, en kan ik mijn scriptje maken die dit commando uitvoert, de uitvoer aftapt, mogelijk controleert op errors en daarna mij een mailtje stuurt. Maar dat is natuurlijk niet ideaal, zeker dat laatste. Toch zou ik graag een versie van de backup op een andere plaats willen dan op de server zelf.

Daar kan ik in de toekomst wel een mauw aanpassen door een backupruimte van 1GB bij PCextreme (meer dan genoeg: de backup is een kleine 100MB groot) en daar zou ik dan ook een backup van de Game Section bij plaatsen. Dit zou me dan zo'n €12 per jaar kosten.


MySQL-backup zonder MySQL?

Daarstraks om 1 uur kreeg ik 3 mailtjes met (ongeveer) de volgende inhoud:
Fatal error: Call to undefined function mysql_connect() in /home/kevin/.cronjobs/develop12.php on line 18

Tja, daar had ik niet aan gedacht: als er geen php.ini wordt gebruikt, wordt MySQL ook niet geladen, en dan gaat een backup van een MySQL nogal moeilijk.

Aangezien PHP-GTK altijd wel een minderheid zal uitmaken van mijn gebruik van PHP heb ik PHP-GTK toch maar uit de ini verwijderd. Eventuele programmaatjes zal ik waarschijnlijk toch gewoon compileren. En voor tijdens het ontwikkelen van die eventuele programmaatjes (waarschijnlijk zal het altijd bij een aantal tests blijven, ik hou meer van programmeren voor het web) heb ik er voor gezorgd dat alles met een simpele truc dan toch nog werkt. Dat wordt dan bijvoorbeeld:
php -c /etc/php5/cli/php-gtk.ini /home/kevin/Desktop/test.php

Ik heb met andere woorden een tweede alternatieve php.ini aangemaakt waarin PHP-GTK wel wordt geladen, en die hoeft dan gewoon aangeroepen te worden.


Cronjobs en PHP-GTK ...

Een tijdje geleden heb ik PHP-GTK geïnstalleerd om in de zomer na de Game Sectie en al mijn andere plugins afgewerkt te hebben mezelf de mogelijkheid te geven eens te experimenteren daarmee. Daarvoor heb ik een kleine aanpassingen moeten doen aan de ini, met name de code om PHP-GTK te laden, en daardoor werken mijn cronjobs met PHP-scripts niet meer.

Daarstraks had ik de mail server geïnstalleerd, waardoor ik nu een mailtje kreeg met de volgende error:
Could not startup.

Dat leerde me nu niet bepaald veel bij, maar als ik daarmee eventjes zoek op google vindt ik al snel deze pagina op het Ubuntu-forum. En op die maneer kom ik te weten dat PHP-GTK laden in je ini en een cronjob draaien met diezelfde php-installatie niet werkt.

Maar, op die pagina vind ik ook meteen de oplossing, gewoon php -n gebruiken in plaats van php. Dat wil zeggen dat de ini genegeerd zal worden en ik dus geen last meer heb van PHP-GTK in mijn cronjobs.

Binnen een 45-tal minuten zal ik nu weten of mijn backups na meer dan een maand terug zullen werken.