October 2022 work summary

During October, it often felt like I was spinning gears. I generally had plenty of work to do, but couldn’t finish or even get started on much of it. This happens sometimes. Mostly this happens when the work is specialized and nuanced and requires a lot of communications and planning. Much of this in October was due to two potential phpBB 2 forum conversion projects.

I’m still surprised when I receive these requests. phpBB 3.0 was released in the mid 2000s, so phpBB 2 boards are fifteen or more years obsolete. They should have been converted a decade or more ago, but some board owners keep them working somehow despite of the changes in technology. To do this, you have to hold onto old versions of PHP, like PHP 5.2, which was long ago deprecated. You also have to put up with many arguably now-annoying aspects of phpBB 2, including its non-responsive design. So on mobile devices, these boards lay out poorly and to see the content you either have to unpinch your screen to see the full width of the screen. At some point, most web hosts set a deadline and tell clients they are out of luck if they have applications that use these old versions of PHP after a certain deadline.
Also, these old PHP versions are not patched with potential security bug fixes, making their use dangerous.

But a lot of board owners have an “if it ain’t broke, don’t fix it mindset” and somehow keep it going until they can’t anymore. Then I often get these requests. Conversions from phpBB 2 are still possible as the convertor software is still in phpBB’s installer package, but the phpBB Group would like to retire the software. I’ve urged them not to do so as I still make probably at least $1000 a year converting these old forums.

But to convert them the client must have new hosting with the correct technical requirements (such as PHP 7.1.3 or higher) and that takes time. Also, downtime must be scheduled and often there are unique requirements. One client has a heavily modified phpBB 2 board which should convert okay, but I won’t know until I try. It all amounts to being somewhat risky not to mention time consuming. Anyhow, I’m sitting on two of these jobs waiting for clients to have the new hosting in place so I can do these jobs.

I also had a family reunion in October which took me away for about a week, so that didn’t help. My large commercial client had only a little work for me so there was little to bill there. Of the few things I did finish in October, these jobs were included:

  • Upgraded a board from phpBB 3.3.0 to 3.3.8. I moved board to a folder from a subdomain but the database did not move. The hard part was removing spam. My spam remover extension falsely identified too much spam as it was about 99% spam. Moved to my machine because it was so slow. Eventually I figured out when the spam started and removed all topics created after that and a lot of obvious spam posts that remained, leaving a few hundred legitimate posts. Work spanned some weeks and was tedious.
  • Updated a board from phpBB 3.3.4 to 3.3.8. Updated three extensions: media embed, quick style, advanced BBCode Box and added Google Analytics extension. Updated prosilver_se style and reapplied custom changes. Issue unable to install advanced BBCode Box extension due to invalid directory structure.
  • Updated a board from phpBB 3.2.8 to 3.3.8. Changed PHP to 8.0. Updated we_universal style to the latest and reapplied style changes. Later, the client decided to replace the style with prosilver_se and provided logos for me to integrate.
  • Installed phpBB 3.3.8 generic on a subdomain. Tutoring to come.

That’s all folks!

September 2022 work summary

Here’s a summary of the work done for clients last month:

  • Updated a board from phpBB 3.3.2 to 3.3.8. As part of the job, I pdated two extensions: Precise Similar Topics and Topic Preview. I had to retrofit the old changes to prosilver to reintegrate the WordPress theme at the top, bottom and the sides. This involved two templates and one stylesheet. There was an issue getting into the ACP that was solved by disabling temporarily the WordFence plugin. Asked about moving to a subdomain but there was no web hosting control panel so I could not do that.
  • Updated a board from phpBB 3.3.7 to 3.3.8. I updated the advertisement management extension to version 3.0.0. I edited the .htaccess file to show portal page first. I also provided guidance on ad placement and to not show them for certain groups.
  • A client couldn’t get into the ACP. It turned out to be HTTP authentication issue for adm folder. I renamed the .htaccess file in that folder and I was able to get it.
  • Troubleshooting. A client was having trouble setting up forum permissions so guests would only see one forum and that the rest would be for posting by registered users. Also set up a forum accessible only to administrators.
  • Updated a board from phpBB 3.3.4 to 3.3.8. I also updated four extensions: Board rules, Notify admin on registration, Pages and Who visited this topic to latest versions.
  • Added a user for a client to the administrators group so the user could access the special forum.
  • Upgraded a board from phpBB 3.1.7-pl1 to 3.3.8. I also updated the Google Analytics extension, the Sortables captcha extension, the Danish language pack, and Elegance styles. I had to edit overall_header.html to put the old logo back in place. I also had to manually add a line to the .htaccess file to assert to use UTF-8 as the default character set. There was an issue figuring out how to connect using FTP and access files on the web host control panel.
  • Upgraded a board from phpBB 3.2.5 to 3.3.8. I had to insert a directive into the .htaccess file to tell it to use PHP 7.4. I reapplied custom changes to prosilver style. I upgraded the Cleantalk extension to version 5.7.5 and fixed one services.yml incompatibility issue. I also updated latest version of American English language pack.
  • Received a Dreamhost commission. Nice $99.61 commission, basically the first year of hosting for the client on a VPS solution.
  • On a test board already upgraded to phpBB 3.3.8, I tried to replicate the old style and its custom changes to 3.3.8. Came very close and provided the style via a Google Drive share link. Still working with the client on tweaks to this.
  • For my major commercial client, despite deployment of the upgrade in August, there is still work coming in. It amounted to about $1500 in work and it put me over my revenue goal for the year.

August 2022 work summary

I kept plenty busy in August, but not in the way I expected. First, with my major commercial client having deployed our project we’d been working on for 2.5 years, I figured that work had dried up. That was wrong. Second, without the client’s work the other work I figured wouldn’t amount to much so I’d have significant downtime. It didn’t work out that way because there was a ton of work for my major client that now seems to be wrapping up, things not noticed in testing and likely wouldn’t have been in until lots of people were using it.

The good news is that my client did a great job of deployment and there were no critical issues whatsoever after deployment. The testing was good and he went through a number of test deployments and automated everything he could with an Ansible script. It turned out that I was out of town at a funeral during the deployment, but he was able to handle it without my help.

So the post deployment work was generally a lot of analysis and retrofitting customizations via the extensions I wrote for him. There’s a close coupling between phpBB and the rest of the web site with a tight eCommerce integration. It turned out to be 45.5 hours of work, most of it after August 14, all of it at my commercial rate, which amounted to a heap of unexpected money.

Work for other clients was relatively minor:

  • Rehosting from Network Solutions to A2 Hosting and a major upgrade of their phpBB board from version 3.0.11 to 3.3.8. The only way I found to backup the database was inside of phpBB. I tried to run the Support Toolkit but it failed. It turned out that it didn’t matter. It took me a while to figure out where the files were supposed to go on A2’s hosting, but eventually put files in the right place and the upgrade ran without errors. I noted a missing avatar. I also disabled the contact form.and removed some modules for dead modifications from phpBB 3.0.
  • Updated a board from phpBB 3.3.6 to 3.3.8, and the Advanced BBCode Box extension to version 3.3.4 and sitelogo responsive extension to version 0.6.3. Also updated German language pack to 3.3.8. Initially I could not login to board. Looking at PHP error log it was due to three notification types being enabled for the PayPal donation extension which was disabled. I fixed it in the database and I was able to login. I reapplied stylesheet.css changes to the show the custom logo.
  • Updated a board from phpBB 3.3.7 to 3.3.8. Client was still concerned about missing emails. I saw no issues of emails not going out in cPanel’s Email Deliverability area. It may be that users aren’t subscribing to forums? http links in emails should redirect to https based on a redirection rule I set up some days earlier. It turned out redirection needed to be configured to use a wildcard. I provided more guidance on emailing issues and using cPanel. The next day I did more fine tuning: I added the missing favicon.ico and made some edits to a new style he installed to show a custom logo. I somehow missed adding the American English language pack.
  • Client got a HTTP 500 error. After investigation, I determined that files were missing in the /phpbb/cache folder. Once I got Dreamhost access, I determined the board’s version of phpBB was 3.3.4. So I uploaded the few missing files and that solved the problem.
  • Updated a board from phpBB 3.3.0 to 3.3.8. I also updated the Google Analytics extension to version 1.0.6 and reapplied the logo. There was an issue with multiview not working in the .htaccess file. I removed that code and that HTTP 500 error went away. I think the hosting is configured strangely and that was the cause of that problem.

July 2022 work summary

July was busier than most recent months and had a frantic end to it. As a result, I’ve developed a backlog I’ll try to work through today and tomorrow. My work though for a major commercial client though is about to end. There may well be future work, but the plan is to deploy the upgrade to their phpBB 3.0 board on Saturday. I won’t do it because it’s mostly being done by an Ansible script my client created, but will be on standby as needed. I imagine they’ll want more changes at some point and will ask me to do them. It’s been a two and a half year endeavor, but not so much this year as the work was largely completed last year. This year has been about testing and bug fixing. Other work in July:

  • A client was unable to get into the private messages inbox or do anything in the Administration Control Panel beyond the default page. The client had a WordPress plugin integrated with phpBB too. I did a lot of analysis and trial and error and did not quite fix the problem, but communicated the general issue was due to caching. Turning off CloudFlare and ModSecurity didn’t solve the issue and manually purging phpBB’s cache wouldn’t necessarily uncache changes I made to programs to test their functionality. At length, the client determined the issue was due to an adware tracking system the customer uses. It has some sort of cache that the customer was able to disable that allowed ACP access. So my role was to principally determine what the problem was not, which allowed him to eventually figure out where the problem lay.
  • Updated a client from phpBB version 3.3.7 to 3.3.8. I also updated the Italian language pack to version 3.3.8 and Advertisement management extension to 2.0.6.
  • Upgraded board from phpBB 3.2.3 to 3.3.8. The web host first changed PHP from 7.2 to 7.4. phpBB has a setting that allows user’s IPs to be checked against two large blacklists. Checking it against spamhaus.org was causing issues. So I disabled that setting in the ACP. I also removed a number of dead modules still in the ACP from an earlier phpBB 3.0 upgrade. I changed the spambot countermeasure to reCaptcha V3 and enabled it. I hid the phpBB logo on plain prosilver style. There was also an issue with very short ACP session times. I changed the cookie name but didn’t seem to help. I installed the American English language pack and latest version of the Cleantalk extension. I also removed the unused Digi style.
  • Rehosed a board from Hostgator to a virtual private server on another host. The board had about 90,000 posts. It was mostly straightforward, but I had to load the database twice as some sort of error importing the database kept happening. Uploading the database without a zip archive worked. phpBB 3.3.3 was installed but the client did not want to upgrade to 3.3.8 at this time. There were also some Cloudflare DNS issue to sort through. The customer’s actions on Cloudflare seemed to make the changes that stuck. No SSL certificate was present but Cloudflare seemed to provide one.
  • Rehosted a board from GoDaddy to a VPS on jetrails.com. Moving the database and files was at first straightforward using SSH and SFTP, but solving a SSL certificate and emailing issues took days of back and forth with the web host. Eventually I determined that I first had to create virtual name servers for the domain. Then there was a confusing process of how to configure the registrar to use them. I had to go through a confusing GoDaddy process to use custom nameservers and then needed the host’s help to figure out the remaining DNS issues, which meant two DNS records for the nameservers had to be added on their host. This then allowed me to create a SSL certificate. Setting up an email address on the VPS and getting the SMTP settings was also confusing. The domain was on one blacklist. The host removed it from the blacklist when I called their attention to it. But it didn’t immediately solve the email integration issue. Eventually I realized there was no admin email address created for the domain which I needed to get the SMTP email integration to work with phpBB. Created an email address called outgoing and that worked, although it initially directed emails to a spam folder.
  • Updated a board from phpBB 3.3.4 to 3.3.8. I charged for two hours of troubleshooting for various emailing issues he was having.
  • Client had a complaint of bounced digest emails for users whose subscription type was set to None. Couldn’t verify any recent occurrences. I changed the email package size from 0 to 20 after noticing one emailing error two days earlier on posting. Also updated my digests extension from version 3.3.11 to 3.3.15.
  • Client reported that emails sent by phpBB weren’t going out. I eventually figured out SMTP was not being used so changed it to that, changed the port to 587 and changed the mail password. It then worked. Client used Bluehost hosting. When I called, I found their phone support was useless but online chat helped troubleshooting the emailing issue. Later updated phpBB from version 3.3.4 to 3.3.8 and the following extensions to latest versions: Media Embed, Lightbox and Advanced BBCode Box.
  • At the very end of the month, I concluded a four day, time consuming, 25-hour project to integrate custom sidebar and other changes in a board upgraded from phpBB 3.0 to 3.3.8 by the client. I had to upload phpBB 3.3.8 source files again and run install program to show a phpBB 3.3.0 to 3.3.8 successful upgrade. Client chose the Prosilver Dark style. I made a custom style that inherited from it to which changes were applied. The work, conducted online via Skype for the most part, was frequently frustrating due to the client’s need to bring up the highly trafficked board with all its features as soon as possible. The whole process was quite inefficient. There was lots of back and forth, shifting requirements and technical approaches. I was originally going to use an extension to inject code into sidebars because PHP cannot be used in templates anymore with phpBB 3.3.8. But it turned out it was static HTML created with PHP so this could be copy and pasted. I then tried using an <iframe> tag for sidebars but there were scrolling issues with sidebar and main content being separate scroll areas. To be expeditious, a right sidebar project that served an ad was abandoned. The left sidebar needed the integration of menu, shout box and other customizations that were tightly coupled with other systems. Toward the end the client got another developer to fix a few issues with the chat box and scrolling that I couldn’t fix. There were lots of style tweaking and some template changes.

June 2022 work summary

June turned out to be a slow month for paid work. I released two new versions of my two extensions, SCSS compiler and Notify admins on new error log entry. Other work:

  • For my major commercial client, we are still in a testing phase. The good news is that the first user test was completed and required a few minor changes including a strange one where the cursor in the posting body field did not appear when the cursor was in the top left corner. Adding padding to the text area showed the cursor. A second user test is now beginning.
  • GoDaddy removed a client’s phpBB config.php file. I had to re-create it for it to work correctly. This included changing the default table prefix and database user password. It also inspired this post. I also updated phpBB from version 3.3.2 to 3.3.7 and the American English language pack to 4.7.0.
  • I had started to make some changes to a custom PHP script attached to a form to affect some changes wanted but the client later decided what he wanted was not possible and paid me for an hour of my time.
  • Upgraded phpBB from version 3.2.8 to 3.3.7. I also changed PHP from version 7.1 to 8.0. I also had to install the American English language pack. The existing logo extension for phpBB 3.2 (RC) worked fine and no newer version was available. I changed the spambot countermeasure from GD to reCaptcha V3. User had a complaint that emails had http in the URLs. I set up a redirect to use https and that solved the problem.
  • A GoDaddy SSL certificate expire. They don’t offer free self-renewing Let’s Encrypt certificates, probably because they prefer to gouge customers for overpriced $69 basic SSL certificates. It is technically possible to install Let’s Encrypt certificates manually on GoDaddy but it requires manually renewing certificates every 60 days, which was beyond the skill level of my client. So I bought her a 5-year certificate for $19.40 from ssls.com that will need to be renewed annually. I installed it successfully. I also forced http traffic to use https. I sent the client the certificate files I received and provided instructions for logging in to ssls.com and suggested she change the login and profile information. But she wants me to install the new certificates annual for her for a fee instead.
  • Updated phpBB from version 3.3.3 to 3.3.7. Updated my digests extension from version 3.3.4 to 3.3.15 and the advertisement management extension from version 2.0.3 to 2.0.6.

May 2022 work summary

No question that this was a slow month. Having released a new edition of my book and having updated most of my extensions, there wasn’t much to fill in the slack. I did release version 3.3.15 of my digests extension, but the changes were very minor. And I released a development version of a Notify admin on new error log entry extension for comment.

For my large commercial client, we completed our own testing and patched a number of minor bugs. It now goes to a more formal internal review by the company.

For another long standing commercial client, I helped troubleshoot a number of issues. The server had been moved from one virtual private server to another some months back. This caused a Let’s Encrypt certificate issue to manifest itself. I don’t consider myself a system administrator but was able through trial and error in Plesk to figure it out. Essentially, the new server couldn’t work with an old package that kept Let’s Encrypt updated and I had to install a new one while figuring out why it kept complaining that the certificate was out of date. I also installed the Auto Groups extension to ensure newly registered users were put into a Subscribers group I created. Anyone in this group gets emails when new posts are made.

Other work in May:

  • A client’s sessions table needed repair. I repaired it then changed all tables to use the INNODB storage engine. I had to write a script to do this rather than use phpMyAdmin because the logged in phpMyAdmin user did not have the permissions to do this. I provided guidance on how to remove or reduce administrator permissions for a user.
  • Updated a board from phpBB 3.3.0 to 3.3.5. I also changed PHP from 7.2 to 8.1, which required enabling mysqli. I updated the parent Absolution style from version 3.3.0 to 3.3.5. I investigated a WordPress error but only noticed that there was a complaint in the dashboard that PHP 7.2 was no longer supported, so updating PHP to 8.0 solved that. A digest cron was disabled that had to be re-enabled. Had to increase the memory size for PHP to avoid a timeout manually running digests. The simple mentions extension required reparsing of tables to get it working again.
  • Rehosted a board with 330,000 posts and 43GB of files from Network Solutions to Dreamhost. Worked with customer to determine good plan on Dreamhost he picked a VPS solution. Customer moved files to Dreamhost because he has a much speedier connection than me, saving him some money and time. I loaded and moved events database and software (something I had written for him years ago, and sits outside of phpBB), updating the database connection statements so it would find the right database. I loaded this database from extract provided by customer. I then upgraded the board from phpBB 3.3.3 to 3.3.7. I upgraded the Add user extension from 1.0.4 to 1.0.5. I set up two email accounts on the new host. I changed the DNS to Dreamhost for the client. I also got email integrated again. This feature no longer worked on the old host. I installed a Let’s Encrypt SSL certificate. I remade the search index (chose MySQL fulltext) and disabled Google search extension, which was no longer needed.
  • I billed a client for miscellaneous work on a site he is relaunching since I last helped him in January. The work involved about three hours of answering questions mostly related to integrating phpBB forum feeds into WordPress. I installed two extensions: Smartfeed and Install External Link in New Windows. I later updated phpBB from 3.3.5 to 3.3.7 and the American English language pack to 4.7.0.
  • Performed a commercial upgrade from phpBB 3.0.11 to 3.3.7. No mods and no style issues to worry about and only 4000 posts. I disabled contact form. Set up and tested reCaptcha V3 spambot countermeasure. I disabled SMTP because of certificate mismatch issue. I set up home page link.

April 2022 work summary

April was a fairly quiet month work-wise. This meant some downtime which, for a change, did not involve too much in the work of extension development but actual leisure. This is in part because most of my extensions are pretty stable including most notably the digests extension, which is definitely my most complicated extension. Toward the end of the month I did put out an April 2022 edition of my book on phpBB administration.

For my large commercial client, whose work I am largely wrapping up, we went through a “smoke test” following a detailed testing plan I put together. This precedes a more formal test by a larger group. But as often happens my client was pulled away by other tasks, which meant that meetings and tests were often delayed. But my test plan was good and having a second set of eyes helped a lot. We found a number of issues that had escaped earlier notice and that required some fixing and rework. For example, since phpBB 3.0 the search interface on a forum or a topic has changed and the advanced fields had new controls I had overlooked replicating. This was easily fixed. More problematic was a bunch of Javascript logic tied to a change in a custom header when the device’s screen width slipped below a mobile breakpoint. I spent at least six hours trying to figure out how to fix the Javascript and eventually succeeded.

Other client work accomplished in April:

  • Upgraded two boards: a read-only archive board and the real currently interactive board, both from phpBB 3.2.7 to phpBB 3.3.7. I replaced Pro Ubuntu Lucid style to version 3.0.6 on both, made changes to two templates that were needed to the custom style that inherits from the Pro Ubuntu Lucid style and upgraded two extensions: Advertisement management to version 2.0.6 and Large Font to version 3.2.3.
  • Upgraded a board from phpBB 3.2.8 to phpBB 3.3.7. This time I created a custom style called “custom” inheriting from prosilver so future upgrades will require less rework. All style changes are in the custom style’s stylesheet.css file. I updated the board announcements extension to version 1.10 and media embed extension to version 1.1.2.
  • Rehosted and upgrade a phpBB 3.0.12 board, moving it to phpBB 3.3.7. I updated the style so it was a near match for the old one, but response, on my local server. Client suggested an extension to get the logo image to be responsive, which I was struggling with. It worked very well. After a week or so of delay, I rehosted the board and then upgraded board. New hosting and renaming nameservers issues caused a 24 hour delay. The database had to be moved in chunks, with five chunks for the post table to avoid timeouts on the old host. I had to set an active style in the database, otherwise there were no issues during upgrade. I installed the Tapatalk extension. I then installed the custom style I created earlier. I set a home link and disabled the contact page, then set up reCaptcha V3 as a spambot countermeasure. I created a Let’s Encrypt SSL certificate. I then rebuilt the search index since those tables were not moved over. I removed old dead modules in ACP then added and configured the Header Banner extension.
  • Spent ninety minutes tutoring a client on Zoom
  • Updated a board from phpBB version 3.3.5 to 3.3.7 and the advertisement management extension from version 2.0.5 to 2.0.6. Also edited .htaccess file to show the Board 3 extension portal page by default.
  • Chased an annoying certificate problem for a commercial client on MediaTemple VPS hosting

March 2022 work summary

The first half of March was slow, the second half got busier and busier. So in early March I used the slow time to create new versions of my Digests and Smartfeed extensions.

Work for my commercial client is still mostly in a holding phase while we wait for the start of formal testing, which should start next week. I did upgrade phpBB for them twice (3.3.6 had a critical bug.) Other work in March:

  • Updated a board from phpBB version 3.3.0 to 3.3.5. I fixed an emailing issue where lost password emails were not being received by changing the board’s email settings to use SMTP settings. I also updated the Cleantalk extension from 5.7.2 to 5.7.4 and reapplied their logo.
  • Updated a board from phpBB version 3.3.5 to 3.3.6. No issues except for some reason the logo reappeared even though it should have been overwritten.
  • Provided two hours of tutoring over two days and a bit of troubleshooting. Client wanted to integrate phpBB and with a WordPress plugin. After a lot of trial trying to get the lost password link not to redirect to WordPress, I determined the issue was their buggy WordPress – phpBB plugin. Client is pondering whether to use phpBB separately from WordPress or use a WordPress forum plugin.
  • Updated a board from phpBB 3.3.4 to 3.3.7. First updated to 3.3.6 then found out 3.3.7 was released. I had to recover two tables and then install phpBB 3.3.7 to recover. I also updated my Digests extension from 3.3.4 to 3.3.14. No other changes were made.
  • Updated a board from phpBB 3.3.5 to 3.3.7. I installed version 2.1.4 of the Metrolike style and reapplied client’s style changes. I installed a release candidate Auto DB backup extension and set it to make backups every 24 hours. A few days later I answered questions about how to backup files and database offsite.
  • Updated a board from phpBB 3.3.5 to 3.3.7. I updated the Italian language pack to the latest version. I updated the advertisement management extension from version 2.0.4 to 2.0.5.
  • Users were unable to post on a board. I analyzed issue and it turned out to be an invalid <textarea> tag. To fix it, I upgraded the board from phpBB 3.2.7 to 3.3.7. I had to fix about five services.yml and routing.yml files to get all the extensions to work under phpBB 3.3. I total I upgraded seven extensions. I installed a new version of we_universal style, replicated background image and hid site title and site description.
  • The client wasn’t getting email notifications for new posts. This turned out to be because he wasn’t subscribed to the forum. I also updated phpBB from version 3.3.5 to 3.3.7. Because there was no logo, no attachments, and no extensions this turned out to be a very easy update to do.
  • I upgraded a board from phpBB 3.2.8 to 3.3.7. I determined issue was due to PHP 8, and temporarily downgraded PHP to 7.3 to make the board function. After an upgrade to phpBB 3.3.7, I reverted PHP back to PHP 8.0. I reapplied logo, added Cleantalk, enabled its spam firewall feature and contact form checking feature. I deleted unneeded tables and removed old modules in ACP, MCP and UCP left over from phpBB 3.0 to tidy things up.
  • Upgraded phpBB from 3.2.1 to 3.3.7 for a client. I changed PHP from 5.5 to 7.4. I installed an updated but beta Image redirection extension (version 2.0.1-b6). I also updated the Dutch casual language pack.
  • I retrofitted a custom style from phpBB 3.1 to 3.3. I did this by comparing the style with the prosilver style in phpBB 3.1.12, using my Raspberry Pi because I have PHP 5.6 on it and I wanted to see how the style rendered on phpBB 3.1. Lots of trial and error and about eight hours of effort. I removed some HTML tables placed by a previous developer with more responsive code. The project spanned three days.

February 2022 work summary

February was a bit like January: plenty to do at the start and end of the month with not so much in the middle of the month. So during the middle of the month I released new versions of three of my extensions: Digests, Spam Remover and SCSS compiler.

I thought my development work for a major commercial client was done but a few new minor tasks were discovered. These tasks included:

  • Replicating a kill user feature that was overlooked. It gives an admin a one button press to remove a spam user and all their posts.
  • Changed an extension I wrote that emails to a mailing list all admin log entries to also send the list critical error log entries.

Other work for clients in February included:

  • WordPress work. Updated an old WordPress instance from WordPress5.3 to 5.9. I got errors after logging in and solved them by going into the database and changing the row in the wp_options table that enabled all the plugins. Installed a default theme. Moved a number of posts and pages into the trash. Rearranged the menu and added some pages. Then demonstrated how to add PDFs to the Media Library and how to use the Gallery extension, which I had to reinstall, but a gallery of smilie fingerprints was already set up. I just had to add the correct shortcode to the page so it would render. Set up another gallery for a set of other kinds of images and demonstrated uploading some of these. The client may be able to take it from here.
  • Installed the Topic Tags extension using a 3.3 version I found on a client’s test website. Client tried it out and had me install it in production.
  • Upgraded a board from phpBB 3.0.14 to 3.3.5. Tried to use Support Toolkit but had errors manifested by syntax errors in language pack files but eventually decided to give up on it. Set everyone to use the British English language pack. There were dozens of language packs installed. Three database errors had to be fixed to complete the upgrade. I stayed with default prosilver style. I disabled the contact page and set up reCaptcha V3 spambot countermeasure. I set up a home page link and installed the Advertisement management extension and placed sample ad.
  • Rehosting and conversion. This was a conversion from phpBB 2.0.16. I moved the files and database to temporary hosting for a subdomain. The board had 354,000 posts. I had to split extract of phpbb_post_text table into two extracts to get under the 50mb upload limit, as well as not carry over the search tables. Converted using phpBB 3.3.4 to avoid conversion bug, then updated to 3.3.5. I tried to install SiteSplat style but didn’t show an ad, so used ProLight style, then created a custom style based on it. The style needed to incorporate the site’s WordPress headers and footers, which took two hours of time. Installed the Advertisement Management, Site Map and Google Analytics extensions. I placed sample ad. User tested it then let me move it into place, which was a folder inside their new WordPress site done by someone else.
  • I was asked to check emailing from the board. No problems were found, but I couldn’t get to work with SMTP. I created an admin email address for domain and changed email address default for board to that. Provided guidance on subscribing to forums and topics. Later, attempted to integrate simpler WordPress theme HTML provided by their contractor but couldn’t get it to work. I moved over both the the files and database. The board came up without an issue after changes to config.php.
  • Upgraded a board from phpBB 3.2.9 to 3.3.5. I deactivated and removed a number of styles and made prosilver the default style for everyone. Upgraded the Pages extension from version 2.0.4 to 2.0.5. Originally I figured out that the reason the board did not come up was because BlueHost changed PHP to 8.0. Temporarily reverted the domain to PHP 7.3, then later after upgraded the board I enabled PHP 8.0 again.
  • Updated board from phpBB 3.3.4 to 3.3.5. Create a custom style inheriting from prosilver to simply updates next time. Since the Board3 Portal extension was installed, I changed the .htaccess file to load the portal page by default.

January 2022 work summary

Client work was busy at the start of the month and at the end of the month, but there was a weird two-week quiet period in the middle. During that time I mostly worked on extensions. I’m working on an update to my popular digests extension but it’s not quite ready to go, but contains new reporting features. I’m also working on a notify admin on error extension, which is getting me into phpBB’s notification system. The point of this extension is to send administrators notifications if new entries occur in phpBB’s error log. It’s surprising this isn’t built in. It needs to be.

My large commercial client still has not moved into a formal testing phase for all the changes we made over the last two years. However, I was asked to move this along by writing a test plan which I did over the last two days of January.

Other work in January included:

  • Cashing a nice holiday bonus from my large commercial client. They let me defer receiving payment until the new year, which works for tax purposes.
  • Provided guidance for another established commercial client for deleting and setting up new forums with the correct forum permissions. For the same client, I upgraded their board from phpBB 3.3.1 to 3.3.5. I also updated the Board rules, Digests, Tapatalk and Quick style extensions to their latest versions. I replaced Artodia SCSS compiler with my own SCSS compiler extension. I updated 12 language packs. I also updated all five styles and reapplied their customizations to them. I found and fixed bug in the Forum language extension.
  • Earlier in the month I went through a messy test phpBB 2.0.15 to 3.3.5 conversion. There were lots of issues. The main one turned out to be a bug in the phpBB 3.3.5 conversion software recently introduced where serialized config values were incorrectly escaped, causing a connection to the old database to fail. When I couldn’t get it to work on the client’s server, I moved a 4GB database and 60GB of files to my machine to do it there and encountered the same issue, leading me to figure out eventually where the problem lay. A conversion on my machine eventually worked after correcting the incorrect configuration values. It took about eight hours. There were some duplicate posts and HTML conversion errors, and it failed near the end when importing attachment types and attachment groups. I moved the database to the client’s server and it came up but there were a number of inconsistencies we had to work through, like missing or incorrectly placed avatars and smilies.
  • Later in the month I did a “for real” migration for the same client. The workaround is to install phpBB 3.3.4 and use its convertor program. I tried to run conversion on his web space but it didn’t work with phpBB 3.3.4 and returned a HTTP 500 error with nothing in the error log. So again I had to download the database and files to my machine and convert it there. The conversion was straightforward except for an issue at the end relating to attachments that I hacked but didn’t affect anything. Smilies, avatars and attachments all converted correctly this time. I then updated the software to phpBB 3.3.5. I then added the logo and installed the Advertisement Management extension and placed a sample ad. I was able to upload the database after moving it into an archive, but when I tried to make an archive of the files I found that I didn’t have enough space to create it! So this involved uploading about 335,000 files individually instead of uploading one large archive, a process that took at least 18 hours. I brought up board but first fixed a few directory permission issues. I started to create search index but stopped it when I realized it would take 16 hours. Board was placed in a temporary domain. Client pointed the domain to the new hosting space and re-created the search index.
  • I converted a board from phpBB 2.0.23 to phpBB 3.3.5. Due to bug in the conversion software discussed above, I installed phpBB 3.3.4 and afterward upgraded to phpBB 3.3.5, using lessons learned from last job. It all went fast and spiffy with no issues. About 400,000 posts were converted. I rebuilt the search index, disabled contact page, and set up a reCaptcha v3 spambot countermeasure.
  • Fixed a number of issues related to moving a board to GoDaddy. Reloading the modules table from reference phpBB 3.3.5 installation allowed me to get to the ACP forums tab. It also addressed an issue when registering. Three extensions needed to be updated: Google Analytics, Board Announcements and Stop Forum Spam. I changed spambot countermeasure to Q&A after reCaptcha V3 didn’t work because the host didn’t allow queries to other servers. I disabled the contact form. I installed the proflat style and integrated the customer’s logo. I had to manually add the modules for some active extensions as they got overwritten when I replaced the modules table with a reference. I tested the registration issue to make sure it was fixed. I was asked to hide some of the forums. I gave the unwanted forums the no access role for Anonymous user and registered users group to fix this issue.
  • I upgraded a board from phpBB 3.2.9 to 3.3.5. I installed the Nosebleed style and the American English pack plus the Cleantalk extension. I removed the site logo from Nosebleed style and integrated a new background image that fit the space exactly and was created by the client. I set the home page link and setup the reCaptcha V3 spambot countermeasure. I also removed some dead modules. Set up a redirect rule to redirect http traffic to https for the board and provided guidance on favicon usage. Collaboration on setting up forums and categories to come.