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.

December 2021 work summary

I didn’t do much work this month because about half of it was planned vacation. We were on a cruise ship in the West Indies enjoying ourselves and, fortunately, didn’t contract anything on the cruise. It certainly helped that they checked and double-checked our shots, boosters and recent tests before letting anyone board. It also helped almost everyone was my age or older and we wore masks indoors except when in our cabins or eating. It was a good mental break and it was good to be on the sea again and see some exotic islands.

During my absence though a queue of work accumulated and happily all were nice enough to wait until I returned home. As for my large commercial project, I didn’t do any work for them at all in December, but they gave me a nice holiday bonus. I expect that project will enter a testing phase this month.

2021 was a record year again for this business. I think it’s kind of gauche to disclose exactly how much I earned but you can get a sense from this revenue graph for my business since I started it in 2006. I keep all these details in a Google spreadsheet.

phpBB Services revenues per year through 2021

I don’t expect this trend to continue in 2022, unless I can replace the work I did for my large commercial client with another such company. The money inspired me to purchase a new computer, which I can write off as a business expense. I currently use a late 2013 edition iMac, which was later upgraded to 16GB memory and a 1TB solid state drive. It will be replaced by a Mac Mini with 8GB memory and a 512GB solid state drive. This model has the new Apple M1 chips that use a RISC architecture, so it’s likely to be super fast. Also on order is a HD display monitor and a web cam. It will take about a week it all to arrive and get configured.

During December, I also released version 3.3.12 of my digests extension and a release candidate version of a SCSS compiler extension. A few days ago I also completed a revision of my book. When business slows down, it’s nice to spend some time giving back to the community with unpaid work.

Other work in December:

  • Earned a DreamHost commission
  • Updated a board from phpBB 3.3.4 to phpBB 3.3.5. No extensions or styles needed updating.
  • Updated board from phpBB 3.3.1 to phpBB 3.3.5. I updated the prosilver_se style from version 3.3.0 to 3.3.5 and the Tapatalk extension from version 2.1.8 to 2.2.0. Updated the Danish language pack to version 3.3.5. I reapplied the logo and changed reCaptcha V2 to V3.
  • Upgraded a board from phpBB 3.3.3 to phpBB 3.3.5. I also changed reCaptcha from V2 to V3.
  • Upgraded a board from phpBB 3.3.4 to phpBB 3.3.5. I also updated the Cleantalk extension from version 5.7.3 to 5.7.4. The client reported that he wasn’t receiving notification emails for new registrations. I found the domain on an email blacklist. It looked like BlueHost was blocking outgoing emails. I recommended that he resolve it by talking with them and to appeal to the blacklist to remove his domain from their list.
  • Upgraded board from phpBB 3.3.2 to phpBB 3.3.5, my digests extension from version 3.3.3 to 3.3.11 and the Cleantalk extension from version 5.7.3 to 5.7.4. No issues were noted.
  • Client’s flaky VPS server, ran out of space (there were 20 GB of images and attachments). The symptom was that phpBB reported an error saying that the phpbb_moderator_cache table didn’t exist. Eventually I was able to SSH in, drop the table explicitly (although it showed in the list of tables, it couldn’t be queried) and re-created it. That allowed the board to come up again. This probably occurred because he simply hit the storage limit and that corrupted his MySQL database. I also re-created the board’s database user and assigned privilege to the database that didn’t seem to exist.
  • Converted a board from phpBB 2.0.23 to phpBB 3.3.5. Some posts had too large a font size. I created a new database to hold tables for the converted board. I disabled the contact page and set up a reCaptcha V3 spambot countermeasure. I also created a home link. I suggested creating an email address and testing emailing. Otherwise, it was a straightforward conversion.

November 2021 work summary

I’ve completed a nearly two-week vacation, so this report of my work in November is a bit late. I did a fair amount of work in November, mostly miscellaneous stuff. One big event was finally quashing my digests extension bug that reported bogus container issues, which was in the place I least expected: an event handler designed to intelligently shut things down if a lack of resources occurred. In addition, I wrote a draft of a SCSS compiler extension.

For my large commercial client, work is definitely ebbing as development is complete and we are moving into a testing phase. We went through a trial upgrade using a copy of their production board running phpBB 3.0.11, which was designed to be a smoke test. The copious notes I took when I did it last year when I did it helped a lot. There were a few bugs in our custom extensions that needed to be fixed. But overall the smoke test went pretty well. While I was on vacation, the client hoped to do a second smoke test using Ansible.

Other work done in November:

  • My client did most of the moving of files and database for his board for this rehosting to Siteground. I changed the domain and I placed the board into a subdomain. The client provided a refreshed database that I reloaded somewhat tediously. It took four attempts with timeouts to import it all. The site used a Sitesplat style and a ton of Sitesplat extension, neither were really needed as the site was purchased, the extensions weren’t actually used and the style was proprietary. After moving database and putting it in a subdomain, I upgraded board from phpBB 3.2.8 to 3.3.5. I removed most of the Sitesplat stuff and the unused Sitesplat extensions. I kept the Share On extension (no upgrade available) and updated the phpBB Media Embed extension. I installed and tweaked proflat style to match colors on main site. Later, I moved board from the subdomain into a folder to address client’s SEO concerns.
  • I upgraded phpBB from version 3.2.7 to 3.3.5 and PHP from 7.2 to 7.4. I updated the Metrolike style and reapplied template and theme changes. I upgraded nine extensions too.
  • Client’s board reported PHP version could not be used. It was configured to use PHP 7.0 due to some sort of incorrect GoDaddy change that was applied in mass to lots of its servers. I waited more than an hour on the phone to talk to GoDaddy to eventually learn that this was an enterprise problem. It was subsequently fixed by GoDaddy.
  • I updated phpBB from 3.3.4 to 3.3.5. I updated the board’s Italian language pack to a phpBB 3.3.5 version. There is an upgrade to the advertisement management extension I did not do.
  • Solved the long issue with digests not running correctly that I mentioned above and applied it to a suffering client who had been dealing with it for a while. I installed version 3.3.11 of digests with an unsubscribe link patch, set up a new system cron and tested it and it appears to be working okay. Charged for two hours of my time to address numerous questions on web hosting that they asked.
  • I updated a board from phpBB 3.3.1 to 3.3.5. I also updated my digests extension from 3.3.2 to 3.3.11 and the stop forum spam extension from 1.3.10 to 1.4.0.
  • Made modifications to david63’s user details extension (which david63 is apparently not supporting) to make it work as a cron. It had already been modified by the client to change CSV to tab-delimited output. Getting it to work as a cron required a lot of tedious debugging and testing as crons are hard to test, and the code was a bit hard to read.

October 2021 work summary

October was a slow month, work-wise. This was principally due to ending development on a long term project for a major client. We have been working on it since March 2020. The next phase for this work is testing, and that requires cloud resources and configuring a bunch of servers which is not in my skillset, so it was left to the client. The client though is used to farming out the work to me, but can’t for this phase, and wants it to be all automated using Ansible. That and that because of his skill level he is highly multitasked just meant that he had a hard time working on it. It’s likely though that in November testing will start in earnest. We’ve got a whole list of steps necessary to do and we need to do a lot of them together so he can learn the complex process for upgrading phpBB. We hope to meet tomorrow to resume work on this project, otherwise it’s been four weeks of me waiting on events as one planned meeting after another got delayed as he got waylaid on other tasks.

The other work that came in was slow too. To keep busy, I released new versions of my digests and spam remover extensions. I think I fixed a persistent issue with the digests extension. Working with a client I was able to test the spam remover extension against a real case study on a board with about 70,000 posts. This let me find lots of bugs and lead me to change the logic so that the remove spam function happens iteratively.

Otherwise, just four commercial jobs in October:

  • This was the project that involved removing spam that took more than a week to complete that I mentioned above. The client mentioned off hand that she wanted me to get rid of the spam, but this turned out to be the major task, not the upgrade and rehosting that occurred too. I tried my spam remover extension, but version 1.0.2 (which is approved!) wasn’t up to snuff due to the size of the spam in the database. So I spent a couple of days adding functionality to the extension to remove spam in batches, and used the client’s site as test. I tried to move the database first, but I couldn’t import it because the spam context in the post text column was too big, resulting in database timeouts, even on my local machine. So I had to do it in a phpBB 3.2 board on the client’s host. Eventually I got my extension to remove the spam, but some spam was left over in a few topics that Akismet did not get flag, and there was some old false spam I reported as ham. Then there were issues with testing on the new host (DreamHost). My usual trick for testing by editing my hosts file would not work, requiring technical support and some back and forth that further delayed things. I was finally able to do the phpBB upgrade, which was done very quickly. But trying to install the old custom style didn’t work, so I applied changes to the we_universal style on which it was based. I removed 17,000 bogus users in the database manually and removed some spam topics manually too that Akismet missed. I had to reinstall the Tapatalk extension and find a recent Beta version of the reIMG extension to install. Emailing worked at first, then didn’t. The issue was using a forwarder instead of authenticating with an email inbox … thought I had it doing both. Then DreamHost moved their staging site to production, removing the board’s files but leaving the phpBB database unaltered. So I had to upload phpBB’s files again, reinstall the extensions and re-tweak the style. I tested emailing again and there was no error now that an email inbox is created, but later had to get it to work with an external SMTP provider. DreamHost limits shared hosting to 100 per hour, which was unacceptable to the client.
  • A client’s Siteground database quota exceeded the 1GB quota by a lot! The main problem was that the phpbb_log table was huge, so I truncated that but also the phpbb_spam_found table and that brought database size down to 376MB. I also disabled logging for the filter by country extension.
  • I had an initial conference call to discuss requirements for extension with a potential client. I subsequently iterated on the requirements in a Google Doc and did an analysis in a Google sheet. The nearly $2000 estimated price though was more than the client wanted to pay, so he paid me for my time.
  • Upgraded a total of three boards from phpBB 3.2.7 to 3.3.5. Added Polish language pack on one forum. Changed PHP on another forum from 5.6 to 7.3.23. Later, I did the third forum was similar but I had to update the OneAll Social extension and change PHP from 7.1 to 7.3.23.

September 2021 work summary

As is typical of most months since March of last year, my work in September was primarily focused on one particular commercial client. The focus there has been to get to a code complete stage for a formal test prior to moving this large phpBB 3.0.11 board to phpBB 3.3 with lots of extensive customizations intact. At the end of August I felt we were nearly there, but September proved me wrong.

There were a number of peculiarities with the mobile look, which had to replicate the site’s mobile look. For example, a hamburger menu should put up a popup window, and clicking outside of it should remove it. Getting the context to flow with various mobile device widths also proved challenging. In addition, integrating my Smartfeed extension to give acceptable performance also proved challenging and discovered I needed to add an index to the phpbb_posts table for acceptable speed, something that will be rolled into the next version of that extension. The client also has an old Atom/RSS Newsfeed solution that had to be rewritten to call the equivalent Smartfeed URL instead. The client’s needs are requiring me to make some other change in Smartfeed, for example, a public-only mode, since they only have public facing forums.

Toward the end of the month the programming part settled down and we began to plan for testing. I put together a deployment document and set of steps needed to formally test this version.

Other work that I did for other clients in September:

  • I rehosted board to DreamHost. This mainly meant moving a lot of files (about 10,000 files were in the files folder) and the database. Lots of timeouts loading the database meant it had to be moved in chunks requiring care in my processes. Otherwise there were no surprises, it was just tedious to do. Later, I updated the board from phpBB 3.3.0 to 3.3.4 and updated Board rules extension from 2.1.2 to 2.1.3.
  • I did a challenging upgrade from phpBB 3.0.11 to phpBB 3.3.4. There were lots of mods, but most didn’t need to transition to an extension. The board contained about 300,000 posts. I backed up the relevant files but the web root was used to serve other content, so care was needed to make sure the non-phpBB parts of the site still worked, and these used a different application. Before upgrading, I removed content in two forums that were to be trashed first. I used the phpBB Support Toolkit to remove a lot of garbage in the database. One issue during the database upgrade required removing a BBCode that had embedded PHP. I changed PHP to 7.4 from 5.3. Client wanted me to retain an ad in top left, so installed Search on NavBar extension to move search bar to make room for the ad. I disabled the contact form and set up reCaptcha V3 spambot countermeasure. I installed the prosilver_se style and tailored it to add the site logo and to serve the ad. I installed the advertisement management extension and ported over one ad served in two locations. I edited three non-phpBB programs for the main site to get them to work under PHP 7.4 to change links to board and to remove recent topics links/buttons. I made a new resources button as requested. Certain ads on the site’s home page were not showing so I got them working again. Later, I added the recent topics extension but could not get the feature to show recent topics on a separate page program to work because it’s buggy.
  • I did a simple upgrade on an unmodified phpBB 3.0.11 board to 3.3.4. There were a small number of posts too. PHP 7.3 was already installed. Could not use phpMyAdmin but it turns out I didn’t need it. There were no errors during database upgrade. I disabled the contact form, set up reCaptcha V3 and created home link.
  • Rehosted a board from old MediaTemple OS6 hosting to new MediaTemple OS7 hosting. There was an issue where a TXT record needed to be on the domain for MediaTemple to switch to the new hosting. I had to wait until Monday to get that done because the domain registrar did not offer weekend support. Otherwise there were no issues with the move. I installed a new Let’s Encrypt SSL certificate. A test email worked. Set up an admin email account which forwards to client’s real email. My digests extension and new topic/posts notifications still work. A couple of domains are still attached to the old hosting and presumably should be moved if they are used.
  • I updated phpBB from version 3.3.3 to 3.3.4, Cleantalk to 5.7.4 and Advertisement Management to 2.0.5. I also reapplied the logo manually.

August 2021 work summary

I kept very busy in August, but most of my work was for a well-paying commercial client. I billed them 79.5 hours of work for the month, which was a very tidy chunk of change. I never have to wait long to get paid either as the money appears in my account one business day later.

It feels like we are moving toward the end of the project, but every time I think so there are more things to do. Most of the month working for them was consumed by working on the mobile interface, which needs to closely match the mobile interface for their main site. So this meant replicating their mobile headers for the most part which meant lots of styling the first half of the month and toward the latter half of August lots of scripting: Javascript and jQuery. But there was also some PHP coding in there: tweaks to extensions I had worked on for this project and the like.

Lots of the styling involved testing and tweaking one thing and seeing how it affects other things. There was a lot of switching between desktop and mobile mode. The resulting SCSS is pretty untidy, but it doesn’t seem to matter much to the client. Basically I’m adding styling on top of some legacy and new Bootstrap code. On the Javascript/jQuery side, it meant dynamically moving things around: expanding the size of a search control when it is clicked on, for example, and going back to original sizing when the user clicks out of it. Lots of widgets move around. It’s at time tedious, but mostly engaging work. It’s nice to get paid well for doing more advanced stuff like this. Most of my work is much less interesting but also easier to do.

Anyhow, it’s still not done. There were a few mistakes and some rework required when doing things one way introduced other issues. But I expect the styling will finish this month and that should pretty much end development work, in which case we should move into an internal testing phase.

Both my Digests and Smartfeed extensions were updated this month. Both tried to address an obscure issue introduced in phpBB 3.3. An E_DEPRECATED flag is thrown by Symfony at times, resulting in controllers needing to be coded for these extensions that weren’t needed before. The issues this introduced in the Digests extension were particularly vexing and hard to track down and fix. I think I closed the last one in the 3.3.9 release.

Other work for clients was routine and not too frequent:

  • Upgraded a board from phpBB 3.2.8 to 3.3.4. A table first needed to be repaired to upgrade, but cPanel’s phpMyAdmin wouldn’t accept the board’s database credentials. To work around this, I installed another copy of phpMyAdmin and used that to change the database. The PHP setting allow_url_fopen won’t work even though it was in the php.ini file, so could not get reCaptcha to work. Upgraded Cleantalk from 5.7.1 to 5.7.4. Changed PHP from 7.2 to 7.3. I had to edit stylesheet.css to point to the logo.
  • Upgraded a board from phpBB 3.0.12 to 3.3.4. I kept it generic with the upgrade although, there were a number of mods and a different style on the old board. About 500,000 posts had to be munged, but the upgrade went very quickly due to speedy server. Changed the config.php file to use mysqli driver. Here too I had to install a separate copy of phpMyAdmin to fix database issues. Used phpBB’s Support Toolkit for phpBB 3.0 to clean up database but it left Tapatalk information in the database. Two modules already existed during the database upgrade and had to be manually removed, otherwise is was very quick and uneventful. I removed one errant module that was still around after the upgrade. I gave a default site name as it was missing. I disabled the contact form and set up reCaptcha V3. I changed PHP from 5.6 to 7.4. Client will customize the board from here.
  • Client thought her board was down and lost and wanted me to try to recreate it from a database backup I had. But it turned out is had been moved from the old folder to a different one somehow. I moved it back and it all came back correctly. I provided antispam advice and changed spambot countermeasure to Q&A.
  • Updated a board from phpBB 3.3.0 to 3.3.4. I updated the American English language pack and the Cleantalk extension to version 5.7.4. I think I had the bad FTP password, tried creating my own account, but couldn’t write files to where they were needed. So I had to use the file manager instead, which was very rudimentary. Thus this simple update turned out to be very time consuming and needlessly frustrating because the file manager provided was so lame. A ticket with the web host eventually solved FTP issue. I uploaded all files a second time to make sure they were all in place.
  • Fixed a variety of forum permission issues for groups and users for a client. I changed reCaptcha to V3 using sockets as the communications protocol, downgraded registered users access to Standard Access + Polls, ensure admins had full access to all forums, added one user to admin and moderator groups. Allowed guests to post by putting them in the moderation queue for all forums. But later it turned out the client wanted these things not to happen, so I had to change things again.
  • Installed the prosilver_dark style and attached the old logo to a client’s board.