Van Greymatter naar Nucleus

         
 


Archief

Over Aad

PGP publickey

 

Update: 18-10-2021 16:56

This page is also available in English.

Waar gaat deze pagina over?

Hier een kort verslag van mijn ervaringen opgedaan bij de conversie van de weblog Zwavelaars van Greymatter (GM) naar Nucleus. (Zie ook hier voor een eerdere conversie van Blogger naar Greymatter.)

Waarom Nucleus i.p.v. GM?

In het verhaaltje over de conversie naar GM heb ik al het nodige gezegd over de slechte punten van GM. Met het groeien van het aantal berichten op Zwavelaars en het daardoor tweemaal zo snel groeien van de bestanden, werd het toevoegen van een bericht steeds trager. Om nog maar te zwijgen van de tijd die nodig was voor een complete rebuild. Ik was mede daarom op zoek naar een andere weblog-tool waarbij ik een grote voorkeur had voor een op PHP gebaseerde versie en dan ook liefst met MySQL als plek waar de berichten opgeslagen worden. Pivot is op basis van PHP, ziet er goed uit maar slaat zijn data op in losse bestanden. Nucleus voldoet aan al mijn wensen en met versie 1.1 waren ook enkele ruwe kantjes uit de 0.9x versies verdwenen.

Hoe heb ik de conversie gedaan?

Niets bijzonders, eerst uitgeprobeerd onder een andere account en daarna gewoon de installatie-procedure gevolgd. Er zit ook een eenvoudig en prima werkend script bij die de GM berichten in Nucleus inleest. Geen probleem, piece of cake.

Een paar losse eindjes...

Na een maandje tot volle tevredenheid met Nucleus gewerkt te hebben, zag ik in mijn Nedstat-statistieken dat nog vrij veel mensen via "oude" links mijn weblog vonden. Google geeft nog verwijzingen naar een oud bericht (bijvoorbeeld: http://zwavel.com/~zwavelaars/00000432.php) of een oude archive (zoals http://zwavel.com/~zwavelaars/archive-092001.php). Om nu zoveel mogelijk oude GM-rommel op te ruimen en dit type bestanden zodanig intern te veranderen dat ze een gebruiker automatisch doorsturen naar het Nucleus-equivalent, heb ik het volgende bedacht:

Vul de "000xxx.php" file met een stukje javascript dat de bijbehorende Nucleus-aanroep doet; Iets in de vorm van http://zwavel.com/~zwavelaars/index.php?itemid=yyy. Bij mij bleek, GM bericht xxx, Nucleus itemid "xxx+121" te zijn. Ik heb nu met het volgende shell-script de GM bericht-bestanden omgezet:

#!/bin/bash

for php in 0*.php
do

numid=$(basename $php .php)
num=$(expr "$numid" : '[^1-9]*\([1-9][0-9]*\)$')
numok=$(expr $num + 121)
echo "numid=$numid, num=$num, $numok"

cat <<EINDE >$php
<html>
<head>
<title>Redirection</title>
</head>
<body>
<script language="javascript">
location="http://zwavel.com/~zwavelaars/index.php?itemid=${numok}"
</script>
</body>
</html>

EINDE

done

De archives van de vorm "archive-mmjjjj.php" moeten doorverwijzen naar een aanroep van "http://zwavel.com/~zwavelaars/index.php?archive=jjjj-mm&blogid=2" (waarbij blogid=2 bij mij het blogid van de "productie versie" van Zwavelaars is. Om dit om te zetten heb ik het volgende scriptje gebruikt:

#!/bin/bash

for php in archive-*.php
do

file=$(basename $php .php)
odat=$(expr "$file" : 'archive-\([0-9]*\)$')
j=$(expr "$odat" : '.*\(....\)$')
m=$(expr "$odat" : '\(..\)....$')

cat <<EINDE >$php
<html>
<head>
<title>Redirection</title>
</head>
<body>
<script language="javascript">
location="http://zwavel.com/~zwavelaars/index.php?archive=${j}-${m}&blogid=2"
</script>
</body>
</html>

EINDE

done

Hierna kon ik alle .cgi-files weggooien en natuurlijk ook alle GM-files en Perl-scripts.

Al met al ben ik sinds 8 juni 2002 zonder al te veel problemen over op Nucleus. Mocht iemand vragen en/of opmerkingen hebben, stuur ze in een mailtje.