Now we’re going to shift into high gear and implement an online discussion forum application.
Online discussion forums are a popular way to post questions on various topics and have peers answer your questions. Figure 17.26 illustrates the basic page map of the discussion application.
Figure 17-26. Page map for an online discussion forum
Users start by looking at a list of discussion forums organized around interesting areas like Java, XML, Oracle8i, etc. From there, they can drill into a particular forum to see what topics users are discussing; they can get an overview of all active topics across all the forums; or they can search for a particular word or phrase and browse through the results. While in a particular forum, users can browse the topics as well as drill in to see what replies have been posted for any topic. In addition, if a user logs in by providing a user ID, they can post new topics and post replies to existing topics.
We’ll use this example to illustrate the maximum separation of data from presentation, and the maximum abstraction of our web pages’ structure from their appearance. Let’s start with the database part of the application. We can keep track of the forums, forum topics, topic postings and replies, and forum users with a straightforward database schema like the one shown in Figure 17.27.
Figure 17-27. Database ...