The Mudcat Café TM
Thread #57424   Message #903093
Posted By: GUEST,Jon
04-Mar-03 - 09:20 AM
Thread Name: BS: I like the BS/non-music division!
Subject: RE: BS: I like the BS/non-music division!
McGrath, depends on what you mean by forums. Just trying to explain some things to you here and not argue. In these type of systems, you have 2 separate things: The underlying database and the view(s) the user sees.

The structure Mudcat has historically used is a single forum design that has adapted to separating data based on filtering text in the title box. It is unusual in that way.

You need to know at least this little bit about relational databases before I continue... They are designed to organise data in way so that logical units can be defined. Imagine a sales order with 3 items as an example. The only one table solution go along the lines of:

Order#1, Item#1, Jon Freeman, Address, SparkPlug
Order#1, Item#2, Jon Freeman, Address, Plug Spanner
Order#1, Item#3, Jon Freeman, Address, Feeler gauges...

A lot of repetition there!!!! A 2 table approach could go

ORDER TABLE
Order#1, Jon Freeman, Address.

ITEM TABLE
Order#1, Item#1, SparkPlug
Order#1, Item#2, Plug Spanner...

A relational database can combine the 2 tables together easily. Also, if my name was mistyped in this solution, only one correction would be needed rather than 3 in the first example. That is the very reason they exist!

Mudcat makes a lot of use of this type of thing and will have thread table, post table, member table etc.

OK, so why do most favour a design that includes a forum rather than filtering? Imagine needs grow. Lets say we decided we wanted to control Guest threads and have a moderator for each type of thread. It could be done on the single forum approach:

BS:I love dogs, Mod#1, NoGuest, etc.
Tech:I hate macs, Mod#2, YesGuest, etc.

There are of course other options avoiding my single table approach above storing moderator and Guest. You could for example code logic like if thread="BS:" mod=Mod#1 and Guest=NoGuest at run time but as time goes on and needs grow, it becomes more and more difficult to do.

So there hopefully you have some understanding of that side...

Now, imagine views. In this sense, these are what you present to the user. As long as the data is there, you can display it how you like.

To attempt to illustrate my point, I have just created this. Compare it to this. You will find what shows as "BS: " on the 1st shows as "forum: community discussion" on the second and "MS: " goes to "forum: misc topics"... It is the same data, there are no cheats increas the #days for a better view.

I'm only showing you this in the hope of aiding your understanding. And is no way an a go at Mudcat.

I'm quite impressed with this split format so far and in all honesty had never considerd such a simple approach. Congratulations!

Jon