May was a strange month. Not much work came in, but I was kept plenty busy anyhow. The reason I was busy was because of one large commercial client who I’ve been working with for more than a year now. By the end of the month I had worked 65.5 hours for this client, all at my commercial rate, so it was very profitable work. In addition the work was mostly interesting.
Work performed for this commercial client began with analyzing their shopping cart interface for phpBB 3.0 and trying to make it work on phpBB 3.3.4. When on the view topic page, administrators and moderators see additional fields under the user’s profile that link to their order history so moderators can respond to problems they are having with products they make. To make this work required an extension, tying some logic into some phpBB core and template events and writing some template logic too.
It turned out that another styling extension I wrote for them (to inject their proprietary headers and footers) interfered with this extension, so I had to make changes to that extension to carry this information too. This resulted in a re-think as we were beginning to introduce duplicate code across extensions. Since the styling extension always had to be on, it was the common dependency, so I moved the common code into that extension and adjusted the other extensions to use it the common code as a service. An issue emerged with duplicate post rows on the view topic page that was resolved with the help of kasimi on phpbb.com, who got a nice monetary tip as a result from me. It took a couple of weeks to tediously work through these issues.
Afterward I started next on an integration challenge. The accounting system for this client needs to send push events to synchronize its database with phpBB. For example, if a user’s email address or username changes on the accounting system, it must change in phpBB as well. In addition, the accounting system may issue a ban, which requires users to be banned on the forums as well, either permanent or temporarily. There is also a push event to remove an account, which will require a user’s account in phpBB to be removed as well. First I tried creating an extension with a public facing controller as the command is invoked as a HTTP request using curl. But no forum headers and footers were wanted, so this approach eventually introduced unacceptable problems. So the idea became to write something that works outside of phpBB’s extension system, refactoring code they had written for phpBB 3.0. I’m going with this approach now and have the ban logic working again, as well as user changes needed. Still quite a bit of work to go, and I struggled through a number of issues relating to the need to bypass phpBB’s session logic and cookie usage. This should be solved during June.
As for work for other clients:
- Upgraded a board from phpBB 3.1.9 to phpBB 3.3.4. I created a custom style inheriting from AllanStyle-SUBSILVER style. Only theme changes were necessary. No surprises, it just took a while to make it work as a custom style.
- Updated a board from phpBB 3.3.3 to phpBB 3.3.4. Updated the French Language pack to version 4.4.4.
- Upgraded board from phpBB 3.2.2 to phpBB 3.3.4. There was a major issue during database upgrade … lots of timeouts. I had the client complain to web host about how locked down they were with phpBB and seeing error messages from phpBB to troubleshoot the issue. Not sure what changed, but I was eventually able to get it to work. I created a custom style inheriting from the ne-blackgreen style. I upgraded the advertisement management, national flags and Tapatalk extensions. Later, discovered that Tapatalk has some bugs working with phpBB 3.3. Wrote a hack to use a require_once statement in posting.php instead of an include statement to get around Tapatalk’s bugs.
- Upgraded two boards for the same client, the first from phpBB 3.2.8 to phpBB 3.3.4, using the standard prosilver style with no extensions. An error when clicking on index went away when I changed PHP from 7.2 to 7.3. Change the CAPTCHA from default to reCaptcha V3. The second board was upgraded from phpBB 3.2.2 to to phpBB 3.3.4, but also updated Flat style to a phpBB 3.3 version and also upgraded these extensions: media embed, style logo and tables. Similar issue with the first board when clicking on the view topic link was mysteriously solved by changing PHP from 7.3 to 7.4. Regression tested the first board to make sure the earlier error did not recur. Investigated an emailing issue on the second board. Siteground’s SMTP mail server had changed as part of Siteground moving into the Google Cloud, but also the email account password was wrong so I had to reset it to get mailing to happen. I also found the domain on email blacklist on mxtoolbox.com. Sent recommendation to client to get off that blacklist and ask Siteground to allow outgoing emails (likely the issue why emails were not being received). I never received test email from phpBB, but phpBB reported no errors. Siteground has no tool to check email deliverability.
- Upgraded a phpBB board from version 3.2.4 to version 3.3.4. I upgraded the AllanStyle-SUBSILVER style to latest unofficial version. I changed PHP to version 7.4. I removed from file system and the board’s databases for an extension and a bunch of Elegance styles. I created a custom style but all it does is place the new logo.
- Updated phpBB from version 3.3.3 to version 3.3.4. Also updated the Italian language pack and Advertisement management extension (to version 2.0.4).