August 2016 work summary

August was generally a slow month workwise. I took the first ten days of August off as I was hosting relatives. Even so the rest of the month was slow. I used the downtime to work on updating my Smartfeed extension. Work picked up toward the end of the month. Work in August included (all client information has been anonymized):

  • I completed a project I started in July. See the last item in July’s work summary if interested. The additional work included various troubleshooting, mostly regarding newly registered users having posts placed in the moderation queue for some forums. I changed the “Newly registered” role to No from Never for whether posts required moderation and that solved the problem. This is because the Registered Users (a group to which Newly registered users also belonged) had posting without moderation permissions. I also partially installed a style. The client had someone else finish this work as I was unavailable due to hosting guests.
  • I had an interesting project where a user recovered his database but the database backup was not complete. On a phpBB 3.0.11 forum, all tables after the sessions table were empty including key tables like topics and users. However, he had an earlier backup that had some data in these other tables. So essentially I had to recreate the missing rows in the topics table and recreate the missing users in the users table. To recreate the missing topics, I used a program I developed for a client who had this problem in 2015, which basically gleaned the information from the posts table and inserted the necessary rows in the topics table. There was no way to recover the missing users, but I could create pseudo-users instead, which was okay with the client. So I looked at the user_ids in the posts table and found those that were not in the users table, then created new rows in the users table for these users. I gave them a pseudo-username, basically member_99999 where 99999 was the user_id in the posts table. My script created a unique password, a phony email address then called phpBB’s create user program to place these users back in the users table. This gave the forum’s tables a relational consistency so all topic replies could be seen. Certain other tables though, like users_groups and topics_track could not be fully restored, but this was something the client agreed he’d have to live with. After completing this portion successfully, I was asked to upgrade the forum to phpBB 3.1.9. The forum had 1.47M posts but at least had a dedicated server, meaning there would be no resource problems during the upgrade. The upgrade still faltered because the forum’s cache folder had public write permissions taken away executing any line of database_update.php. The client fixed this odd permissions issue then the upgrade went successfully. I looked into issue of possibly missing posts in a topic but they were all there.
  • For a regular client, I added another advertiser image to the overall_header.html template and linked it to the advertiser’s website.
  • My client was given a copy of the database from a forum its webmaster no longer wanted to host and got his permission to move it to a new domain. But he did not get contents of files or images folders. Using the database extract, I moved the forum to a new domain but after doing this the client got stuck on a number of technical issues. I helped him get through these. Two scripts had syntax errors that had to be fixed. Also, PHP had to be upgraded, the old style was missing and i had to install it and make it look similar to before. I had to change some file permissions. The next day I added two menu links to the style to match the old site and upgraded forum to phpBB 3.1.9.
  • I upgraded a forum from phpBB 2.0.22 to 3.1.9. I installed a generated variation of Elegance style I called Elegance Orange to match the old colors. I reduced the width of the content to match the site styling that was already there on other parts of the site. The user had to upgrade PHP before the upgrade could proceed.
  • I upgraded 1.1M post forum on shared Bluehost hosting from phpBB 3.0.12 to 3.1.9. I installed the Tapatalk extension and an extension to compile the style. I created a custom version of the Elegance style on the site. It was very painful to convert forum. I had to move everything to my machine to get the database update program to run without resource problems. I then had to reimport it back into his database, which was already bulging because he had gone over quota for his MySQL database. I ended up removing three other databases to avoid 504 gateway timeout errors. I use a staggered import program (bigdump.php) to load these large databases on shared hosts. But even using that it wasn’t enough. It would stop at random points while running bigdump.php. The extract file was huge (about 800MB) so to finish I basically snipped out the parts of the import file that had loaded successfully using a very large file editor then ran bigdump.php again. I had to do this five times to get it all to load, then I had to correct some schema and duplicate row issues that had crept in due to my process. Upgrading large databases on underpowered shared hosts really sucks! Afterward, I Integrated logo and tweaked style to make it resemble how it looked when running phpBB 3.0.12.
  • I added Sortable Captchas extension for a client and created some sample questions for it. While I was there upgraded client from 3.1.8 to 3.1.9.