I kept plenty busy in July. Like most months for the last year or so, much of my work was focused around one commercial client.
Our main accomplishment this month was finally finishing up a custom OAuth interface to phpBB. The interface ties into many aspects of the business including a shop and accounting system with many points of entry all of which had to work consistently and reliably.
You may be familiar with OAuth if you go to sites where you can login with Google, Yahoo or other major web sites. OAuth allow for an external service to authorize your access on a different site through a complex exchange of codes and tokens. phpBB supports only three OAuth services natively: Google, Facebook and Bitly.
The client’s backend OAuth system is definitely a “roll your own” service so it required lots of low level integration challenges. I’ve learned plenty about OAuth in the process, enough to realize that it’s challenging, very low level and not for the faint of heart.
Toward the end of July we buttoned up we hope the last of the code changes needed but discovered a new area: mobile device display, that had been overlooked. So I am now deep into more styling work, which is where I started the project back in March 2020. Once this is done we should finally be at a code complete event, and the work will go into formal testing.
At this point I’m probably 80% of the way through the project, which has been challenging but very profitable. Working with one of their lead developers has been a great and at times humbling experience.
Here’s a summary of work I did for other clients in July:
- Additional effort for a client I did work for in June. The main issue seems to be slow to nonexistent serving of ads on the view topics page, likely because more than two ads are served on the page. Doubleclick seems to be blocking the serving these ads. I suggested he needs to contact them to find out why this is happening. I also reviewed all enabled extensions for the database changes they made. With the exception of the YouTube videos extension, all appeared in order. I had to add auto increment to the primary keys of three tables created by extensions in use.
- I updated a board from phpBB 3.3.3 to phpBB 3.3.4, principally to address the reCaptcha V3 bug fixed in version 3.3.4. I reapplied the logo.
- I upgraded a board from phpBB 3.0.14 to phpBB 3.3.4. I installed the Milk style and placed the old logo. I added the American English language pack and disabled the contact form. I set up reCaptcha V3 spambot countermeasure. I also changed PHP to version 7.4. Client will need to play with Milk style control panel to fine tune its theme and look. Smooth upgrade, no issues. Later, the client had additional work. He had retired a number of users. When this happens and you retain the posts, the old username becomes a guest username but the original account goes away. Reassigned a guest’s posts whose account was deleted to a new account with their name. Also since guests can’t see any forums, I opened the forum in the visitors category to read-only access, so the “this board has no forums” message no longer came up for guests.
- Did a system check as user was having spam and other issues. I recommended upgrade to phpBB 3.3.4 to be able to use reCaptcha V3. I had a number of other recommendations summarized in an email. I was authorized to update phpBB to 3.3.4 so I did that, along with addressing all the other issues including setting up automatic https, reCaptcha V3, disabling the contact form, creating a custom style, deleted orphaned attachments and inactive users. Later, I did additional work to fix a number of outstanding issues related to having the code originally in yaBB (a Perl-based forum solution popular in the late 1990s). I fixed an avatar issue where the URL was bad and pointed to the old domain. I then had to write a throw away program to make posts with [img] tags in the post text store properly in the database post_text column, which has a different format. This took a lot of trial and error. Later, moved it over by exporting it and tediously correcting syntax errors in the exported SQL that caused it not to import. Later, I changed another deleted user posts to assign it to them rather than Anonymous.
- Hosting issue: database user for board’s forums lost INSERT and DELETE privileges to the database. Worked with NS support to resolve the issue. After a lot of back and forth we eventually figured out that some automatic process was revoking these privileges for the database user when they exceed their database quota of 1 gigabyte. This didn’t appear to be a problem because when I ran a query to determine its size, it was about 600mb. I “solved” the problem by truncating the search tables, so the built in board search is no longer available. The hosting is Network Solutions which I don’t recommend. There were multiple calls, temporary work arounds and lots of intermediate staff to tediously deal with to get the level of support needed, then they wanted to charge the user for their support! If you are running out of database quota, a good host will at least give you a warning so your system doesn’t abruptly come crashing down. Not only does Network Solutions not do this, we had to figure out the underlying problem ourselves to solve the problem.
- I updated a board from phpBB 3.3.2 to phpBB 3.3.4. I also updated the stop forum spam extension to version 1.4.0. I added a self-renewing (and free) Let’s Encrypt certificate and set up automatic redirect of http to http, changing the server settings in phpBB. I had to change the client’s php.ini to set UTF-8 as the default character set to get rid of an error on the ACP general page after the update.
- For another commercial client I performed a few troubleshooting tasks. I troubleshooted an issue with the board rules extension, which apparently only supports the prosilver style. To get it to work with five other styles on the board, I had to place the extension’s prosilver style changes into folders in the extension’s style folder each with the name of the style. Helped with a renewal of a SSL certificate, a paid certificate, which wasn’t needed because I had earlier installed free Let’s Encrypt certificates for the site, so it was mainly a matter of canceling the bill for the renewed certificate. Locked two posts as requested. Added a person to the administrator’s group and provided instructions on how to add new users using the ACP Add user extension.
- Updated a board from phpBB from 3.3.3 to phpBB 3.3.4 and the Multi Design style to version 1.1.7.