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 »

Calendar

August 2006
S M T W T F S
« Jul   Sep »
 12345
6789101112
13141516171819
20212223242526
2728293031