Growing Slowly: Gentoo Overlay Manager (Goman)
Posted by Stuart Herbert @ 1:41 AM, Mon 07 Aug 06
Filed under: Overlays.g.o
No Comments
I’m working on a web-based control panel for Gentoo Overlays, so that users can do things like change their passwords, and overlay owners can do things like manage who can do what to their overlay. It’ll stop my Overlays admin team being a bottleneck for run-of-the-mill stuff, which should help us provide a high-quality and responsive service.
Step 1 is to get a PHP5 app working that manages data about users and overlays in an SQLite3 database. That’s coming along nicely, and should be complete during the coming week.
stuart@belal /var/www/localhost/htdocs/goman $ wc -l `find . -name '*.php'` 25 ./index.php 36 ./logout.php 76 ./createOverlay.php 75 ./changePassword.php 55 ./yourPanel.php 71 ./changeEmail.php 63 ./login.php 114 ./createUser.php 68 ./classes/FormMessages.class.php 97 ./classes/UserCookie.class.php 43 ./classes/OverlayRole.class.php 47 ./classes/UserTypeBehaviour.class.php 61 ./classes/UserRecord.class.php 27 ./classes/OverlayUrlBehaviour.class.php 44 ./classes/OverlayRecord.class.php 56 ./common.php 14 ./snippets/userCreated.page.php 42 ./snippets/createOverlay.form.php 30 ./snippets/login.form.php 29 ./snippets/changeEmail.form.php 57 ./snippets/createUser.form.php 14 ./snippets/emailChanged.page.php 14 ./snippets/passwordChanged.page.php 31 ./snippets/changePassword.form.php 64 ./snippets/controlPanel.page.php 1253 total
This is my first project working with SQLite3, and my feelings about it are mixed. On the positive side, it’s well suited to the size of data that we’re going to be managing, and to the amount of use that Goman is going to get. Infra don’t like requests for MySQL databases, so SQLite3 fits well with them too.
On the downside, SQLite3’s ALTER TABLE statement can’t be used to change the design of a table. You can work around it by creating a new SQLite3 database with the new schema, and then writing a single script to migrate the data from the old database to the new one, but it quickly becomes tiresome during development, when you’re constantly evolving the schema.
The other negative for me is that PHP’s SQLite3 driver is a PDO driver. I recently investigated a PDO segfault, which led me to raise concerns about how PDO is currently implemented under the bonnet. It should be safe on o.g.o, if for no other reason that we regularly restart Apache on there anyway to force Trac to pick up configuration changes.
Tomorrow’s job is to test the existing forms with the Nokia N770 tablet, and make sure they work with it too. I’ll try and find the time later this week to post my first impressions of the Nokia N770; it’s an interesting toy to be sure.
Be the first to leave a comment »