last updated 14 years ago
Description
The goal of this project was to make vBulletin an interactive bulletin board.
Details
If a thread has been posted in X seconds then its now Live, if other users are viewing the Live topic and are on the last page they will experience a clean ajax experience while talking to other members. Once the thread is older than X seconds its no longer Live and it will now act like a normal thread. Also if a user edits one of their posts that's inside of the thread, it will be updated too so there is no longer a reason to ever have to refresh.
There is also logic for the viewer, the viewer of the thread has to be in an active state to see responses. An active user state is determined upon the users actions, if no actions were made in X seconds then the user is marked as inactive.
Also you may wonder why this could save your server bandwidth and CPU. If a user is refreshing to talk to another members the queries on a normal thread load are way more intense than the ajax call that this modification makes. So if you have 5 people talking to each other none of them have to refresh the page, all they are doing is simple page requests and one intense request when there has actual change.
You can test Live Topic with two users, you will see how amaizing this is... And probably spontaneously combust.
Learned
I learned quite a bit by working on this project, mainly I learned how the vBulltin javascript post methods worked. The only thing that really upset me about the end product was that I had to overload some of vBulletin's javascript.