Blog

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.