Wrox Programmer Forums
BOOK: ASP.NET Website Programming Problem-Design-Solution
This is the forum to discuss the Wrox book ASP.NET Website Programming: Problem - Design - Solution, Visual Basic .NET Edition by Marco Bellinaso, Kevin Hoffman; ISBN: 9780764543869
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: ASP.NET Website Programming Problem-Design-Solution section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
Old August 31st, 2004, 04:11 PM
Friend of Wrox
Join Date: Jun 2003
Posts: 917
Thanks: 0
Thanked 0 Times in 0 Posts
Default Forum Features and Limitations

I want to explain some of the limitations of the Forum module in ThePhile, and suggest some new features. This message is going to focus on the limitations.

- performance: the code we have now is pretty slow in showing the list of topics because the SQL calculates statistics for each topic on the fly - every single time someone brings up a list of topics.

- table design issue: we have 2 tables that are almost identical: one holds topics and the other holds replies. Good DB design practices might hint that this is unwise.

Fortunately, both of the above issues can be fixed at the same time! I originally wanted to combine these 2 tables, which is something the original authors considered, also. However, my new idea is to leave them separate, but add some new columns to the topics table. We can add columns for things like: total number of replies, name of person who posted the last reply, date/time of last reply, etc. Then we could modify the stored proc that adds new replies so it always updates these new fields every time it posts a new reply. This simplifies the SQL required to show the topic list, which will also be much faster!

- we don't validate the email address of users who register for the forums. This means we can't be sure that a user has given us a valid email address. Why is this important? Because we need to define a set of rules for our forums, and we need to email a user if they break a rule. One common rule is that we can't allow swearing, or naughty subjects. Most of us want our forums to be family-friendly.

The fix - we can email the user his password after he registers. We'll let him change his password after that if he wants to. This way we know we have a good email address for him. Of course, it might not be good in the future, but we can always lock his account if we can't get a hold of him via email if we see that he's violated a rule.

Which leads to the next limitation - we need to be able to lock out user accounts. Be careful - do not try to delete a user account! If you delete an account, it will automatically delete all of the messages that user has posted!

Finally, we don't support paging of messages within a topic. If there's 100 replies to a topic, then you get one real long page with 100 messages on it. This Wrox forum breaks up messages into pages. I don't really like the way Wrox has done it because it's not obvious - some people haven't figured out that they can go to the next page. We need some kind of paging feature, and it has to be obvious to users that they can switch to the next page.

I'm sure there's other limitations - please post a message here if you can think of any.

Old August 31st, 2004, 04:24 PM
Friend of Wrox
Join Date: Jun 2003
Posts: 917
Thanks: 0
Thanked 0 Times in 0 Posts

Some new features we may want in forums:

- more caching to improve performance
- consider the DB schema to see if we might need different indexes to speed it up
- let people subscribe to a topic, or a whole forum. This would email them every time someone posts a new message. Instead of emailing the new message to them, you should probably tell them to visit your site to read the new posting. This ensures that you get the proper credit in your "hits" for advertising revenue, and it also lets the user view the message in the proper context so they can post a reply.
- let users upload an avatar image. Make sure it's small enough, and save it as a blob in the DB.
- Have some kind of ranking system to identify users who post a lot of messages
- Add a search function
- Let people send each other messages in a private forum - this way they can share private messages without knowing each other's email address. The next time a person logs in, it could check to see if there's any private messages waiting, and it can bring you to that forum if it finds a new private message.
Of course, other users can't read those messages - you have to be in the "from" or "to" in order to read a message in the private area.

Here's an example of an open-source Forum package that does these functions, and a lot more. This might help to give people ideas of what they want to do:


Old March 10th, 2006, 12:37 PM
Friend of Wrox
Join Date: Mar 2006
Posts: 310
Thanks: 0
Thanked 0 Times in 0 Posts

almost 2 years past from this post...

Anyone know other's opensource's foruns that integrate successfully with "thephile" ?

I would like to users can see "new topics" since they last visit and some thing that shows users that they are online.

Is this possible?

The code in the downloads section is the latest code for thePhile VB version?

Thankyou very much

Similar Threads
Thread Thread Starter Forum Replies Last Post
Various security features... rupen Javascript How-To 0 September 20th, 2006 05:04 AM
Database Limitations rfurman1161 Access 2 April 5th, 2006 01:45 AM
Limitations of Replace philstaite BOOK: Beginning ASP 3.0 5 September 10th, 2004 10:07 AM
Limitations of Replace philstaite ASP.NET 1.0 and 1.1 Basics 6 September 8th, 2004 01:16 PM
MSAccess Limitations if any happygv Access 5 April 19th, 2004 08:45 PM

Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.