September 2023 work summary and a phpBB mystery

Last month I encountered a phpBB mystery which became one of the few instances where I was unable to adequately complete a job for a customer. I could perhaps have completed it if I had enough time but time is money and the client decided it was too much money and too problematic to risk. The board had lain dormant after a failed upgrade seemed to mess it up. I was asked to successfully upgrade it. My upgrade at first seemed successful, but going into the ACP revealed a lot of tabs missing. So a lot of administrator functions could not be selected so you could not do things like install extensions. I tried replacing the phpbb_modules table with rows from a generic install of phpBB, which has worked in the past, but didn’t this time.

phpBB’s permission system was part of the problem because it is needlessly complex. The phpbb_users table has a user_permissions column which is interpreted as a bit string with each bit controlling a particular permission for a user. The user_permissions field is used in a bit matrix of a user’s forum and group permissions to determine the resulting final permission which allows things like tabs to be seen. It seemed likely that somewhere along the way the values in these columns were changed or erased and that was the root of the problem. It only affects administrators. But regenerating the data in the user_permissions column is not documented anywhere except in an auth.php function called build_bitstring, which is hard to read and understand. So it appears there is no way to recover these values except in a backup of the phpbb_users that existed before an upgrade was attempted. Anyhow, after numerous attempts, nothing worked. If you think you can fix the problem I’ll put you in touch with the client so get in touch.

Otherwise client work in September was hardly onerous:

  • Issues trying to login again after logging out on multiple browsers. Could not reproduce. Client paid me for my time.
  • Installed Media Embed extension, version 2.0.1 for a client
  • Upgraded a test board from phpBB 3.3.3 to 3.3.10, 3 extensions were upgraded too. Recommended PHP 8.1 instead of 7.4 which was installed. When all testing is done I’ll get permission to upgrade the actual board.

 

July 2023 work summary

I’m a bit late for my monthly summary of work accomplished. There wasn’t that much of it in July, which follows a trend of generally taking on less of it.

  • I was going to upgrade a client from phpBB 3.1.9 to a new Linux instance for better performance. The client had some technical skills and did the upgrade himself. I double checked him. The only thing missing was the Board Announcements extension. Client asked for suggestions and I suggested the Cleantalk extension and service be installed to be proactive against spam. Installed a recently fixed version of extension that addressed a bug I found.
  • Troubleshooting emailing issues for a client. Looks like it was caused by Malwarebytes false positive. Some back and forth with the vendor resolved the problem.
  • A client has Hostpapa complaining his site is using too many resources. Generally when this happens it’s due to spambots.I installed Cleantalk extenion, but it resulted in me finding another bug in the extension which Cleantalk fixed in a few days. But it wasn’t merged with the other bug I found a month earlier, so Cleantalk did a merge. I installed a newer version of the Elegance Softblue style. Background image though doesn’t look right. I didn’t complete the job yet and am waiting on some more access information to finish. I’ve noticed lots of similar problems with clients using Hostpapa. I recommend staying away from Hostpapa. It appears their shared hosting provides insufficient resources for all but the most trivial sites.
  • Fixed problems. I tried to get remote access but couldn’t get it. So we eventually used Google Meet to share screens and I walked him through a solution. When we purged the cache manually his board came up. Changed config_value column size to 510 (probably not necessary). Installed the newest version of Cleantalk that fixed latest and previous bugs I found.

June 2023 work summary

Not too much work in June which was fine by me as I’m more selective in taking on work.

  • Renewed SSL certificate for domain which was expiring after 1 year for technology challenged client
  • Renewed SSL certificate for domain for technology challenged client
  • Updated a board from phpBB 3.3.2 to 3.3.10. Updated we_universal style from 2.6.4 to 2.6.5, advertisement management extension from 2.0.3 to 3.0.0, Digests extension from 3.3.11 to 3.3.18 and PHP from 7.4 to 8.1. Installed Cleantalk and enabled Spam Firewall to deal with spam bots and resource overloading. Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ issue. config.php showed mysqli enabled but it was likely some mysql vs. mysqli conflict. Suggested GoDaddy tech support fix it. They were aware of the issue and subsequently fixed it.
  • Updated phpBB from version 3.3.2 to 3.3.10. Updated German casual honorifics pack. .svg logo though went missing. Will reapply if customer can supply it.
  • Updated phpBB from 3.3.8 to 3.3.10. Updated Cleantalk extension to 5.7.6 but warning message didn’t go away. Put in support request with Cleantalk. Updated prosilver_se style to latest and advanced BBCode box from 3.3.4 to 3.3.5.

May 2023 work summary

I was on vacation May 22-31. That plus my decision to take on less client work meant I didn’t do a huge amount of work for clients in May.

  • Upgraded board from phpBB 3.0.13-PL1 to 3.3.10. Before the upgrade the board had a custom style with a menu but went with generic prosilver style. Moved poster information to left column of view topic page. Changed PHP 5.6 to 8.1. Contact form was disabled and a home link was added. I had to add a default value for a table column to complete the upgrade.
  • Spent about 90 minutes online with a rehosting logistics discussion for a client. 
  • Developed and implement an acknowledge rules extension. This adds some text to the posting page indicating that the post adheres to board rules set in the Board Rules extension that was already installed. Attended a one hour meeting with the client
  • Issue with error generated by the Cleantalk extension, version 5.7.6. Cleantalk fixed it but would not work on phpBB 3.3.4. So I updated the board to phpBB 3.3.10 and installed updated American English language pack too and the issue went away.
  • Earned about $25 in book royalties.

April 2023 work summary

So it turned out I took a lot of April off.

It’s not entirely clear to me why, but I think part of it is that I am finding this phpBB work less interesting. Also, I’m pretty much set up and have been formally retired since August 2014. I am very comfortably retired and draw both a nice federal pension and social security. Sometimes I want to feel more retired than I am. My phpBB consulting helps pass the days plus it comes and goes. In April there wasn’t much demand, but also I passed on some of the work. I’m getting pickier in my old age.

A lot of the work requests are just that: work. Work I can generally do quickly like a software upgrade I’ll snap up. But a lot of it these days are requests that I’ve come to recognize as big wastes of my time. For example, a client had an extension privately written for him that integrated phpBB with the PayPal API because he monetizes his board’s content through subscriptions. The extension author is no longer available. So basically he wants me to learn the PayPal API and fix it.

In general, I have learned that integrating phpBB with any other third party application only works for a while. The API diverges with time causing issues and I’ll be expected to make it right again. I guess I’m not anxious to go down this rabbit hole since I don’t want to fix subsequent issues that pop up because I’ll be required to relearn the PayPal API again. Sticking with just phpBB makes a lot more sense. There are plenty of others that do similar work like me for the phpBB community. When these jobs are posted on the forums on phpbb.com I generally ignore them and let people come to me.

I have a couple of commercial clients and one of them I’ve been helping for about a dozen years. They want some major changes. Due to some potentially serious health care issues, I may not be alive in five years. So it’s important to transition these clients to a new developer, so that’s what I’ll be doing for this client.

All this is not to suggest you should stop sending me work requests. I’ll let you know if I can or want to handle them. But in general I need to accept more short-term work where I am not on the critical path.

I’m also finding a certain lethargy in that I want to do work that I find intellectually stimulating or is straightforward. I’m less interested digging into the minutia of phpBB code to fix some sort of deeply embedded issue.

Anyhow, I explored a lot of requests with clients in April, but passed on a lot of the work once I saw what they really needed and how complex the work will actually be in both the short term and the long run. I completed these two jobs, however:

  • A board was not allowing mysqli device drivers and was using deprecated version PHP 7.4. I was able to change PHP to 8.0 but unable to change mysql to mysqli so suggested he get his web host to fix that.
  • Updated a board from phpBB 3.3.7 to 3.3.10. Updated American English language pack to 4.10.0 and Cleantalk to 5.7.6. Changed PHP to 8.0 for all subdomains.

March 2023 work summary

I relaxed a bit in March, taking on work at a less frantic pace. Here’s some of what I did for others in March:

  • Updated a phpBB board from version 3.3.8 to 3.3.10. Updated the Italian language pack. Updated the Advertisement Management extension from version 2.0.6 to 3.0.0. Found and added Italian language files for the ads extension.
  • Met client online to discuss work projects generally. Signed and forwarded NDA. Wrote a document (2 hours) answering questions client sent. Later I spend 90 minutes online tutoring, going through permissions and emailing issues, then one more hour training online, refining board look and layout.
  • Exploratory work to see if an Invasion BBS circa 2003 could be converted to be imported into phpBB 3.3. Did some preliminary analysis that looked like it might be technically possible, but client decided he could not move forward on it and canceled the project.
  • Updated phpBB from version 3.3.5 to 3.3.10 for two sites, retaining logos. For one board, investigated why the mysqli driver wasn’t loading in PHP 7.4. I created a php.ini file in the web root and added the command there and the problem was solved. A queue.php issue should be fixed with the update. On the new forums, replicated some triggers I wrote a few years ago to automatically have new user watch all forums, and to delete these watches if the account is removed. Also completed the install on these forums by creating a database and database username.
  • Rehosting and update. Board was phpBB 3.2.4, now 3.3.10. Board is now read only. Updated Google Analytics extension, removed the rest. Reapplied logo. Deleted American English language pack.
  • Board was down with errors that were hard to troubleshoot. Had to get database access to determine that the board was running phpBB 3.1.6. Once I had access I found it was missing some files, which I uploaded. However, because PHP 7.3 was the lowest supported version, various errors showed. I upgraded the board to phpBB 3.3.10 without an issue. I disabled the contact form.
  • User couldn’t login because his IP was in the Spamhaus database. Disabling Spamhaus in the ACP fixed the issue.
  • Updated from phpBB 3.3.0 to 3.3.10. Changed PHP from 7.4 to 8.1. Moved board into a phpBB folder, and created a redirect rule so if you go the domain root it redirects to the phpBB folder.
  • Surprising painful upgrade from phpBB 3.2.3 to 3.3.10. All sorts of annoying technical issues: FTP would not upload. Database updater would not update. Downloaded tables to my machine, converted locally, then uploaded database. Still a few more issues to fix: users table not fully populated, some tables missed on import due to a timeout. Can change PHP to 8.0. Upgraded external links open in new windows extension from version 1.0.6 to 1.0.10.
  • Rehosting and upgraded. Moved from GoDaddy to Hostmonster. 800,000 posts, moving posts table was a major pain. Updated se_square_left style and mChat and Tapatalk extensions. Updated phpBB from 3.3.0 to 3.3.10. Changed spambot countermeasure to reCaptcha V3.
  • Troubleshooting emailing issues. Also updated digests to version 3.3.18.
  • Installed external links open in new windows extension and mChat extensions. Then changed user_lastvisit time to the time of last post using SQL.
  • For my major commercial client, finally fixed an obscure bug related to logging into the ACP using OAuth authentication

February 2023 work summary

February felt a bit less busy than January, but busy enough. Here’s a summary of my work for clients last month:

  • Tutoring. With a client’s passing away, I did some analysis and answered questions for the woman who had to take over site and board responsibility, regarding the current hosting on BlueHost and potentially rehosting elsewhere.
  • Updated a board from phpBB 3.3.9 to 3.3.10. I also reapplied a tweak to .htaccess file to load portal page by default.
  • Upgraded a board from phpBB 3.0.13-PL1 to 3.3.10. I installed the default style with no extensions on Hostgator hosting. No real issues but to keep WordPress working I changed PHP from 8.0 to 7.4. I disabled contact page, set up the reCaptcha V3 spambot countermeasure and the site home link.
  • Billed a commercial client for some sporadic advice I provided since May 2022.
  • Accomplished a sort of rehosting and conversion from phpBB 2.0.22 to 3.3.10. The board and software was so old, it was running MySQL 4 and PHP 5. There was other content on the board from mods that were not carried over. There were some annoying issues. Export on MySQL 4 was not compatible with and import into MariaDB. I had to change CREATE TABLE statements to use ENGINE rather than TYPE. Also, loading the database for conversion, it was editing the extract so as to not populate the search tables. There were some mysterious problems during the conversion too that seemed to be mostly due to inconsistent data in the phpBB 2 database. Ran across an odd ACP access issue that was due to modSecurity being enabled. Set up MySQL fulltext index and home page link.
  • Updated to board from phpBB from version 3.3.3 to 3.3.10. With no web hosting control panel access, the client will need to change PHP to version 8.
  • For my major commercial client, more odds and ends.
    • Implemented a new feature to show a learning page for certain users in their profile area on the view topic page, and created a user control panel interface allowing users to toggle this feature on and off
    • Updated the board software from phpBB 3.3.9 to 3.3.10
    • Fixed an issue with a special site cookie’s expiration time not being extended by phpBB when certain actions occurred on the board
    • Fixed an issue with the footer where the social media links did not have their background colors changed when they had focus
    • Worked with client on a strange issue when authentication was changed between database (db) and OAuth. It made it impossible to get into the ACP if a user had the permissions.

January 2023 work summary

January was a nice and profitable month. I kept busy! I haven’t collected for all the work I did in January yet, but it should amount to more than $4500 when it all comes in. I should add in case that you want to get into a similar business that this was far from typical. Close to $2700 will be from my major commercial client.

For that client, I did a number of tasks. One I actually finished was a new version of a custom extension I wrote, that allows moderators or administrators to broadcast their learning page. When enabled, the link shows up under their profile information on the view topic page.

I also improved another custom extension that tells moderators and administrators if a poster has an orders with the company in their profile information on the view topic page.

I also figured out a way to change the new topic icons on the index and view forum page for the client.

My main focus was to figure out why in a customized search page I created the unread posts icon are not showing. The logic is quite complex because of the way the phpBB Group implemented this logic. I think I have the main issue puzzled out and am waiting permission to try it.

For other clients in January:

  • Converted a board from phpBB 2.0.20 to 3.3.9. I had to solve a number of issues during the conversion. A configuration variable was missing but attachment tables existed but the interface that were not in the ACP. I had to manually create an attachment_count column in 3 tables to get the convertor to work. There were some errors but quickly were overwritten so I couldn’t read them. Created a custom style to change the logo and match a custom footer message, otherwise a standard prosilver style was shown. I turned off contact page, created reCaptcha V3 countermeasure and added a home link. Later I moved files and database from old hosting to new hosting.
  • Upgraded board from phpBB 3.2.11 to 3.3.9. Replaced the logo and installed the American English language pack. I changed the spambot countermeasure to reCaptcha V3 and disabled the contact page as it was apparently the root of an emailing issue. I had to delete in the database the Google Plus profile field to avoid a profile page error. Fixing the issue of outgoing emails not getting received took over an hour plus a long conversation with a great GoDaddy tech. Basically automated replies to spam emails caused outgoing emails to be blocked. It took some time to get the mailbox unblocked. I set up a SSL redirect rule for the forum subdomain. I suggested the main domain be turned into a WordPress site with an integrated shopping cart. I installed and set up the Custom Registration Agreement extension, and disabled the Board Rules extension. Later, changed some language strings in ucp.php (3 total) to add text the way the client wanted, set up a redirect rule for the main domain to the forum subdomain and did a test registration.
  • A client paid for an hour of time for tutoring which didn’t happen as one participant did not show up. He paid for my time and a week later we were able to do the tutoring online using a shared screen.
  • Updated a board from phpBB 3.3.8 to 3.3.9. There was a concern that emails were going out sometimes with http instead of https in the links. Changed the redirection rule to a wildcard rule, tested it, and expect that will solve the problem. Complaint that in some cases only some emails in a batch were being received. Email package size was 100. I changed it to 20. Hope these work. I updated the American English language pack and reinstalled the board logo on a prosilver style.
  • Updated two boards on two domains from phpBB 3.3.3 to 3.3.9 for a commercial client. I updated the parent AllanStyle-SUBSILVER styles on both domains. Updated Advertisement management, Digests and Cleantalk extensions to latest versions on both domains. Updated Smartfeed extension to latest version on one domain. I changed a Cleantalk setting so it could check the contact page for spam. I set reCaptcha V3 on first domain, tried on second one but it failed with a HTTP 504 error so reverted to reCaptcha V2. Registration emails are not being received. Both domains are on email blacklists, so I provided guidance on getting off them. Later, there was an issue with registering users getting an error on registration. Something was trying to put more than 255 characters in the config_value column in the phpbb_config table. Changed column to allow up to 510 characters. Worked, but it’s something of a hack. Reported the bug to Cleantalk and suggested a solution. They have subsequently put out a new version of the extension.
  • I completed a long project I began in October 2022. It involved converting board from phpBB 2.0.22 to 3.3.8 and the rehosting it on a new server and subdomain. About half a million posts. Work was time consuming and tedious for various reasons including the servers were unmanaged and the client did not have a lot of the skills needed to manage it. Lots of coordination and communication issues. The work on upgrading and rehosting the board was relatively straightforward. The main problem was other content on the domain, about 3000 articles that needed to be moved. A developer had written some programs to display these articles but multiple PHP error occurred with the move to PHP 7 as part of the conversion. These were also many gigabytes of files and images that had to be moved too with this content. Ultimately determined the articles were in a database, and to keep the content would mean installing WordPress and having a WordPress developer write a program in PHP using the WordPress API to grab the content, image, etc. and put them into WordPress pages. As for the content on the main domain, it was a custom job by some long gone developer. As it needs to be transitioned to WordPress I recommended he connect with my friend John who could do the work faster and better. I had technical issues that slowed getting a SSL certificate installed. Installed a Damaio style and applied the logo. I converted based on phpBB 3.3.8 being current, but 3.3.9 was later released so I updated phpBB to version 3.3.9.
  • Updated a board from phpBB 3.3.8 to 3.3.9. All extensions were up to date. Reapplied fix to go to portal page rather than the index page by default to .htaccess file. Note: the portal extension was template file for the extension that was affected.

December 2022 work summary

Considering I had brain surgery on November 29 and had to recover from that, phpBB work kept me pretty busy in December. Strange how work can be slow when you want it to be fast, and fast when you are okay with it being slow. It is fair to say that I did less of it in the first half of December. I wasn’t quite up to par, as I was recovering. So I concentrated on more relatively simple tasks like upgrades while deferred on more complex work that required focus and duration. Happily, as December went on, I was able to start handling the more complex stuff, just at a slower pace. Work for my major commercial client resumed at a slower pace. It’s a great company to do work for because they are understanding of such things are letting me take things at my own, reduced pace. Among the other work I did in December:

  • Upgraded a board from phpBB 3.2.8 to phpBB 3.3.9. I was unable to get my filter by country extension. Old files were not moved that contained old content for domain.
  • Helped install and configure the board rules extension. Chatted with client online using Google Meet.
  • Updated a board from phpBB 3.3.5 to phpBB 3.3.9. Also updated the MultiDesign style to 1.2.0, but the logo at the top didn’t go away by trying to hide it with CSS. Probably a Cloudflare or Supercache issue, neither of which I could access, so the client had to handle that part.
  • Did a board rehosting to Dreamhost from Siteground plus upgraded a board from phpBB 3.3.1 to phpBB 3.3.9. I also moved over all the files for the domain, about 10GB in total. The whole process was pretty frustrating as it was hard to get good credentials for Siteground and Dreamhost and eventually did the upgrade twice, once to a temporary Dreamhost subdomain. I also set PHP 8.1 and enabled PHP logging for this version. Moving the database was easy. Also updated six extensions.
  • Got a nice $500 holiday bonus from my commercial client!
  • Updated a phpBB board from version 3.3.7 to 3.3.9. I also updated the Board announcements extension from 1.1.0 to 1.1.1 and Lightbox extension from 2.0.3 to 2.0.4.
  • Updated a board from phpBB 3.3.7 to phpBB 3.3.9. I also updated the Absolution style to 3.3.6. No issues, but it took a while to get proper FTP credentials and to reactivate my board account. Encountered a TWIG error with Advanced Polls extension, caused by a change to the TWIG library in phpBB 3.3.9. So I had to update that to version 1.2.4.3 to fix the HTTP 500 error.
  • Updated a phpBB board from 3.3.7 to 3.3.9. Updated the Metrolike style to 2.1.7. Updated the Advanced BBCode extension to 3.3.5 and the Board Announcements extension to 1.1.1. Very slow uploading and downloading to GoDaddy. It took hours to upload the files for the new version of phpBB.
  • Developed some responsive Javascript that serves different ads based on screen width. It is used by the client with the Advertisement Management extension.

November 2022 work summary

This report is a bit late because, unexpectedly, I’ve been dealing with some major medical issues. It’s definitely affected my ability to provide services, particularly in the last half of November and much of December so far. In fact, I’ve never had a medical issue quite this major or complicated. Without getting into too many details, a tumor was found on my brain. It was removed about a day later by a renown surgeon at Massachusetts General Hospital in Boston. I spent four nights in the hospital and am resting comfortably.

I’m hopeful for a full recovery but it’s too early to know yet. The tumor did affect the balance on my left side somewhat marginally. I’ve got forty two staples in my scalp that come out later this week. I’ve done little client work since I got home from the hospital. The truth is recovery from this is kind of hard. There’s little to no pain, but it’s not hard to feel confused and have muddled thinking. Most likely I will make a full recovery, but my work for clients may be impacted for a few months. Definitely keep reaching out. If I feel a task is beyond me, I’ll let you know.

Fortunately, things are already on the mend and I’m regaining my ability to help clients. More complex tasks though like developing extensions is a bit beyond me at the moment, but more routine tasks like upgrading boards and general troubleshooting are not, just that I may need to take things at a slower pace. Part of this is likely due to aging. I get the impression those of us in the phpBB community tend to be older than most, and I am in my sixties. Anyhow, further events if warranted may show up in future work summaries.

For November, I mostly completed tasks started in October that weren’t quite done. I also did some work for my commercial client whose major upgrade was delivered in August, mostly involving various miscellaneous issues. I’ve done a few things since coming home from the hospital that should show up in the December report.