Your premium source for custom modification services for phpBB


HomeForumsBlogMOD ManagerFAQSearchRegisterLogin

Comments August 1, 2008

Featured Smackdown: phpBB3 versus phpBB-Dave

Filed under: phpBB, phpBB3 — Dave Rathbun @ 1:15 am CommentsComments (7) 

I sometimes take a lot of grief for still using phpBB2. To be honest, most of my boards are quite far from a “vanilla” board, so it can hardly be said that I use phpBB2. I’ve been saying for a while that I didn’t see a need to upgrade since I had all of the features that I thought that I needed.

Then the other day something occurred to me… what if I didn’t? What if I really did need to upgrade to phpBB3 because the number (or usefullness) of features that I am missing is more than the number of features that I have? How closely had I recreated phpBB3 on my phpBB2 core using my own MODs? I thought it was an interesting concept, so I decided I should see how I could compare the two.

Before I get flamed too badly, I certainly realize that there are many more improvements in the code behind the scenes as far as tuning and optimization. I’ve made many similar changes myself. For example, as soon as I saw someone post the function name “request_var” in an IRC conversation one day I knew immediately what it was for, and what the advantages were. So I wrote my own version, and have been using it ever since. It’s not used throughout the entire code base (yet) but I do have it. I have tuned queries by denormalizing where appropriate, splitting some, combining others, and caching whenever I could. And I have added features that aren’t even in phpBB2 or phpBB3, at least not yet. It seems that topic prefixes (a subject I posted about implementing a while ago) are on the “to do” list for 3.2, and I already have them. :-P

So the goal for this series of posts will be to sit back and try to take an objective look at the feature comparison list posted at phpbb.com and determine the following:

  • Do I have that feature already as a MOD?
  • If so, does it meet or exceed what is provided by phpBB3?
  • If not, do I have a compelling need for this feature, enough that I would either consider writing it as a MOD or upgrading?

I plan to go through the feature chart section by section, and at the end of each section I will assign a point value of +1, 0, or -1 based on where I think I am. By the end of the analysis I expect to have a much better idea of where I stand with my own code, or just how important the things are that I am missing. There are 21 categories in all, including:

  1. General
  2. Basic Features
  3. Security
  4. Anti-Spam
  5. Data Management
  6. Registration
  7. Posting
  8. Attachments
  9. Caching
  10. Profiles / Memberlist
  11. Search System
  12. Forums
  13. User Control Panel (UCP)
  14. Private Messages
  15. Usergroups
  16. Moderator Control Panel (MCP)
  17. Administrator Control Panel (ACP)
  18. Styles
  19. Permissions
  20. Notifications
  21. Localisation

I think it will be interesting. Maybe it will only be interesting to me, but I’m going to post it anyway. :-P


  1. Go, phpBB3, go! :P

    Comment by eviL3 — August 1, 2008 @ 12:30 pm

  2. phpBB? What’s that?

    I’m writing my own forums. I’ve built up quite a lot of ideas about how to build a fast forum, some which I have posted on phpbb.com, some I have not.

    It’s been a 5-month project so far, and basically, what I’m doing is separating out the code and placing it into OOP object/method style.

    When writing the code, each major, logical function of the forum, from posting, to viewing topics, viewing forums, etc. is its own object, and the methods to fetch data are separated from the methods to display the data on-screen. A bunch of new features are also being added. One of the reasons for this approach was that I have a lot of areas of the site which use the forums or which are tied into it. I have some places where I’ve copied code verbatim just to show a list of topics, or something else. In this way, I can include the code I need, create an object, than access the data from the db that I need. Then using the code already written for that specific area of the site, I can apply the data and save time and energy, not to mention lines of code.

    The posting and post viewing method is also getting a big work-over. I’ve invented a new library called SMPL which stands for Standard Message Parsing Library. Basically, it handles all db input and output, and it does smileys, bbcode, censoring, highlighting all the other stuff which is needed to input and output posts, but in only 2 or three lines of code. I can give it precise options to tell what options I want enabled/disabled. It also has a method for post preview, and an option to remove BBCode uid for post editing.

    SMPL is especially important for the new forums, even though it is used across the site, because it has methods to cache a post. It can automatically detect whether smileys are used, and turn them on/off, and whether bbcode is used and switch it on/off. When posting in phpBB, there are user options to control this. Now it is handled automatically. If the message is greater than 100 chars and has either smileys or bbcode, it is parsed and stored in the posts table. Then when someone later recalls the post, SMPL recognizes the cached post and simply applies word censor and highlight to it, if necessary.

    There are a lot of other details going into it, as well, such as “soft” post/topic deleting, full-text search,real topic pagination, and reworked sub-forums, enahnced topic review, and other stuff.

    It’s been a pretty great summer project so far. :)

    Comment by Dog Cow — August 2, 2008 @ 12:19 pm

  3. I’ll admit I haven’t gone that far… so when are you going to release your new board package? ;-)

    I can’t say that I have made substantial changes like what you describe. Someone familiar with phpBB2 code would be fairly comfortable working with my code. It sounds like you’re essentially rewriting the entire board.

    Comment by Dave Rathbun — August 2, 2008 @ 1:23 pm

  4. I read your post @ phpbbmodders and I have decided to come here to see what you were talking about.

    I’ve been wondering the same things some months ago after phpBB 3 release and I have decided to stick with phpBB 2 for the moment since I have coded so many mods on it. I tried to do a comparison table like you are trying to do and after some analysis I decided to stay with my phpBB 2 (well, calling it phpBB 2 should not be correct, because I have ported many phpBB 3 features and functions in it). The funny thing is that having designed some templates both for phpBB 3 and phpBB 2 some users believe that my site is phpBB 3 based, while it is 2. ;-)

    What I’m now trying to do is just adding some features my board still needs and trying to rewrite some parts of the code which is not optimized.

    Anyway some users still complain asking for a conversion… the “upgrade fever” sometimes doesn’t let you understand what you really need.

    Finally I have a question for you: is there a way to have a look at the source code of your board?

    Comment by Mighty Gorgon — August 2, 2008 @ 7:41 pm

  5. Hi Mighty Gorgon, and welcome to my blog. Thank you for your comment.

    I have posts scheduled to come out over the rest of the month. Each post includes 3 of the categories listed in this post to focus on. In each I try to see if my version (which I call phpbb-Dave) is functionally equivalent to phpBB3. If not, one of the two versions (mine or phpBB3) has the advantage and I will award a point. At the end of the comparison I will be very interested to see who has the most points. That’s the objective. :)

    I don’t have any intention to publish the code for my board at this time.

    Comment by Dave Rathbun — August 3, 2008 @ 10:57 am

  6. Do you take bets on the outcome of the contest? :)

    Comment by Dogs and things — August 4, 2008 @ 5:18 am

  7. @Dave Rathbun : well, I have hopes to get it released sometime this month of August, either next week or the week after. The two big worries I have are the conversion processes: first is the UTF-8, need to adjust the post table and maybe clean out some entities from the iso thing, second is conversion to RTP method where each post is assigned its page number, and third is conversion of the forums to the left,right id method. Hopefully this will mean my forums will be down for less than a day.

    Comment by Dog Cow — August 9, 2008 @ 2:57 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress