This was a fairly normal month work-wise for me. Here’s what I was up to for my clients during March.
- Client couldn’t login to Administration Control Panel. This was likely due to sloppy upgrade of p8pBB bridge software that blanked out user_permissions column in the phpbb_users table. p8pBB is a bridge between the Joomla content management system and phpBB. I set it to the default value for “webmaster” for this column from a test board I have for his login and this allowed login. I also provided instructions on how to comprehensively reset permissions in phpBB.
- Upgraded forum from phpBB 3.0.14 to phpBB 3.2.5. I installed the Spanish casual honorifics language pack. I also installed five extensions: Ultimate SEO friendly, Dynamic Meta Tags, Advertisement management, Akismet and ShareOn. I did not port the old ads for the Advertisement management mod since none were active. To work, the Akismet extension needs API key so I asked the client go get one on their website and enter it into the extension’s interface page. I added a home link and added a logo, but it was otherwise is vanilla prosilver style that was installed. Hid site title and description since it was in the logo image too. I configured reCaptcha V2 checkbox spambot countermeasure, disabled the contact form and provided instructions for making everyone use the Spanish language pack. I suggested he upgrade PHP to version 7. There followed additional work. I installed three additional styles and applied default logo to each. I installed the Quickstyle extension to have an easy way to change styles on the navigation bar but it conflicted with Ultimate SEO friendly extension, so I disabled it. And spent half an hour figuring out SEO friendly URLs for the Ultimate SEO friendly extension, sticking mostly with defaults and rewriting .htaccess file using code generated by the extension. Still to do: allow users to delete their own posts, but there are many groups so I need to understand their intended use. Later in the month, I installed and configured the Google Analytics extension. The client also wanted posts with a competitor’s URL in them removed. So used the MySQL replace function to change these to point to their website instead.
- I installed my approved digests extension, version 3.2.11, on two domains for an existing client. I set up system crons to run every 15 minutes, which would both send out digests hourly and send out email notifications as well. But both domains were on email blacklists when I checked, so I expressed a concern and suggested they take action to get these domains off these blacklists before using digests. I suggested a Skype conference to go through interface for using digests properly. I changed the email settings for one domain to use an email address for domain, to lessen the likelihood that these digests would end up in spam folders.
- Troubleshooting. Some newly registered users were not receiving sign up emails. I checked and the domain was not on any email blacklists. There were no relevant errors in phpBB’s error log. phpBB’s email settings showed FROM address as email@example.com instead of firstname.lastname@example.org, so I changed the email address. (Note: the real domains were something else.) This might solved the issue. Advised that an update to 3.2.5 was available if desired. I changed the forwarders in Plesk for email@example.com to ensure any emails sent to it were received to a real email address.
- I upgraded forum from phpBB 3.0.0 to phpBB 3.2.5. It used a standard prosilver style with a logo. After the upgrade, I changed PHP to 7.2 and edited the forum’s config.php file to tell phpBB to use the mysqli driver. One error during upgrade required removing a row from the phpbb_config table, then there were no more issues. I disabled contact form and installed the reCaptcha V2 checkbox spambot countermeasure. I removed a number of dead modules manually from the database and replicated the logo. I installed the Recent Topics extension. Later, I answered many questions on their forum and made a number of minor changes to accommodate quirks and oddities.
- I upgraded a forum from phpBB 3.0.14 to phpBB 3.2.5. There was an error during upgrade, and I had to make prosilver style active to complete the upgrade. I disabled the contact form, created a new set of reCaptcha keys and enabled reCaptcha V2 checkbox spambot countermeasure. I added a home link. Then I installed the we_universal style to try to replicate the look they had under phpBB 3.0 with that version of the style. The only change was swapping the dashboard image. I changed PHP for domain to version 7.2. I installed the Advertisement management extension, porting the old ads. I installed my digests extension. But digests did not arrive. I suggested talking to web host since they were likely blocking outgoing emails. A day later I got a first digest unexpectedly. Then I started getting regular digests but they no longer appearing in spam folder, suggesting the client’s web host had solved the outgoing email issue. Except for delay, seems to be working correctly now. Later, I was asked to hide the site title and to make minor changes to the logo’s placement.
- Troubleshooting. Cleantalk is a service that is used to keep sites clean from spam. There is a Cleantalk extension for phpBB that was somewhat old on a client’s site that stopped working. This is because their software was poorly written to hardcode calls to mysql libraries, rather than use phpBB’s database abstraction later. But when the client upgraded their PHP to version 7, mysql drivers could not be used. mysqli drivers are required. This error made whole forum inaccessible with just the ambiguous Cleantalk error message coming up. To get the forum up, I deleted the Cleantalk extension with cPanel’s file manager and replaced it with Cleantalk version 5.6.9 which had fixed this bug. I disabled the extension in database and manually cleared the cache with the file manager. I refreshed the page and after a few minutes it took. I then reenabled the newer version of the Cleantalk extension. Later I updated the forum from phpBB 3.2.1 to phpBB 3.2.5. I also updated the Hexagon style to the latest version, updated the Advertisement Management extension to version 2.0.1 and Advanced BBCode Box extension to version 3.2.1.
- I updated a forum from phpBB 3.2.2 to phpBB 3.2.5, updated the prosilver Special Edition style in use, reapplied logo changes, then updated the NavBar search and Tapatalk extensions.
- I updated forum from phpBB 3.0.11 to phpBB 3.2.5. There was some wasted effort as the cPanel information I was given was old pointing to an old server. That explained when I tried to run the upgrade I got a file not found error message. The forum has about 800,000 posts. Finally on the right cPanel instance, I uploaded the new software to the right place, and ran database upgrade, which seemed to hang once. When I manually restarted it, it seemed to complete successfully. I replicated a streaming player in the navigation bar and in the forum’s header, which used old Flash technology. I also installed an extra style, SE Square Left; users can switch between both styles. I installed the Tapatalk and NavBar search extensions, the latter to make room for the player list in the header. I changed PHP to version 7.2 from 5.6. I disabled the contact form and setup the reCaptcha V2 spambot countermeasure. I installed the mChat extension, which was later disabled. I may change its permission to just let the site’s “music group” see it and keep it hidden from the rest. Some people on the site like to stream the same music at the same time and talk abou the music in a site chat area, which was the reason I installed the mChat extension. I installed an abandoned Radio Module extension which has a radio player to see if that would work instead of the old and buggy Flash player. It must be attached to a streaming service. I removed the link to old player from navigation bar and undid style changes to show playlist in the header.
- Client had rehosted a site but the forum but could not connect database, giving an error message he could not figure out. This was because the forum’s database was not loaded into a database. This set off a search for the most recent version of the forum’s database. We settled on one from 2015 as the one to load. I loaded this version into a database using phpMyAdmin. After creating a new mySQL user and giving it full access to the database, I edited the forum’s config.php file so it would use the right credentials. This allowed the forum to come up. I recommended updating from phpBB 3.1.3 to phpBB 3.2.5, which would require a different style because the subsilver one is not available. Later I did upgrade the forum to phpBB 3.2.5. The default prosilver style is now used because subsilver for phpBB 3.1 is not responsive and thus not allowed for phpBB 3.2.
February was a pretty typical months work-wise. Neither too much work nor too little. Nothing particularly challenging. Mostly updates and upgrades, which is typically the bulk of my work.
I did pass 1000 service requests in January. I current stand at 1010 service requests since I started the business in 2006, with 362 distinct clients.
- Troubleshooting trying to get forum redirection to work. An error message was coming up instead. I chatted with web host and put in a ticket and they eventually solved it. Also upgraded the forum from phpBB 3.2.2 to 3.2.5. I did not update six extensions where updates were available or the Platinum style.
- Updated a forum from phpBB 3.2.2 to phpBB 3.2.5. Did not update the custom style or any extensions. Registrations emails were not being received. I tested the process. Mine ended up in a spam folder. I then looked on a blacklist site and discovered that client’s host had reported spam from his site. I suggested that he talk with DreamHost about getting off these blacklists. He also wanted some registration text changed, so I made an edit to /language/en/ucp.php, initially, then again after the update since the file had been overwritten. I also changed the email address to the forum to use one for his domain so emails were less likely to be flagged as spam. I installed a beta extension that copies post from one forum to another automatically. Later, I set up a special group the client wanted and set permissions accordingly to NEVER for posting privileges in the one main forum. This work inspired this post.
- Client reported a database error accessing forum. I assumed the issue was with the database credentials but that wasn’t the problem. Four folders did not have 777 permissions, changed to 755 permissions, but it didn’t solve the problem. I checked the database and it reported phpBB 3.2.5 was installed, so I assumed an incorrect upgrade was done. I first copied vendor folder but that didn’t solve the issue. I then copied all the other files from a 3.2.5 reference and that worked, once I had a good set of login credentials.
- A client had my digests extension installed and blank digests were reported going out. I investigated the issue and found a bug in digests that affects lowly trafficked forums that use the default phpBB cron, documented here. I created a patch and placed it on the domain to test it. I changed the server setting to explicitly use a system cron, even though curl is used in the cron in cPanel. Later, I determined that the old cron job was set up to use http but https is now used on the forum, so a redirect was happening in the cron, causing it to fail. I changed it to use https and added the -k flag to curl to not check the certificate. Later, I updated the forum from phpBB 3.2.3 to phpBB 3.2.5.
- Updated two forums for the same client that are largely identical, updating the software from phpBB 3.2.3 to phpBB 3.2.5. I also updated the AllanStyle Subsilver style retaining customizations. I updated the Advertisement Management, Google Analytics and Cleantalk extensions. For one forum only, I also updated my Smartfeed extension.
- I upgraded forum from phpBB 3.0.4 to 3.2.5. This was kind of an emergency because the client’s the host changed PHP version to 7.2 meaning the old software no longer worked. Just figuring out what the client had meant looking inside the database to determine the version of phpBB they were using. The forum has about 440,000 posts. There were some timeouts during upgrade, but I worked around them by removing the migration that did not finish from the migrations table and then restarting the database upgrade. (Using CLI was not an option as SSH was not an option.) I installed the Tapatalk extension. The client had to provide me his Tapatalk key to complete its configuration. I disabled the new contact form feature so it wouldn’t attract spam. I set up a reCaptcha V2 spambot countermeasure. I removed a lot of smilies that were missing images by deleting rows from the smilies table in the database. Then, a test post timed out. I spent an hour on the phone with technical support, trying all sorts of things. What worked was my suggestion to repair all the tables, something I could not do in phpMyAdmin because of hosting timeout. I provided some advice on procuring a SSL certificate and changing tables to the InnoDB storage engine to make future timeouts less likely. I installed a non-default style (Anami) which included an extension as a user interface.
- Updated a forum from phpBB 3.2.4 to phpBB 3.2.5. FTP was very slow and had lots of errors, timeouts and zero length files. I uploaded archive of vendor folder using the file manager to fix 0 file length errors.
I was on vacation January 5 – 18 so you would think work would slack off this month. But while I was gone a queue of work developed. I was kept reasonably busy when I wasn’t touring Ecuador and the Galapagos Islands. In short, despite taking two weeks off, I made my revenue goal for the month thanks to customers who waited patiently for my return.
- An old phpBB 2 forum on an old free host was somehow upgraded to a newer version of PHP. That caused the old forum to mostly stop working. Many screens were garbled or content was hidden or inaccessible. I was able to infer the phpBB 2 URL for downloading the database by doing a test on my laptop. This allowed me to download the database, but the avatars (since they were images and no FTP was available) remained inaccessible. I was then able to convert it to a phpBB 3.2.4 database which I placed on my domain in a folder for the client to inspect. Currently the client has a converted database that they can move to any host. They have not asked me to take this next step, at least not yet.
- Updated a forum from phpBB 3.2.3 to 3.2.5. When I tried to make a database backup, I downloaded it and discovered that it was not complete. This was due to annoying shared hosting timeouts on Bluehost, which really metes out resources sparingly to clients, one of the reasons I urge clients to avoid companies owned by the Endurance Group like Bluehost. I eventually made a set of backups by making slices of certain tables using phpMyAdmin. In short, this relatively simple upgrade was something of a pain, mostly because I won’t do an update unless I have a complete recovery path. I had to change the logo size in common.css to put the old logo back. The client’s Advertisement Management extension needs an update, which I later updated.
- Troubleshooting. A client complained about spam they were getting. This is probably because Contact form was enabled but the enabled Cleantalk extension was not checking it. I enabled Cleantalk to check it. Next was a complaint about users not being able to pass reCaptcha. I created a new set of reCaptcha keys, but this one used the checkbox Captcha that phpBB 3.2 supports, and deleted the old one. Their [youtube] and [vimeo] BBCodes were not embedding properly. I installed the Media Embed extension and disabled the [youtube] BBCode by renaming it so I could use it with Media Embed extension. Vimeo has similar issue but I left that untouched. 248 Youtube and 105 Vimeo embeds were affected. I noted that anyone could edit their own posts to fix the embed issue and provided instructions.
- What looked like a newly upgraded phpBB 3.2.5 forum needed styling work to make it match a larger website (they were using prosilver). After going through the available styles with the client, he agreed to and I installed the ne_blackgreen style which I then proceeded to tailor to make it match the larger website. I concentrated on header and footer changes to the pages. For the header, the client wanted three image areas across the top, evenly spaced, left side pushed left, center centered, right pushed right, of equal size. I made it responsive … was in previously in a HTML table that was not responsive and did not look good on mobile devices. I installed the NavBar Search extension to put the search bar on the navigation area so I had the full header available. For the page footer, I was asked to add some standard text. I removed many HTML validation errors from using old HTML. I converted the old HTML tables to responsive <div> tags. I changed the PHP version from 5.6 to 7.1. I tried to change the spambot countermeasure to use reCaptcha but it gave a HTTP 500 error, so I reverted to Q&A spambot countermeasure. Forum pages are now responsive. The larger website is still not responsive. This could be take up as a future project. I changed user registration settings to allow people to respond to an email link to complete registration. I changed the base font size to 13px. Added 1cm padding to the top and 2cm padding to bottom. Later, I did another hour of style tweaks, principally to make it look good on mobile devices. There were annoying issues with CloudFlare and no way to refresh its cache, so I had to wait to see changes. Cloudflare was eventually removed by the client.
- I updated a forum from phpBB 3.2.3 to 3.2.5. I had to reapply one style change to common.css, otherwise it was an easy and normal update with no issues. Afterward, there was an issue with a phpBB Gallery error. I removed the cache file that reported the error and the error went away. I updated domain from PHP 7.0 to 7.2 so user avoids extra fee.
- I upgraded a forum from phpBB 3.0.13-PL1 to 3.2.5. I started with the default prosilver style, but soon moved to Orange BBE style. I made some customizations. I moved the search interface to navigation bar. I had to resize the logo to 50% of its previous size to make the logo responsive to mobile devices. At screen width of under 700 pixels, I swapped in a logo that was one third of the original logo size. I installed the advertisement management extension because the client was previously using the mod and had ads to be ported. Because MySQL tables existed from the mod where the old ads were placed, there were some tables and columns missing causing some errors when the extension ran. It took some analysis to add what was needed to get it to work as an extension without losing the old ads. Basically, I had to add some columns and indexes. I replicated email, FB and donation links/buttons on the navigation bar. I replicated the background image in the style. I installed the mChat extension. I setup reCaptcha V2 as spambot countermeasure. I disabled the contact page as it is a channel for spam otherwise. I changed PHP to 7.2 for all domains. This client had the same UK host as the previous clients, and the host charged extra if they weren’t using PHP 7.2.
- This client has a busy site and wanted to do an upgrade from phpBB 3.0 in stages, starting with development environment upgrade that had a copy of the production database. I had to use SSH and FTP to do this work. There is no cPanel or Plesk environment available. In the development environment, I upgraded phpBB from version 3.0.12 to 3.2.5. The database upgrade program look about 3 hours to run, and I had to manually create the phpbb_config_text table first. Next, there was style work to match current style, about 3 hours of labor for that. I installed the Tapatalk, Thanks for the posts, Digests, ACP Add User and Google Analytics extensions. I disabled the contact page. I enabled the reCaptcha V2 spambot countermeasure. I added a home link to the navigation bar. While I installed my digests extension (they have the digests mod installed), I did not set up digests cron, but users’ subscriptions were successfully carried over. The Tapatalk extension may not work correctly until moved to production because it’s in use in the production forum. No ForumRunner extension was available so that functionality was lost. I installed the PM Search extension, a release candidate extension. The Thanks for the posts extension may need permissions set up. The client will be doing some testing of the development environment. When complete, I will upgrade the production forum. That work should show up in next month’s report.
- Someone sent me a $50 donation for my digests extension, a thank you for finally getting it approved (a 3 year effort!) I had no way to thank them for the donation, and I tried to give it to the phpBB group but could not find a way to donate money to the phpBB group, so I kept it. Thanks, donor!
Here’s a summary of the work done for clients in December 2018. It was definitely busier in December compared to November, with peaks and valleys.
For 2018, revenues were up considerably, more than I estimated: 27% more in fact. Looking over 2018, I did a total of 126 individual jobs, many of them multiple jobs for the same clients. Since I started the business in 2006, I have done 991 jobs in total for 356 distinct clients. As always, unless a client chooses to reveal themselves in a comment, I keep information about the client confidential in these work summaries.
- Tested upgrade from phpBB 3.2.1 to 3.2.4 on development forum. Style is inherited from prosilver and had many changes. Compared prosilver changes since 3.2.1 to see what additional template changes were needed. Applied them. Customer tested, made a few changes. Proceeded to a production upgrade. Issues trying to backup files and database. Had to sort through credential and SSH issues. Updated two extensions: Pages and Stop Forum Spam. Chose not to upgrade PHP to version 7. Provided suggestions on performance issues. Implemented 3.2.4 bug fix. Installed Posting template extension. Fixed a style complaint with Your Posts, the page number buttons were aligned toward the top. Commented out the CSS in the local style. First I performed a test upgrade from phpBB 3.2.1 to 3.2.4 on development forum. The user’s style was inherited from prosilver and had many changes. I compared prosilver style changes since phpBB 3.2.1 to see what additional template changes were needed, then applied them all. Customer tested, made a few changes. I then proceeded to a production upgrade. There were issues trying to backup files and database. I had to sort through credential and SSH issues. I updated two extensions: Pages and Stop Forum Spam. Client chose not to upgrade PHP to version 7 at this time. I provided suggestions on performance issues. I implemented some phpBB 3.2.4 bug fixes. I then installed Posting template extension. I fixed a style complaint with Your Posts: the page number buttons were aligned toward the top. Commented out the CSS in the local style.
- Upgrade from phpBB 3.0.10 to 3.2.4. Applied patches to 3.2.4. Installed prosilver SE style, widened it to 80% max width. Installed mChat extension. Had to create a table to complete the upgrade. Disabled contact form. Configured reCaptcha. Placed logo. There was a big issue. Could not get into ACP, complained about being unable to convert UTF-8 to UTF-16BE. Found the code and made it lie so rather than fail it returned true. Then I was able to get into the ACP and finish the work. To install mChat, had to remove a module and some migrations. I upgraded a forum from phpBB 3.0.10 to 3.2.4. I applied patches to phpBB 3.2.4. I installed prosilver SE style, widened it to 80% max width. I installed the mChat extension. I had to create a table to complete the upgrade. I disabled contact form, then configured reCaptcha and placed the logo. There was a big issue. I could not get into Administration Control Panel. A PHP library in phpBB’s vendor folder complained about being unable to convert UTF-8 to UTF-16BE. I looked on phpbb.com and there was nothing quite like this issue reported. This is probably some obscure table or column encoding or collation issue in the converted database. I found the code that triggered the error and made it so rather than fail it returned true. Then I was able to get into the ACP and finish the work. To install mChat, had to remove a module and some migrations.
- This was probably the big, hairy job of the month. I upgraded 1M post, 900K user forum from phpBB 3.0.10 to 3.2.4. Upgrading forum took about 12 hours. Could not upgrade with CLI, tried three times. Continued manually with many timeouts. Meanwhile, moved the database to my machine and converted it there as a backup process. Very tedious. Had to create two tables: config_text and oauth_states. Eventually finished and was eventually able to use CLI. Incorrectly applied patch resulted in topics not being seen correctly. Installed Latte style. Applied logo. A new style is in development. This is temporary. Disabled contact form. Installed American English language pack. Set up reCaptcha V2 spambot countermeasure. Set up Home link on navigation bar. 12/9 – 12/11: Back and forth on styling issues. Solved by user supplying a new style that I enabled. Some issues with the upgrade were noted. Provided feedback. One issues with header errors in ACP > System > General tasks looks like a phpBB bug. Reverting PHP from 7.2 to 7.1 would solve the issue.
- Client tried to update phpBB 3.2.2 himself to the latest and a HTTP 500 error occurred. Wasn’t sure the update was complete. Spent a lot of time trying to figure it out. Eventually determined extensions were not disabled first and that an old version of the Board rules extension triggered errors in the error log. Uploaded a new version, cleared the cache and the 500 error went away. Earlier ran the update program and after completing it successfully and going to any URL the error occurred. Lots of extensions were out of date so I also updated: pages, stop forum spam, user merge and mchat.
- Continuation of work after several months. Upgraded forum from 3.2.2 to 3.2.4. Moved over latest code from mailing list extension on asoprsforum.org. Created a Subscribers user group (group_id = 8). Edited mailing list code to use this group_id and to remove condition for a column that does not exist on this host. Changed the logo to use similar font size and font face for site name and site description. Tested new version of mailing list extension. Works fine but may have issues with larger group sizes. Changed attachment.html on prosilver to replicate changes there. Increase since of content to 1200 pixels to make embedded videos look better. Installed Digests 3.2.10 and tested manually and automated. Set client up for a daily digest as requested. I finished a project I had been working on with a professional association that I began in August for a new forum on a new domain. Basically I replicated the work I did for them on another domain to make it work the same. This included some unique functionality. For example, phpBB cannot play web ready videos natively, so I hacked attachments_body.html to natively play .mp4, .m4v and .ogg videos natively. phpBB requires these videos play using a Quicktime plugin. Tested on a variety of devices including smartphones to make sure it worked on all devices. Some devices seem to require a Chrome browser. Since I started it in August with a prototype, phpBB has evolved. So I upgraded the forum from phpBB 3.2.2 to 3.2.4. I moved over latest code with my changes from the mailing list extension on the other domain and tailored it to work on the new domain. I created a Subscribers user group used to send notification emails of new topics and posts (with full texts) and placed all registered users in that group. I changed the logo to use similar font size and font face for site name and site description, and eventually installed a total of five styles that the user could change on the navigation bar. I tested new version of mailing list extension. I installed Digests 3.2.10 and tested manually and via a cron. I set it up for a daily digest as requested, but disabled the user control panel interface as requested. The client is the only one getting the digests. Also with the ACP Add User extension enabled, I added a few dozen members to set up their accounts. The forum is hidden from the public.
- Troubleshooting. Client reported 403 (forbidden) error messages. Hosts did something to fix it, said it was an issue with app.php. Changed four folders to use 777 permissions, were 755. Looked at error log. There was a deny all line at the top of the .htaccess file. Removed that and the forum came up. No obvious problems with the board. Later, updated phpBB 3.2.2 to 3.2.4. No issues with update.
- Upgraded phpBB from 3.2.2 to 3.2.4. Applied patches to 3.2.4. Upgraded Cleantalk extension to the latest version. Updated latest American English language pack. Made sure all changes to prosilver were applied: ads are supposed to show in the header. I upgraded phpBB from version 3.2.2 to 3.2.4. I applied the needed patches to version 3.2.4. I upgraded the Cleantalk extension to the latest version. I updated the forum to the latest American English language pack. I made sure that all changes to prosilver were applied: ads are supposed to show in the header.
- Upgraded phpBB from version 3.1.11 to 3.2.4 with patches applied. Upgraded Cleantalk extension. Tried to install upgraded Custom Code extension but it requires PHP 7 not yet enabled. When enabled, the extension should be enabled. Updated Google Analytics extension by mistake. Disabled Auto DB backup extension and email list extension (version 3.1 base). Installed American English language pack. Reinstalled logo and adjusted display size in CSS.
- Client complained that old embedded images hosted on other websites were showing blank spaces instead. When this happens, it’s because the image no longer exists on the external web server. However, there was another thornier issue. The client did not want users to use the [img] BBCode, but did want admins to be able to use it in posts. The general problem was that user forum permissions were being granted to admins, instead of adding users to appropriate administrator’s group and giving this permission to anyone in the admin group. Those user forum permissions had the Never permission set for using the [img] BBCode. I changed the forum permissions for registered users for this privilege from Never to No. When set to never, since admins were in the registered users group, this would also keep them from using the [img] BBCode. However these user forum permissions for these admins were set to Never and overrode this change. It was hard to tell how many users were affected since admins were not actually in the administrators users group. Having their user status set to founder allowed them to get into the ACP but the privilege to place others in the administrator’s users group returned an error. Using the database, I determined that likely no more than four people had this issue. So I changed their permissions for this privilege set to Yes from Never for all forums, which was time consuming because there are many forums. I provided advice on how to allow posts to be edited for up to six hours (30 minutes was the default) on the post settings page.
This was a slow month for my business. It wasn’t a problem. I made my goal for the year at the end of October and was also teaching a class. Good to have some downtime. It allowed me to get out a new version of my digests extension.
But I did do some scattershot work here and there in November, updates mostly, including this work:
- Upgraded a forum from phpBB 3.2.1 to 3.2.3. Initially I could not login to the Administration Control Panel. Changed cache folder permissions to make everything writeable and eventually was successful. I had to copy all the files from a version 3.2.3 reference to get the updater to work due to TWIG library errors that occurred when I tried to update the database. I reapplied the forum’s style changes for the logo and a PayPal button. I updated the Advanced BBCode extension from version 3.1.3. to 3.2.1. Changed all tables to use the InnoDB storage engine instead of the old MyISAM storage engine. There was an issue with the topics table. I had to remove a MyISAM full index before I could change its storage engine.
- Additional work for a client I mentioned last month. Last month I completed a long upgrade of their forum from phpBB 3.0 with many modifications. In this latest work I changed the mailing list extension to use a new “Subscribers” group I created instead of Registered Users for sending topic and post notifications. This made it easier to opt out people who did not want these emails by simply removing them from the group. I created the new group then populated it with a SQL query by adding everyone in the Registers Users group to it. I provided instructions on how to remove people from this group. I noticed an inconsistency in phpbb_user_group table, removed lots of bogus rows where the user_id in the table did not exist in the phpbb_users table. I manually removed a bunch of people who did not want these notifications from the new group. A few days later, I refined the query to also filter out those where a column I created called user_email_all_posts was set to 0. I used this approach when a similar functionality was done on phpBB 3.0. All the notification issues seem to be fixed now and no latency has been reported due to emailing when creating new posts. Phew!
- Troubleshooting. A catchable fatal error occurred on a client’s forum. It took a while to get access to the web host control panel due to the client’s illness. Once I had it, I manually purged the cache. This generated a different error. I changed PHP from 5.6 to 7.0 though made it go away. I changed permissions on the cache folder too. Later I updated the forum from phpBB 3.2.1 to 3.2.4. When I tried to run the update it said phpBB was not yet installed! I searched through the phpBB source code to see what triggered the error, eventually discovering it was because a .lock file was present in the cache folder. I removed it and the update was successful.
- Updated forum from phpBB 3.2.3 to 3.2.4. No issues. Later, I installed the mChat extension on the forum.
- Updated forum from phpBB 3.2.1 to 3.2.4. Updated the AllanStyle-SUBSILVER style that was the primary style, putting back the old logo. I removed the old security certificate, and installed a free Let’s Encrypt certificate. I changed the forum’s .htaccess file to redirect HTTP traffic to HTTPS. I discovered one issue on the index: insecure content was being served. This was due to http:// being in the user_avatar column of the phpbb_users table to serve avatar images. Used MySQL REPLACE to make these avatars to be served securely. In some cases there may be a blank space now because the server did not support HTTPS. I changed PHP from 5.6 to 7.2. This work inspired this blog post.
- Updated a forum from phpBB 3.2.2 to 3.2.4. Upgraded the Cleantalk extension to the latest version. I changed config.php to use mysqli. This allowed the forum to work with PHP 7.1 (it was on PHP 5.5).
I completed a major project this month, and that represented the bulk of my work. This nonprofit organization has been my clients for nine years now. Earlier in the year I convinced them they needed to move their forum off of phpBB 3.0 to the latest version. As they are surgeons it was hard to pin them down so it took months of sporadic back and forth. It’s nice to finally bring this home and collect a nice four figure paycheck for all the work. Their old forum had a number of modifications and code that I had inserted into the base code to do things like send an email notification with topic and post text to all members whenever a post was made. That won’t work with phpBB 3.2. It took a lot of experimentation to figure out something that was acceptable. Some of the things I did for them:
- Used DavidIQ’s mailing list extension to handle the post and topic notifications with the post text. I had to tailor it to make it send emails to all registered users, rather than just one email address. I also had to change the template text to meet their requirements.
- Installed five different styles and customized each to meet various styling requirements. I used the Quick style extension to give users an easy way to change styles on the navigation bar.
- Figured out a way that users could upload and embed “web ready” videos without needing to use the Quicktime plugin. IMHO this is a serious deficiency of phpBB that it won’t use the <video> tag for these formats like .mp4 and .ogg. Basically this meant hacking the attachment_body.html template. I also had to create a MP4 attachment type, add it to the Flash group, enable the Flash group and take other formats out of the Flash group. I also had to enable the documents attachment group. This allows other video types to be uploaded, however they have to be downloaded to be actually played. The general idea is to encourage these surgeons to upload MP4 files only.
- We quickly discovered that when MP4 videos were uploaded they were usually uncompressed. A 12 second video was 19.1MB! I found ffmeg, a command line utility that allows videos to be compressed, resized and moved from one format to another. I integrated ffmpeg into their virtual server and wrote a PHP script that once an hour looks for new videos. If it finds an uncompressed MP4, it compresses it using the “fast” method and updates the metadata for the file stored in the database. I used ffprobe to examine the video’s metadata, asked for it to output the data in a XML format, then used PHP’s DOM object to grab the information I needed. It took more than a day to write it, but it will save them lots of storage space as well as make videos faster to load and play. Given these videos are of surgery, they needed to be kept private so hosting on sites like YouTube was out of the question. The whole forum is tightly locked down to members only, and uses HTTPS to encrypt all communications.
There were lots of extensions installed as well in addition to other minor requirements addressed. Some extensions provided functionality identical to the mods they had, such as the Recent Topics extension. In a few cases they chose to drop the functionality of their old modification.
In any event, this project is largely closed although I expect a few bugs will manifest themselves in production use I will have to fix.
Other work in October:
- I updated a phpBB from from version 3.2.2 to 3.2.3. Installed a beta Medals extension.
- Spent two hours of labor on digest emailing issues. Since the hosting was GoDaddy, I pretty much knew what the problem was: GoDaddy blocks outgoing emails it thinks might be spam, and doesn’t bother to tell the client they are doing this. It basically takes a technical conversation with them and to get the client to certify that they really don’t have any inappropriate content or malware on their domains.
- Spent time troubleshooting an issue on why no posts were being created on a forum. The basic issue was low board traffic. Also updated phpBB from version 3.2.2 to 3.2.3.
- Answered some questions on user statistics and most users online. On the client’s old version of the forum, the number of users included a hack that added inactive users and bots. They really wanted that back so I changed /includes/acp/acp_main.php to include all types of users, and warned them this adds a complication with updates and upgrades.
- Updated two domains for the same client from phpBB 3.2.2 to 3.2.3.
- Client needed to change the domain registrar from GoDaddy to another registrar for two domains. Helped her with this obscure process.
- Upgraded a vanilla prosilver style forum from phpBB 3.1.6 to 3.2.3. The upgrade was very slow and seemed to hang. I tried a few hours later and was able to get it to resume and finish. There was an issue related to moving to a new server and having PHP 7 installed, which triggered certain errors on phpBB 3.1. Replaced logo.
- Upgraded another vanilla prosilver forum from phpBB 3.1.10 to 3.2.3. I changed the spambot countermeasure to reCaptcha V2. I added latest Cleantalk extension. I changed user registration settings to user gets email. Changed PHP to version 7.
Things slowed down a bit in September, which was okay because I also started teaching a class this month.
I did have one large job at the start of the month that more than paid the rent. This was a commercial job and it involved moving a forum from phpBB 3.0.14 to 3.2.2. I was working as a subcontractor. The contractor’s client had a very particular look and feel to his forum and he wanted that to be retained as much as possible, so the challenge was to do this despite the fact that many modifications on the forum were not available as extensions. Obviously this meant making sure the style closely matched the phpBB 3.0 style. I did the prototyping work in a development environment. It took a long time to get things tweaked before I was given permission to move the changes into production. The first attempt at an upgrade of the database failed due to a resource timeout. The second attempt worked but took about six hours using command line interface. I installed the mChat, ReImg Imag Resizer, Google Analytics, Post Count Requirements and later NavBar search extensions. I set up Q&A spambot countermeasure. I removed dead modules and dead software including Tapatalk. The rest was styling work. I created a custom style based on Prosilver SE and then tried to emulate look of existing site. I added archives link to navigation bar, put the Twitter logo in the footer, and customized the footer to add link to site. Three templates were changed. Style customizations were placed in stylesheet.css. Later, there was four hours of additional styling work working from a punch list. One of the challenges was to do the work quickly. It was four days from start to finish. Given that this was a big forum, this was a moderate challenge.
Also in September:
- I updated a forum from phpBB 3.2.1 to 3.2.2. There was a routing error caused by modSecurity being enabled. I disabled it and was able to post. Also upgraded PHP from 5.5 to 7.1 for about 50% faster performance for the client.
- Similar to my last work for this client, I created MySQL triggers to subscribe people in the registered users and newly registered users groups to get topic and post notifications, but on a different domain.
- I updated a forum from phpBB 3.1.4 to 3.2.3. (phpBB 3.2.3 was released in the middle of the month.) I installed an updated Aero style. I removed the Board3 portal extension. I installed updated extensions: Topic Preview and Notify Admin on Registration. I upped PHP version to 5.6 from 5.4. I changed the spambot countermeasure to use reCaptcha V2. I installed my digests extensions (version 3.2.8) and tested email using both a manual test and cron.
- I updated phpBB from version 3.2.2 to 3.2.3 for a client using update files method. Updated five extensions that were out of date.
- I updated another forum from phpBB 3.2.2 to 3.2.3. I updated the Tapatalk extension from 2.0.8 to 2.1.3. I had to reapply a style change to common.css.
With the release of phpBB 3.2.3, the phpBB group not only fixed some bugs that really needed fixing (including one that only allowed one attachment per post) and the migrator issues that gave me hell, but it also appears that the update program will now update any extensions that need updating, if the links work correctly. This is normally a good thing but if you wrote any custom changes to these extensions this might overwrite them, and there is no warning of this. You are not supposed to do this, but I have clients who have done this or asked me to do it for them. The update program really needs some sort of warning or a switch of some sort so these don’t happen automatically.
I kept busy with phpBB work in August but fortunately not too busy. It was all just right for a change.
The big project was a Amazon Web Services (AWS) rehosting project that consumed four days after about two months of erratic testing and prototyping. I wrote about the project as it relates to AWS here. However, there were other details of wrapping up this project unrelated to AWS:
- A heavily modified AllanStyle SUBSILVER style was used, with the colors tweaked to closely match the old style. During the prototyping there were all sorts of things that had to be just right because the community is very fussy and they wanted extremely high fidelity for what they used to have. This style is basically you only choice now if you like the boxy, full width styling of the old phpBB subsilver2 style. Members in a certain group had to have a different color number name and font size, so it took a lot of puzzling there to get something acceptable. Fine tuning the styles included moving the view topic author column from the right to the left, and getting the width of this column just right to match what they had. There were some peculiar requirements such as having the Administration Control Panel open in a separate tab and adding additional links to the navigation bar.
- Six extensions were installed: Advertisement management, Pages, Media Embed, Smartfeed, Smilies Scroll and Topic Preview. There was quite a bit of work getting the advertisement management extension to serve ads correctly and to the correct groups.
- I created a forum test environment and kept it around so subsequent changes could be tested there before being deployed to production.
- Some BBCode was in the database for ranks messing up the display of ranks. These had to be removed from the database.
- Figured out why hide my online status wasn’t working. It was a permissions issue.
- There was also BBCode in the user_jabber column that could not be edited and had to be manually removed in the database. It messed up editing profiles. I discovered the Jabber module was not enabled, so I enabled it.
- Changed the text in the email templates to match content that was in there before.
- Later in the month there were more requested tweaks. The client wanted more ads to display on the view topic screen, every ten posts. This is not built into the Advertisement management extension. I used the group template variables extension to get the group information I needed and tweaked the view topic template to serve the ads unless users were in a particular group. Now they want another ad on the index between forums that I am working on.
Other work in August:
- I upgraded a forum from phpBB 3.1.6. to 3.2.2. I reinstalled an updated Latte style. Four extensions had to be upgraded: Joined Date Format, Board Rules, Reimg Image Resizer and Topic Solved. I reapplied the background logo and footer links. There was an issue when posting. Email notifications did not go out because SSL check didn’t work, causing an error. Disabling it allowed posts to be saved but email notifications still did not go out. Client had to get a correct set of SMTP settings from their web host to fix the emailing issue.
- Stood up a new forum and new domain for an existing client of nine years using a forum solution largely the same as their existing forum, Siteground hosting was selected on my recommendation. Installed phpBB 3.2.2, placed logo after resizing it, installed an orangish style to match the logo colors. Hid forum content from public. Disabled user registration. Installed ACP Add User extension. Installed and tested Tapatalk extension and access. Set up email account and forwarder to test email interface via SMTP. Set up SSL using free Let’s Encrypt certificates. Added Mailing List extension with same changes I made for their other site. Created a robots.txt file to deny search engines. Disabled contact form. Need to manually add users when deployed. Currently this project is not complete and is in user testing. As a result of testing, I applied a new style and made a number of fine styling changes, including some fine color changes. I also applied new specified fonts to forum name and site description. Installed media embed extension to embed a video.
- Client reported this error: “Error: [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4190: ob_start(): output handler ‘ob_gzhandler’ conflicts with ‘zlib output compression'”. Solved by changing PHP to 7.1, turning off the PHP ziplib extension, but needed to turn on mysqli extension because on this host it was not enabled by default. Later, it was discovered that some searches timed out after 30 seconds. I changed tables from MyISAM to InnoDB storage engines, but this did not solve the problem. I changed the PHP timeout to 60 seconds but the error still happened. I changed search index to MySQL FullIndex and it did not solve the problem. Eventually I determined the PHP mbstring extension needed to be enabled. I filed this as a documentation issue with the phpBB Group as enabling this PHP extension is not a system requirement.
- Updated a forum from phpBB 3.2.1 to 3.2.2. Was getting messages including “Parameter must be an array or an object that implements Countable.” The update made the error go away.
- Upgraded Tapatalk mod for a phpBB 3.0 forum to version 5.0.1 and made necessary file changes too. I removed the Tapatalk rebranding module because it was giving errors and is not needed.
- Styling work to integrate site headers and footers onto phpBB 3.2.2 using prosilver on a test site. 3 templates modified. Stylesheet changes were added to stylesheet.css. This project is not quite complete yet, but nearly so.
- Upgraded Tapatalk mod for phpBB 3.0 from version 4.9.8 to 5.0.0 for a client. I removed the Tapatalk rebranding module because it was giving errors and is not needed.
Happily, there was a lot more work in July than there was in June. I am noticing that I tend to get called in for more complex projects and fewer simple projects. One effect this has is that these projects can span months. I worked on two projects like this during July that I do not detail below, but will when finally completed. They will have amount to nice sales when they finally cash in. Both projects are complex upgrades from phpBB 3.0 where there were many customizations by previous developers (including me). Moving them to phpBB 3.2 involves a lot of talking, compromise and prototyping. Both involve standing up test instances of their forums and iterating through them getting the style and features right. As for the other work I did in July:
- Upgraded a forum from phpBB 3.0.12 to 3.2.2. I had to do it minus the tools I usually have. I had only SSH access. As such there were various technical issues. Trying to make a database backup took a long time in phpBB. But with root privileges I was able to do it very quickly. There were issues uploading files. I had to change the Unix group I was in to get the file permissions correct. I seemed to lose ability to create directories using Secure FTP. I worked closely with client who did some work and gave me additional privileges. There was an unexpected issue with /config directory that did not properly upload and a missing line in the config.php file. Th install folder was not recognized. I had to fix some database issues with upgrade, mostly done from the command line. I reapplied styling changes including logo, various buttons and some help links. Search indexes would not work (MySQL fulltext) so I created phpBB native index instead. I removed dead modules and updated spambot countermeasure to use reCaptcha V2.
- Troubleshooting. The host set PHP 7 as the new default version of PHP, which caused issues bringing up the phpBB 3.0 forum. I could only revert back to PHP 5.6 on a phpBB 3.0.12 forum but it came up. Later, I upgraded the forum to phpBB 3.2.2 which does work with PHP 7. There were no issues. I placed the logo, changed the spambot countermeasure to reCaptcha V2, added a home link, and removed dead modules.
- I created two MySQL database triggers to add forum notifications, similar to work for another client in May. This was more involved since 17 forum notifications were needed for each user in the group. I also wrote SQL to make the phpbb_forum_watch table contain rows for all existing users in the newly registered users and registered users groups, so the new triggers would work for people in these groups. I analyzed an issue with notification emails being checked by default. It looks like the two critical ones (new topics in subscribed forums, and replies to topics in subscribed topics) are set by default. I suggested not to turn additional email notifications on by default but it can be done with a trigger if necessary.
- Fixed a digests issue on version 3.2.7 of my digests extension for a client. Digests were not going out reliably with their cron. A manual test worked fine. To fix cron job I removed /forum from the path since the forum is in a subdomain and added /usr/bin to the curl path.
- Issue of FatalErrorException in container_builder.php line 146, which brought the forum down. /cache/development folder had 755 permissions. Removed it, changed config.php so phpBB development mode was disabled, cleared the cache manually, and the forum came back up.
- I upgraded a forum from phpBB 3.0.5 to 3.2.2. The old style was not available, so a new style choice had to be made. The default prosilver style was used. There were some minor issues during upgrade that I had to puzzle through. I added the old logo. I recreated the MySQL full text search index. I added reCaptcha V2 spambot countermeasure and enabled it. I removed some dead modules including old AutoMOD modules. I added a home link.
- Troubleshooting. There were issues with users not getting email notifications when registering or for forum/topic replies. First I advised setting email package size to 0. That did not seem to work, so I was asked to test it. I created an account and verified that both the registration email was received and forum notifications were received. It is now working correctly. Some permissions looked odd: newly registered could only reply to topics and registered users could not post in most forums.
- Installed the mChat extension on a new forum with the Flat Style Blue style. Used cPanel to upload the extension. Later, I made text changes to mChat (changing its title to “Live Chat” among other changes) and removed credit lin,e substituting one provided by user. Some days later, I installed the forum icons extension and an archive of forum icons mentioned in the topic for the extension. The next day, the client requested some tutoring so I created a tutorial video using SnagIt. I demonstrated adding an extension, using cPanel, Filezilla, Dreamweaver, File Manager, making a sized and transparent logo and swapping the default logo, changing phpBB’s default text.
- A site got hit by malware and was recovered. After recovery, I was asked to check the extensions and base code for malware. I upgraded my digests extension and the Cleantalk extension to the latest versions. I compared files with a 3.2.2 reference and found no malware. Later in the month, I removed unneeded phpBB software files, probably from previous versions, that remained in the forum folder. I also enabled the contact form check in Cleantalk because contact form spam was happening. Even later in the month, more spam was reported. Cleantalk extension was somehow disabled. I reenabled it. I removed spam users via Cleantalk once it was reenabled.
- Troubleshooting. There were regular HTTP 500 errors accessing certain folders in the ACP. When I finally found the web server error log, the log indicated that the /cache/production/twig folder could not be written to. 755 permissions existed. I changed the permissions to 777 and deleted the files inside it that had 755 permissions and the issue was resolved.
- Troubleshooting. The forum could not send mass emails. Since he has Siteground hosting, passed on what I learned when I set up my hosting: create an account on the domain and configure phpBB to use SMTP. It took a little back and forth with Siteground technical support but this approach eventually proved fruitful.
- This job was a referral from a recent client. I was asked to straighten out an inconsistent .htaccess file for the site. Issue were http to https redirects weren’t happening, index.html page needed to be hidden if called directly and certain hotlinking needed to work right.
- The Cleantalk extension was disabled, so spam started to appear, same issue as another client had this month. I updated the Cleantalk extension to the latest version and reenabled it. I found about 20 spam users that I deleted.
- I installed the Detailed Online View extension, a development quality extension, after warning client it was a bad idea to use any extension that was not approved. It is accessed through the Who’s online link.
June was a very slow month. This wasn’t bad as March was so crazy and I was teaching a class too. Summers are often slow around here as people have other things to do with their time.
I used the month to get out version 3.2.7 of my digests extension instead. I actually did quite a bit of analysis for clients, trying to work through the requirements of a job. A lot of my work these days involves very complex upgrades where many things have to factored and considered by the client before moving forward. I expect some of these will get authorized and worked on in July. Anyhow, it was nice to have a break. Overall though I’d prefer work to be more regular rather than either light or super heavy.
- I upgraded the Cleantalk extension for a client to latest version (5.6.5) per client’s request. I also changed the spambot countermeasure from simple image to reCaptcha V2.
- I upgraded a forum from phpBB 3.0.12 to 3.2.2. There were lots of issues associated with the client’s hosting. FTP did not work reliably (regular timeouts) meaning lots of files had to get requeued and resent. Upgrade was to place forum in a new /forum folder instead of root folder. There were issues upgrading on web server, so I converted database on my machine. I had to empty the migrations table to get it to work. One error discovered later by the upgrade: missing row in the phpbb_acl_options table meant that I could not install extensions. Once I added it, the manage extensions link appears in the Administration Control Panel. I installed the Absolution V3 style. Installed Thanks for the Post (RC) extension and Banner Scroll (RC) extensions. I had to move some files for the banner scroll extension into /forum/images folder. Lots of work tweaking the style. I abandoned provided site logo and reverted to earlier one as it worked better with the style. I tweaked the logo so it is kind of centered, hard to do with CSS blocks. Added G+, Facebook, YouTube and Twitter icons to navigation bar. Installed reCaptcha V2 as spambot countermeasure. Later: finally got SSH access and that allowed me to move files and images folder. I removed all other content in public_html directory.
- Configured Cleantalk for a client with two similar websites. I used Cleantalk to remove spam accounts from both of their domains. Additional work troubleshooting an issue with moderation, not quite understood yet, want to know if it recurs. I removed items in moderation queue by approving each then deleting manually from the topic. There were still issues with Cleantalk extension being unable to communicate with Cleantalk server. Both allow_url_fopen and CURL are enabled in PHP. Probably an outgoing firewall issue. I asked client to talk to web host about the issue and provided a list of servers that should be allowed to communicate with. Later, I was asked to resolve signature issues on one domain for a particular issue. The role was not assigned for many forums for the person’s group and in the case of some forums the Registered Users group permission for signatures was set to NEVER meaning the special group’s permissions were being overwritten. Later, I disabled search on another of the client’s domains because he had integrated a Google Custom Search field.
- I migrated a forum and also upgraded it. BitNami was installed (phpBB 3.2.2) on new host so rather than simply migrating to new host I converted the database on my machine instead. SSH was my only tool, so I used it to change and import the database from the command line and make file changes manually using vi. I installed seven additional language packs. I removed dead modules. I installed reCaptcha V2 spambot countermeasure. I placed the old logo on the default prosilver style. About a dozen files would not copy over, and caused Filezilla to crash. This client was kind enough to leave a comment on my home page expressing satisfaction with my work.
- I upgraded a forum from phpBB 3.1.3 to 3.2.2 on a Windows server running IIS. I provided guidance on a Joomla issue which led the client to take care of that issue first with a Joomla expert. The upgrade went fine and I reapplied logo on the prosilver style. However mysterious issue with posting (no refresh screen after posting) remained. I eventually determined it was due to incorrect integration of email by the forum. When posts are made, post notifications are sent. This was causing the error. I suggested raising issue with web host or moving to Linux hosting. Did not install Social Media login extension, although we discussed this.