So I’m starting to port my extensions to phpBB 3.3.
I’m surprised by how easy it has been, at least compared with porting my extensions from phpBB 3.1 to 3.2. This is because not much has changed between 3.2 and 3.3.
In moving from 3.1 to 3.2, there were all sorts of changes under the hood that made porting extensions challenging. The way posts were encoded in the phpbb_posts table was changed, which was a big deal. FontAwesome support, which was very limited, was introduced, meaning we could use these in our templates instead of embedding images. A new TWIG library meant that the old way we extension authors inserted dynamic data into pages changed pretty fundamentally. We were asked to use a new template syntax in our templates. Template library calls also changed quite a bit. In short, 3.1 to 3.2 required quite a bit of reengineering, both of the phpBB base code but also of its extensions.
For 3.3, there’s not much upgrading of the database needed. Only one table is altered: phpbb_users, to change the properties of the reset token. The content in the phpbb_extension_groups table is changed. The Flash media group finally goes away (Flash is obsolete) and any non-Flash files in the group are now assigned to the downloadable files group.
As noted, you can use more Emoji codes in 3.3 and can put Emoji in a topic title. But this doesn’t alter the database. I have to test for these in my extensions, but so far it’s not a problem because the existing function I used to display these fields handles it for me. So nothing to do there.
So phpBB 3.3 feels more like an update to phpBB 3.2 than it does a new minor version. On the whole, the new functionality is quite minor. The main thing I have to do is test with PHP 7.4, since phpBB 3.3 now supports PHP 7.1.3 to 7.4 only. Getting my extensions to a stable 3.2 place before upgrading PHP is turning out to be much more work than retrofitting my extensions.
Two days ago, the phpBB group released its latest minor version of phpBB: 3.3, also known as Proteus. You can learn more about it on its launch page. To give you some perspective, phpBB 3.2, the last minor version, was released on December 9, 2016. So it’s been three years since the last minor release of phpBB.
I looked at a development version a couple of weeks back. So I was kind of taken by surprise by 3.3’s sudden release. Minor versions tend to introduce some new functionality, and Proteus does. It’s just that for most administrators and users, it won’t seem like that big a deal and things will look and behave pretty much the way they always have. As with phpBB 3.2’s introduction, most of its changes are covert, rather than overt. Unless you know what you are looking for, you won’t notice much.
One hard-to-miss feature, at least if you use the default proSilver style, is the phpBB logo is different. It’s now a Scalable Vector Graphic (SVG), which makes it look crisp and shiny in all resolutions, including retinal displays. It looks a tad bigger, but also more white and almost glossy. Also, the logo includes the words “forum software”, which is new. Previously, the logo was a transparent GIF and it said “Creating communities”.
Updating is getting easier
Updating phpBB is getting easier too. It won’t compare to updating WordPress, which takes place entirely behind the scenes and can be done with a single click. The exact mechanics of how it will work is unknown until 3.3.1 is released. But the launch page says:
“With our brand new installer updating will be easier than ever in phpBB 3.3! Upload a single folder to your board and all your files will automatically be replaced.”
This will be welcome because updating has always been a hassle. Over time, it may affect my income a bit since a lot of it comes from updates. I expect a lot of my customers will still want me to do this as a service.
You will still need to upload one file, an archive. I also expect there will be a number of other manual steps, because there will always be issues of overwriting custom changes to styles and extensions that may have issues. You will probably have to back up your styles and extensions folder manually before updating. Time will tell.
New PHP requirements
Proteus requires PHP 7.1.3 or higher, and cannot use a version of PHP greater than 7.4. So many administrators will have to upgrade PHP first, which may be an issue for those using PHP 5.4 and 5.6. They will finally have to take the plunge.
Most likely a lot of these boards will have an issue: they will need to edit their config.php file to tell phpBB to use mysqli drivers instead of mysql drivers. So far, fixing this issue has not been intuitive.
Overall, taking the plunge to PHP 7 is good: twice the performance compared with PHP 5 and phpBB can use many new features in PHP 7 too. I have noticed some extensions have issues with PHP 7, however, for example the AWS S3 extension.
Upgrading from phpBB 3.2
The upgrade process from 3.2 is pretty much unchanged from 3.1 to 3.2, and will be more manual in nature than the newer upgrade process. You can see the steps required here.
Improved Emoji support
From a user’s perspective, the exciting feature is likely to be increased Emoji support. Previously, only certain Emoji characters could be used, and only in post text. Now you can use virtually any Emoji character, and you can use them in topic titles too. However, you cannot use Emoji in the subject line of topic replies.
The Emoji in topic titles permission is enabled by default. If you want to disallow it, the easiest way is to change a user role, like Standard Features. ACP > Permissions > Permission roles > User roles > [Role name]. Click on the green wheel for the role. See illustration:
Over time, phpBB forums will look a lot more colorful and visual.
No support for IE before IE11
Some other features they are highlighting:
Clever quotes. Quotes can show a link to the post and post author. It can also show the date and time of the quoted post.
Improved reCAPTCHA. Previously only reCAPTCHA V2 Checkbox was allowed for a reCAPTCHA solution. Now you can use the Invisible reCAPTCHA V2. One consequence of this is that the V2 Checkbox is no longer supported, so as part of upgrading phpBB to 3.3 you should have to get a new set of reCAPTCHA keys from Google’s reCAPTCHA site that support this method, and plug them into the Spambot Countermeasures area in the ACP.
Notifications are supposed to be very fast now. The whole notifications process has been reengineered. It’s unclear if this means email notifications are sped up. I’m pretty sure they will go into phpBB’s mail queue like they do now, so your Email settings should apply.
FontAwesome improvements. In phpBB 3.2, phpBB supported a rather limited set of scalable FontAwesome characters. The number supported are now much larger, and they will all look fine on retinal displays.
Symfony 3.4. This is behind the scenes stuff, but phpBB 3.3 uses a newer version of the Symfony PHP libraries, including its heavily used template engine.
ACP Statistics screen is now responsive. As noted in my first look, the statistics panel in the ACP now splits statistics into two groups, which has the benefit of making the screen responsive. You can see the new look below:
Should you upgrade?
You probably don’t want to upgrade right away. This is because some of your extensions may not work and if you made changes to your style, those won’t carry over so they will need to be replicated.
However, the same day the phpBB Group also released phpBB 3.2.9, which brings over some of these features including Emoji support. You might want to update to that version for a few months until extensions and your style becomes compatible with phpBB 3.3.
If you’ve been waiting for phpBB 3.3, you’re not alone. The phpBB Group is famous for not setting release dates. They arrive when they arrive. There is no big company like Automattic is for WordPress behind phpBB.
I took a development version of 3.3 (3.3.0-RC2-dev) for a spin today to see what’s new. And the answer is not too much, at least so far. There are only two things I noticed right away:
The phpBB logo is now a Scalable Vector Graphic. This means it will scale nicely and always look sharp and fresh.
When you access the General tab in the Administration Control Panel, statistics are laid out differently and are arguably a bit confusing. Two tables with statistics? The first block contains counts. The second one contains metadata. It could be better laid out
What phpBB 3.3 “Proteus” really seems to be about is keeping it up to date. So far I don’t see any new features. A one-click update is supposed to be in 3.3, but I don’t see it. I suspect it got deferred for phpBB 4.0.
How is it keeping it up to date?
PHP 7.3 and 7.4 will be supported. These versions of PHP have been out for a while, but phpBB wouldn’t work reliably with them.
PHP 5.6 and 7.0 will not be supported. The minimum supported version of PHP will be 7.1.
The reCAPTCHA Invisible CAPTCHA will be supported. Currently, only V2 Checkbox is supported. This means CAPTCHA can happen implicitly. You shouldn’t need to click on a checkbox to prove you are a human.
Two new password hashing algorithms will be allowed: Arg2i and Arg2id. Passwords are not stored in the database in plain text. But using these newer algorithms, passwords become harder to crack. The 2id version is also much faster than the 2i version.
phpBB is dropping support versions of IE below IE11. That’s because the versions of Windows these run on are no longer supported by Microsoft, so they feel free to let them go
As a consequence of the above, jQuery 3.4 will be included. This version works with newer versions of browsers and pointedly does not support ancient versions like IE7.
If there are other new features, I’m not finding them. For most users, except for the phpBB logo, it will look and behave as it did under 3.2.