Blog

August 2023 work summary

I forgot to post a summary of my work in August. It wasn’t much. So here goes (belatedly):

  • Updated phpBB from version 3.3.8 to 3.3.10. Issue in that PHP 5.6 was current which meant upgrade program did not run. Host changed to 7.4.33. Reapplied template changes. Updated American English language pack to latest and Cleantalk to 5.7.6 with bug fixes.
  • Upgraded board from phpBB 3.3.1 to 3.3.10. Updated prosilver_se style to latest version. I made minor changes to CSS to make navigation bar look better. Updated seven extensions. Removed Stop Forum Spam extension, replaced with Cleantalk with spam firewall enabled. There were permission issues with the file system: some folders had the wrong owner and couldn’t be updated until host forced it.

 

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.