Daniel73 vroeg me per e-mail of mijn PunBB-naar-HTML-converter bruikbaar is voor Caspar, en of ik de McDrake-fora eenmalig wil omzetten. De antwoorden zijn: ja, in principe wel, en: ja, ik wil het wel proberen als het Caspar niet lukt.
De converter heet punbbdownloader, en is gratis met broncode beschikbaar op:
http://code.google.com/p/punbbdownloader/Het betreft een aantal Python-scripts, die vooralsnog alleen in
Ubuntu getest zijn. De code is nogal rommelig, inefficiënt en zit vol met bugs. Gebruik is op eigen risico (zie de
licentie). Het is echter niet moeilijk om ermee om te gaan: je moet alleen een paar commando's overtypen.
Het programma werkt in drie stappen:
1. Download alle relevante pagina's (categorieën, topics, profielen, enz.) naar een map.
2. Download alle media (opmaak, smiley's, avatars) naar een andere map.
3. Maak een kopie van de pagina's, waarin onbruikbare HTML (zoals de reply-knop) is weggehaald en links voor zover mogelijk zijn aangepast.
Het resultaat kun je bijvoorbeeld in een ZIP-bestand als download aanbieden. Het betreft een map die duizenden bestanden kan bevatten. Trage computers zouden hier problemen mee kunnen hebben, maar voor zover ik weet werkt het
archief voor McDuck zelfs in Windows XP.
Zoals gezegd wil ik wel eenmalig proberen McDrake's neddisney, nedofftopic en engdisney door punbbdownloader te halen. Ik kan niet verzekeren dat het me lukt. Ik vermoed dat bovenstaande stappen 1 en 2 wel lukken, waardoor je in ieder geval de tekst en avatars hebt maar misschien geen werkende interne links.
Als je hier gebruik van wilt maken, stel ik voor dat je de forums voor 1 september bevroren klaar hebt staan, en ik mijn poging voor 1 oktober onderneem. Stuur me een e-mail als de forums klaar zijn.
(Voor McDuck heb ik ook wel eens archieven in platte tekst gemaakt met
punbbarchiver. Dat werkt voornamelijk met PHP, maar daar kan ik niet meer mee helpen.)
Hier volgen de instructies voor punbbdownloader. Vragen kun je hier stellen, maar stuur me ook een e-mail zodat ik niet vergeet te kijken.
INSTRUCTIES VOOR DE BEHEERDER (Daniel73)1. Maak een lokale backup van de database!
2. Zorg dat er even niemand kan registreren, inloggen of posten. Ik denk dat ik dat deed door alle wachtwoorden in 1x te verwijderen in de database. Caspar weet vast wel hoe dat moet. Misschien moet je ook in config.php de $cookie_seed veranderen, zodat iedereen wordt uitgelogd.
3. Maak de bovenbalk klaar voor de backup: verander eventueel de extra links (McDrake overzicht, Wiki, Nieuws) en de aankondiging ('Je bekijkt nu een bevroren versie van het forum'). Het plaatje met de neefjes rechtsboven moet je misschien weghalen, of verhuizen naar een ander adres dan het online engdisney-forum.
INSTRUCTIES VOOR DE BACKUPPER (Caspar, of desnoods ik)1. Maak backups van je eigen bestanden.
2. Installeer Ubuntu. (Als je hier geen ervaring mee hebt, pas goed op dat je je Windows-installatie niet kwijtraakt.)
3. Start de pc op in Ubuntu.
4. Open de terminal: Toepassingen > Hulpmiddelen > Terminalvenster.
5. Voer in de terminal de volgende commando's uit, en volg de instructies:
- Code: Selecteer alles
sudo apt-get install mercurial python-utidylib
mkdir bb
cd bb
hg clone https://punbbdownloader.googlecode.com/hg/ punbbdownloader
De volgende stappen volg je per forum. Als voorbeeld heb ik 'engdisney' genomen.
6. Voer uit:
- Code: Selecteer alles
mkdir -p engdisney/download
mkdir -p engdisney/media
mkdir -p engdisney/engdisney
gedit engdisney/punbb.cfg
7. De teksteditor 'gedit' start op. Voer de volgende tekst in, sla het bestand op en sluit gedit af.
- Code: Selecteer alles
[Extern]
location = http://bb.mcdrake.nl/engdisney/
[LocalTargets]
download = engdisney/download/
media = engdisney/media/
output = engdisney/engdisney/
8. Voer uit:
- Code: Selecteer alles
python punbbdownloader/download.py engdisney/punbb.cfg
python punbbdownloader/getmedia.py engdisney/punbb.cfg
python punbbdownloader/makearchive.py engdisney/punbb.cfg
cp engdisney/media/* engdisney/engdisney
zip -r ~/Bureaublad/engdisney-`date +%Y%m%d`.zip engdisney/engdisney
Nu verschijnt er op je bureaublad een ZIP-bestand met het archief. Je kunt het testen door het uit te pakken en een van de HTML-bestanden te openen.
Mediafire schijnt een goede plek te zijn om het te uploaden, maar zorg wel van tevoren dat je daar ingelogd bent.
Voor de zekerheid kun je ook een ZIP-bestand met de onbewerkte pagina's uit de map bb/engdisney/download uploaden. Het zou kunnen dat er bij het bewerken berichten verloren zijn gegaan.
OPMERKINGEN VOOR DE BACKUPPER- In de terminal kun je een commando afbreken met Ctrl+C.
- In de terminal kun je een stuk tekst plakken met Ctrl+Shift+V.
- Als je een beetje Python kunt lezen, kun je in makearchive.py de manier aanpassen waarop pagina's worden bewerkt.
- Als je goed genoeg in Python kunt programmeren en het leuk/belangrijk vindt, kun je het beheer van punbbdownloader overnemen. Ik ben niet van plan het programma zelf nog te verbeteren.