TODO for version 2.0 - please comment

There are a bunch of things I want to do for 2.0, the most important being the port to postgresql. I’ll list the little things first, then go into postgres in detail.1. RSS exports for articles and forums. (ews) This is almost done, just needs testing and debugging.

2. Completion of links/ (anyone?) We need to add two scripts, addlink.php and addcategory.php . Each will just send an email to an admin with a link which will add the (link|category) into the system. See for an example.

3. accounts/ (raja) The accounts board will make a more robust and flexible user management system. I already have the majority of this code written, I just need to integrate it and modify to use the new system.

4. documentation in docs/ (anyone?) This is necessary, and any benevolent developers who wish to document their code/experience will be appreciated. Thanks to peterj for the docs he contributed.

5. New languages (anyone?) These are always welcome.

6. The port to PostgreSQL. I have given this much thought and it can be divided into several parts:

a. development of the required for postgresql. I have done this and posted it to the mailing list previously.

b. altering the table definitions to work with postgres. here, we should try to alter both the mysql and pgsql table defs so they are as similar as possible and try to use ANSI sql. The mysql table defs will be stored in sql.mysql/ while the pgsql table defs will be stored in sql.pgsql/ The most critical difference will be that sequences will have to be created or postgres. I have a pretty good idea about how to handle this but am delaying because fo time contraints. If anyone has serious experience with pgsql and wants to take this on, let me know and i’ll lay out the plan in detail.

c. altering the sql in the code. there are parts of the code which will require distinct sql depending on what database is used. like the table defs, we should try to keep the sql for each database as similar as possible, where that doesn’t work, we’ll create a function called picksql() in which looks like the folllowing:

// version
function picksql($mysql = ”, $pgsql = ”)
return $mysql;

// version
function picksql($mysql = ”, $pgsql = ”)
if ($pgsql) return $pgsql;
else return $mysql;

usage would be like:
$sql1 = picksql(”SELECT * FROM $userstable”, “SELECT * FROM $userstable”);

d. development of appropriate backup strategies.

I want to avoid using transactions at this point as they won’t really give us any added value for what we are doing now.

7. If anyone has any other features they would like to see for 2.0, speak now or forever hold your peace. Or at least hold it until 2.2.

8. have an optional mailing list address for new articles to be cc’ed to.

Please comment.

Leave a Reply

You must be logged in to post a comment.