Een fijne verrassing maar niet heus...

Onlangs realiseerde ik me dat ik in mijn rst2html applicatie een stukje webserver opbouw laat doorschemeren: de app werkt met configuratiebestanden waarin je file system paden opgeeft waar de bestanden opgeslagen worden. 
Nou weet ik niet of dat direct kwaad kan, want het zijn platte teksten (nou ja, rst en html, dat laatste kan misschien inderdaad een probleem zijn als je ze later naar een live site laat kopiëren) en ze gaan door een soort filter voordat ze worden opgeslagen en verder gebeurt er eigenlijk niks mee, maar het leek me toch niet zo netjes.
Dus had ik bedacht om de opslag in een database te doen - wat, bedenk ik me nu, het probleem van de html op de live site niet werkelijk oplost - en het leek me wel een aardig projectje om eens met een non-sql database in casu MongoDB te gaan stoeien.
Dus geinstalleerd via de package manager en documentatie opgezocht, maar toen bleek dat de docs voor een recentere versie waren dan de versie die ik had. Dus via pip een recentere versie met een user install binnengehaald.
Alles leuk en aardig, meteen netjes aangepakt met nog beter opdelen in applicatielagen en testscripts voor elke laag, waardoor de views in de webapp eigenlijk niet meer dan een dun schilletje werden om de applicatie- en databaselogica en ik 98 procent van de werking kon verifieren door gewoon op de commandoregel een script uit te laten voeren.
Maar uiteindelijk ga je het natuurlijk toch een keer in de browser uitvoeren want daar doe je het tenslotte voor, en daar kreeg ik ineens onverwacht fouten. Nou draait mijn lokale webserver onder een andere user dan ik zelf dingen doe, dus ik zat al gauw aan authenticatieproblemen te denken - alleen had ik Mongo daar nog niet op ingericht dus waarom zou het? Maar het bleek dus wel in die richting te liggen...
Want omdat de web server onder een andere user draait gebruikt deze natuurlijk ook de systeem versie van Mongo, en dat was dus die oudere... dat was ik even vergeten!

Ik was dit stukje begonnen om naar aanleiding daarvan iets te gaan mijmeren over versieafhankelijkheid en -requirements, maar ik geloof dat het punt wat ik dacht te maken helemaal niet zo bijzonder is, ik moet er gewoon om denken om niet alleen Mongo maar ook de versie bij de dependencies te vermelden - maar dat moest toch al.
Of zal ik ook nog even meenemen hoe ik deze webapplicatie in een virtuele omgeving moet laten draaien? Een systeembrede installatie van Mongo is wel makkelijker maar de nette manier is toch om de systeem "produktie" omgeving ongemoeid te laten en recentere versies in eigen omgevinkjes te draaien. Tot nu toe ben ik te lui geweest om eens uit te zoeken hoe ik meer "bleeding edge" kan werken zonder de systeemomgeving overhoop te halen maar daar moet ik toch ook maar eens aan, net zoals ik eens iets aan het installeerbaar maken van mijn spulletjes moet gaan werken.

Hm, nog maar even een nachtje over slapen...