See this post on phpbb.com for a list of significant changes since version 3.2.8.
Things slowed down a bit in September, which was okay because I also started teaching a class this month.
I did have one large job at the start of the month that more than paid the rent. This was a commercial job and it involved moving a forum from phpBB 3.0.14 to 3.2.2. I was working as a subcontractor. The contractor’s client had a very particular look and feel to his forum and he wanted that to be retained as much as possible, so the challenge was to do this despite the fact that many modifications on the forum were not available as extensions. Obviously this meant making sure the style closely matched the phpBB 3.0 style. I did the prototyping work in a development environment. It took a long time to get things tweaked before I was given permission to move the changes into production. The first attempt at an upgrade of the database failed due to a resource timeout. The second attempt worked but took about six hours using command line interface. I installed the mChat, ReImg Imag Resizer, Google Analytics, Post Count Requirements and later NavBar search extensions. I set up Q&A spambot countermeasure. I removed dead modules and dead software including Tapatalk. The rest was styling work. I created a custom style based on Prosilver SE and then tried to emulate look of existing site. I added archives link to navigation bar, put the Twitter logo in the footer, and customized the footer to add link to site. Three templates were changed. Style customizations were placed in stylesheet.css. Later, there was four hours of additional styling work working from a punch list. One of the challenges was to do the work quickly. It was four days from start to finish. Given that this was a big forum, this was a moderate challenge.
Also in September:
With the release of phpBB 3.2.3, the phpBB group not only fixed some bugs that really needed fixing (including one that only allowed one attachment per post) and the migrator issues that gave me hell, but it also appears that the update program will now update any extensions that need updating, if the links work correctly. This is normally a good thing but if you wrote any custom changes to these extensions this might overwrite them, and there is no warning of this. You are not supposed to do this, but I have clients who have done this or asked me to do it for them. The update program really needs some sort of warning or a switch of some sort so these don’t happen automatically.
It’s not often that I lower prices. But I lowered my prices for updates by 50%. Updates are when you go from one micro version of phpBB to another, like 3.2.2 to 3.2.3.
I had raised these prices because the changed files process I used stopped being reliable. Which meant that I had to upload all the files for a version to ensure success, which was more time consuming, particularly if there were files with custom changes in the styles folder I have to replicate.
With the release of phpBB 3.2.3 though, it looks like these problems are ironed out. This means in most cases the labor is less than an hour. Hence the price is now $40 commercial and $20 noncommercial.
I noticed the updater will also attempt to upgrade extensions, a time saver. It’s not always perfect however. So when you ask me to update your extensions too, if the updater for phpBB does this as well there is no extra work for me to do, hence no additional charge.
What are you getting into when you install phpBB? phpBB, open-source forum software for the web, is often simple to install. Most web hosts have a scripting center that allows you to install it on a domain in a few clicks. But should you?
It’s not like there aren’t other forum solutions out there, although arguably phpBB is the one that has survived the longest. To name a few, there is commercial vBulletin software, myBB, Xenforo, Phorum and pUNbb. There are also forum plugins. For example, WordPress has BBPress and BuddyPress. Since I specialize in phpBB I can’t speak with much authority about other forum solutions. However, as a software engineer I can highlight what I think some of phpBB’s strengths and weaknesses are, the subject of today’s posts.
Before you decide on any forum solution, understand what forum software is. Forum software is not blog software. It’s not a place that you use to rant about stuff that interests you and which others can comment. It is software that allows lots of disparate people to discuss certain topic areas elegantly. It imposes discipline on the content it manages by keeping things organized in forums, topics and posts.
Forum software is used by discrete communities that have something in common and want to share that information in an open manner. Usually what they are discussing is pretty specialized. For example, it might be a support forum for a commercial or open-source product (phpBB.com uses phpBB for its support forum), or a fan site, a bunch on people who own a particular type of boat or plane, whatever! Forum software allows people to create and reply to topics. It’s designed to run independently of a framework. For example, the BBPress plugin for WordPress requires it to work as an add on to WordPress, which means that to use BBPress you must also be a WordPress user on the site. Similarly, Facebook groups can act a bit like a forum, but it requires you to join the Facebook enclave. Facebook however does not organize content in its groups into forums and topics. Most forum software is designed to be standalone, at this is certainly the case of phpBB. It’s not designed to work with WordPress or any other content management system. In our social media age, this is sometimes a drawback.
phpBB has a long and proud legacy. Version 1.0 was released in 2000, at just the moment that the PHP language became dominant on the web, replacing mostly a lot of Perl scripts. Timing was everything. It was written in PHP, used the popular free MySQL database and was free and open-source. “Open source” was kind of a new thing back then, but it was essential to its growth. Not only was it free, anyone could modify it. So it got downloaded and installed like crazy. It’s still widely used today. Most support sites run on phpBB. This means you have probably used phpBB already, even if you aren’t aware of it. So it will seem comfortable and familiar, even if you don’t understand why.
Version 2 came a year later in 2001 and is still being used today by many sites because it is fast and lightweight. Version 3 was released in 2007, which thoroughly modernized it. Version 3.1 arrived belatedly in 2016. It’s big feature was extensions, similar to WordPress plugins plus responsive styles, so things looked good on mobile devices. Prior to 3.1 if you wanted to extend phpBB’s functionality you installed “mods” that was code changes inside the source code, which made upgrading phpBB difficult. 2016 saw the release of version 3.2, the current version, which looks and behaves a lot like 3.1 but addressed some annoying issues mostly on the backend.
While phpBB was undoubtedly popular, updates were infrequent and its huge legacy base made it hard to push out new versions. Its team of core developers worked inefficiently together, in part because the tools for doing so were relatively primitive at the time. This allowed many other forum solutions to emerge to fill the feature gap while the phpBB group lumbered awkwardly forward into the future.
I first installed phpBB 2.0 in 2002 and have followed it since then. I have developed modifications and extensions, as well as generating good income from helping users upgrade and migrate their forums. In spite of the phpBB Group’s sometimes lumbering organization, it’s got some major strengths:
There is a lot more to this topic that I may delve into in future posts. But this post at least gives you a heads up. phpBB is great software: stable, reliable, well tested and industrial strength. If you can live with its functionality and limitations and are okay if the features change slowly at best, it’s still a terrific solution. If you need more agility from your forum solution, you might have to look elsewhere. However, any other solution you pick may not hang around. phpBB is eighteen years old and is likely to survive another eighteen years without a sweat.
I’m off to a reunion in Minneapolis, so I cannot perform any services during this time.
I kept busy with phpBB work in August but fortunately not too busy. It was all just right for a change.
The big project was a Amazon Web Services (AWS) rehosting project that consumed four days after about two months of erratic testing and prototyping. I wrote about the project as it relates to AWS here. However, there were other details of wrapping up this project unrelated to AWS:
Other work in August:
Occasionally I do something new. This month something new meant helping to rehost a client on Amazon Web Services (AWS). AWS provides cloud computing services, and its EC2 service (EC = Elastic Computing) is probably its most popular service.
Cloud services provide scalable services. Also, you pay for what you use. They can be configured so that if there are spikes in demand the service will become “elastic”, scaling to meet demand.
I did not do this rehosting by myself. The client had another technical guy that set up and configured his AWS EC2 workspace. The forum is very large with 2.6M posts. In addition to rehosting the forum, I had to upgrade the client at the same time to the newest version of phpBB and move his WordPress site. This project literally took months to complete, although I was not working on it all the time.
I don’t know what Amazon Machine Instance (AMI) was set up in this case. I don’t think the AMI chosen was ideal because WordPress had technical issues that required fine tuning EC2 to get things to work. One thing I took away from the project though is that there is a “tax” if you move to AWS. The learning curve is steep and the tools available to you are miniscule.
Some lessons learned:
I suspect that the wrong AMI was used or that using a better one would have prevented a lot of problems. In any event, the move to AWS turned out to be tricky, time consuming and a large hassle. For my client, it was an expensive endeavor. It turned out that all this work turned into my largest bill ever. In that sense it was good, although I would have been happier if it had spent a lot less time and a lot less of his money.
Now that my client is on AWS though, as long as it is tuned properly there will be some big advantages. Hosting may cost less in the long run, and the service should be more predictable and scalable.
If you take up a project like this, you will definitely need someone who has set up AWS EC2 instances successfully and will work through all these issues with you. Even so he could not do it alone. The migration took four days to complete, although the forum was functional in less than twenty four hours.
For very large forums that need scalability and high reliability, using a cloud service like AWS makes a lot of sense. However, a project like this should not be taken lightly. Most forum owners will probably be much more comfortable on a good shared host, or a good virtual or dedicated server.
See this post on phpbb.com for details.
This version of the extension can be downloaded from my digest extension page or from the GitHub 3.2.8 branch page. When downloading from GitHub, remember that it must be copied into a blank /ext/phpbbservices/digests folder.
Of course disable the current digest extension first then remove the /ext/phpbbservices/digests/* files. Then upload the new version then enable again.
Using email as a primary means to contact me has some disadvantages, such as long threads that make it hard to find information and lags in my responses. So in response I’ve created a Slack workspace: https://phpbbservices.slack.com.
If you join my workspace you can ask me questions anytime. Hopefully I’m on my computer and can respond quickly. Otherwise I will respond when I am available and you can look for my response in the workspace’s channel of your choice.
If you use the #general channel what you post is public to anyone in my workspace. So most of the time use the direct message feature to keep our conversation private.
We’ll see how this goes. I’m fairly new to Slack too so you may know more about it than I do!
You can read more about Slack here.
Happily, there was a lot more work in July than there was in June. I am noticing that I tend to get called in for more complex projects and fewer simple projects. One effect this has is that these projects can span months. I worked on two projects like this during July that I do not detail below, but will when finally completed. They will have amount to nice sales when they finally cash in. Both projects are complex upgrades from phpBB 3.0 where there were many customizations by previous developers (including me). Moving them to phpBB 3.2 involves a lot of talking, compromise and prototyping. Both involve standing up test instances of their forums and iterating through them getting the style and features right. As for the other work I did in July: