
MySQL bought. PostgreSQL not for sale.
January 20, 2008A very key point in this article. Product vs project.
Read: http://people.planetpostgresql.org/greg/index.php?/archives/120-Postgres-is-not-for-sale.html

A very key point in this article. Product vs project.
Read: http://people.planetpostgresql.org/greg/index.php?/archives/120-Postgres-is-not-for-sale.html

I want to expand Phorum. I want to be able to relate specific phorum threads to one specific entry on my FreeBSD Diarywebsite. I do this for article feedback. This is very much like comments on a weblog.
To see this features in action, look at Phorum - how to install and customize it. This article is about Phorum 3, so you might not find much there for your existing Phorum 5 installation. Note the link to the comments under the date in the top right corner. If you click on it, you will find it links to http://www.freebsddiary.org/phorum/list.php?f=3&article_id=258. Note the additional URL paramter article_id. This uniquely identifies the article you were reading.
In the FreeBSD Diary database (freebsdiary.org), there is an article table:
freebsddiary.org=# \d articles
Table "public.articles"
Column | Type | Modifiers
--------------+--------------+-------------------------------------------------------
id | integer | not null default nextval('articles_id_seq'::regclass)
actual_date | date | not null
name | text | not null
completed | character(1) | not null default 'N'::bpchar
visible_date | text | not null
link | text | not null
filename | text | not null
description | text |
author | text | default ''::text
Indexes:
"articles_pkey" PRIMARY KEY, btree (id)
Check constraints:
"articles_completed" CHECK (completed = 'Y'::bpchar OR completed = 'N'::bpchar)
freebsddiary.org=#
This table is referenced from the article_feedback_xref table:
freebsddiary.org=# \d article_feedback_xref
Table "public.article_feedback_xref"
Column | Type | Modifiers
------------+---------+-----------
article_id | integer | not null
thread_id | integer | not null
Indexes:
"article_feedback_xref_pkey" PRIMARY KEY, btree (article_id, thread_id)
Foreign-key constraints:
"$2" FOREIGN KEY (thread_id) REFERENCES article_feedback(id) ON UPDATE CASCADE ON DELETE CASCADE
freebsddiary.org=#
I have customized the Phorum 3 code to restrict message selection to those related to this particular article. The entry in the cross reference table is added when a new post is made to the phorum.
I want Phorum 5 to provide the same functionality. I am not yet sure of how I am going to achieve this goal. It may be with a table similar to the able. It could be with custom fields on the message table.
I’m still in the idea phase. Ideas? Comments?

I’m a PostgreSQL fan. I have been so since 2000. It is fast. Reliable. And best of all, it treats your data right.
I’ve been using Phorum with PostgreSQL since 2000. I’ve also been blogging since before the term blog was invented. I called it a diary.
In this blog I shall outline my ideas and intentions with PostgreSQL. It is my way of documenting what I am going to do. At the same time, it allows Phorum users to provide feedback on what they want out of PostgreSQL. I think PostgreSQL has the potential to handle large forums in a very fast and efficient manner. PostgreSQL 8.3, due out within a few weeks, will have full-text search built-in (current versions have full-text search as add-on modules).
Enjoy. Comment. Learn. Have fun.