The number of clients I served in April dropped compared to earlier month. Last year April and May were slow too. However, I had one well paying commercial job that more than paid the bills, and should continue to do so for many months to come. It’s nice to have steady work in tough economic times. It will take a few more months to see if the economic crisis is affecting the overall customer requests I get.
This month I also discovered some new information on doing crons properly in phpBB not covered in the Wiki, but I can’t seem to change the information in the Wiki because logging in no longer works. This can affect my digests extension which can use a cron to send out digests. I’ve also started work on a spam remover extension, that will remove spam posts and private messages using the Akismet web service. Hopefully I’ll have something to show this month.
Work on my book continues at a slower pace. I’ve done two more read throughs of it, finding errors and corrections and am now on what I hope is the final read through. I’ve changed the book size to 7.5 inch by 9.25 inches, the standard size used for Dummies books. As there are lots of screenshots, it was important that they be legible. We’ll see how it goes. Hopefully I can release it this month. I still need a cover illustration.
- I upgraded a board from phpBB 3.0.14 to 3.3.0. As part of this, I also upgraded PHP to 7.2.29. The board has 408,000 posts. Added extensions: Google Analytics, Precise Similar Topics and Topic Preview. There were issues installing extensions. For two extensions, I had to create a module category suggested by the error message first. These were installed as mods on phpBB 3.0, so that was likely the cause. The Google Analytics extension wouldn’t install using my Vivaldi browser, but would using Firefox. Go figure. I disabled the contact page, set up reCAPTCHA V2 Invisible spambot countermeasure, and created a home link. I had to make myself a founder using the database. Installed the Anime style and its extension. I investigated upgrading MariaDB to a newer version, but it requires command line instructions. A few days later I fixed an issue that brought down board by removing trailing comma from allowed_schemes_links configuration variable using MySQL and manually purging the cache. I turned this is a phpBB problem report, documented here, which looks like it will get fixed in phpBB 3.3.1.
- Earlier, I attempted an upgrade to phpBB 3.3.0 that I had to roll back because the host (Network Solutions) didn’t have a PHP version you could select greater than 7.0! Unbelievable! Upgraded and reenabled the ShareOn extension and installed Thanks for the Posts extension.
- I added new audio control to a board that features a streaming music player, since the old service seemed to go defunct. Some testing with the provided audio players, which were too big on the board’s header, resulted in a simple link to the music service instead, that opened in a new window.
- Placed a new ad at top of page using Advertisement management extension. This included uploading a new ad image. I disabled the old ad.
- I attempted to add Facebook tracking code to a custom style. I copied overall_header.html template from the AllanStyle-SUBSILVER template folder and made changes in the custom style. I tried purging the cache multiple times but the code never appeared. I even rebooted the web server. Eventually, I figured out the underlying reason was that the block of code I added was placed inside a S_ALLOW_CDN statement, before the <!– ENDIF –> statement, and since the template switch wasn’t getting executed the Facebook tracking code wasn’t getting added.
- For my commercial client so generous to pay me my commercial rate, I spent much of the month working on this project. In March, I made an unsuccessful attempt to upgrade a test version of the database. The client made a new version of the old phpBB 3.0.11 database that was better sanitized, tried again and eventually succeeded. To convert the database, I need a PHP 5 environment, so it was hard to do on their server so I had to do it on my machine in a virtual machine, and that added time and hassle. I then began to try to retrofit the styling to make it look as close as possible to the existing styling. This meant hiding certain features and disabling others. The old styles used the Bootstrap framework and SCSS. The idea is get away from Bootstrap since styles are now responsive in phpBB, but it’s easier said than done, but otherwise keep the SCSS. Went through two iterations for client feedback, and there will likely be a couple more. In some cases I am using extensions to replace functionality, like the Board Announcements extension to see general text on the index. This is pretty challenging work and should keep me well employed probably through the end of the year. Likely in May I will be doing mostly styling work. I am using a custom style, inheriting from prosilver, to minimize the impact of future updates to phpBB. When the styling is done, there will be extensions to write to incorporate lots of additional functionality.
This month was pretty busy with work, but also distractions. One primary distraction was trying to figure out why some people were not getting digests from my digests extension. A user was kind enough to give me access to a test board where I could troubleshoot the process. Over many days I discovered the issue was due to changing PHP “continue” statements to “continue 2” statements in the last release. I removed this code because it doesn’t seem to be necessary. Its purpose was to prevent duplicate digest from going out, which users had reported. But with a phpBB or system cron, it shouldn’t matter. The cron logic itself should not allow this to occur for these types of crons. Removing it seemed to fix the problem. I hope to get out a new release of digests in the next few days.
I’ve also been working on a book with the title Mastering phpBB Administration. It finished the editing process late this month. Now it needs cover art, possibly some reformatting for the printed page, then publication and marketing. I expect it will be mostly downloaded as an eBook. I’m hoping I can do this in April. I’ve invested several thousand dollars so far and I’d like to start seeing a return on investment. It’s my first attempt to write a book, and I can appreciate all the work it takes to do it right now.
- I upgraded a board from phpBB 3.1.9 to 3.3.0. Since I last worked on it in 2016, it was moved to a subdomain. I had to upgrade the version of PHP since at least version 7.1.3 was needed and version 5.6 was present. I updated the German traditional and German casual language packs. To address an umlaut issue, I changed the collation for phpbb_posts.post_text column to utf8_bin and created sample topic to verify it fixed the issue in new posts. I then fixed issues with umlauts in many tables using the MySQL replace function.
- I placed an ad to appear at the top of pages using the already installed advertisement management extension. It took some trial and error to get the CSS right so that it centered properly. Later, I fixed an issue with various WordPress blogs on the site. The /wp-content/uploads folder permissions were 755, changed to 777. There is still an issue related to updating these blogs that I am still working on. Certain permissions are missing.
- I upgraded two boards for the same client to phpBB 3.3.0 from 3.2.1. On first board, I updated the prosilver_se style and two German language packs, then made a custom style to ease future maintenance by encapsulating the unique changes in the custom style. I also disabled the contact form and installed a set of Invisible reCAPTCHA keys. On the second board, I updated the Latte style, reapplied minor changes to .sccs files in one template then recompiled the style. I also updated my digests extension from 3.2.6-RC13 to 3.3.0.
- I upgraded a board from phpBB 3.0.14 to 3.3.0. To do it, I had to remove a number of dead extensions and modules from the database. I moved over digests subscribers from the digests mod. I tested a new cron job used to kick off digests, but the manual mailer did not seem to work properly. I installed the ACP Add User extension. I disabled the contact page. I created a reCaptcha V2 Invisible spambot countermeasure. There were AJAX issues installing extensions related to a CORS error. After doing it enough time, the extensions seemed to install correctly. Later, the client had a script that used data in the user_interests column which was not copied over. I populated it from my backup, but the script should reference the phpbb_profile_fields_data table instead, where the data now resides. Client was concerned about & that appeared as text in digests. I removed a line of code from my digests extension that added this entity as it no longer triggers a validation error.
- I upgraded a board from phpBB 3.2.8 to 3.3.0. I had to disable modSecurity in the .htaccess file to get into board after upgrade. Updated the advertisement management, Cleantalk, Board 3 portal and Tapatalk extensions. Tapatalk would not work on 3.3 without upgrading to Beta version 2.1.7. Changed the board’s .htaccess to redirect to portal by default. I reapplied the logo. i changed the spambot countermeasure to reCaptcha V2 Invisible.
- Client had issues with a custom style created by another developer when his board was upgraded to phpBB 3.3.0. The simple solution is to copy prosilver’s templates to the custom style and purge the cache. Instead, I made a proper custom style that inherited from prosilver. Only the CSS changes needed to be applied to prosilver are now in the custom style, making it easier to upgrade the board in the future.
- I upgraded a board from phpBB 3.2.7 to 3.3.0. Client had issues doing it himself using the automatic upgrade method, which should not be used for phpBB upgrades, but only updates.I had to change PHP to version 7.1. A redirection issue on main .htaccess file for site meant I had to rename it temporarily to do the install. Changed reCAPTCHA spambot countermeasure to use the invisible CAPTCHA. Had to update Cleantalk extension to 5.7.2 to get it to install.
- I do ad hoc work for an existing client as user issues come up. In March:
- I changed an email for a user to her gmail address. Later, I heard there was another problem with her access, but when contacted she said she was getting email notifications.
- I informed another user of her username and provided lost password instructions.
- I forced reactivation for another user who could not login. It didn’t seem to work, so worked over the phone to get him online.
- Changed email address for another user.
- Provided instructions for a user to get a new password.
- Advised the board’s administrators on a DNS issue sent by their hosting provider.
- Provided lost password assistance to another user.
- Changed the email address for a user and provided resetting login procedures.
- A user wasn’t getting email notifications. Asked her to look in her spam folder and see if they are there. Eventually figured out her email address was incorrect for receiving notifications and changed it.
- I created a new password for a user so he could login.
- This month in a long term project I am doing for a client, I was trying to do a test upgrade of their phpBB 3.0.5 database to phpBB 3.3. My first job is to update the style to match their current style. Both attempts failed:
- In the first attempt, I realized that I needed PHP 5.6 to install the support toolkit to remove bad data from the database. I tried to install it myself on their machine but not being a system administrator, it didn’t seem to work.
- I next downloaded their database and tried to convert it on my laptop on which I had installed PHP 5.6. The database eventually imported (four hours later) but the laptop is underpowered. phpBB’s support toolkit flaked out when I attempted to use it. An attempt to run the upgrade program didn’t work very well. The client made lots of changes to the database that had to be cleaned up, but it would still not upgrade properly. PHP 5.6 was not the best choice. I really needed PHP 5.2, since trying to upgrade I had to work around issues making phpBB 3.0 work with PHP 5.6. It’s getting harder to set up test environments that use older versions of PHP.
- I then imported the database into a virtual machine on my Mac, and a reference version of phpBB 3.0.5 as well so I could use its database to compare with the client’s. I realized I needed to understand all the changes made to the database, because I may need to leave data in the database because it might be needed when moved to phpBB 3.3. I have a call with the client today to look over these changes and factor them into my next test upgrade attempt.
This was a fairly ordinary month, but I have started two long-term projects, details of which are below. Both should keep the business comfortably afloat for much of the year.
Work on my book Mastering phpBB Administration continues. It is still with an editor but should complete editing within a few weeks. It still needs cover art, reformatting, and setting up a publish on demand mechanism. I’ll probably offer it as both an eBook and a printed book. Existing clients will be entitled to a discount. Figuring out the pricing will be challenging. At over 300 pages, it’s a lot of information. Publish on demand allows both color and black and white copies to be requested, but color copies are much more expensive to produce, so I may offer both at different price points. Price will probably not be less than $19.95 a copy. Stay tuned for more details.
- Began an exploration on whether a Delphi forum could be converted to phpBB. The client provided a set of .yaml files with the board’s posts, which also includes some images that were in the posts. My basic approach is to see if I can get the data into a format that can be converted into the old phpBB 2 database format successfully. Is so, then it could be converted to phpBB 3.3, the ultimate goal. The first step was to try to find a good YAML parser. I tried a number of approaches but eventually I used Symfony’s yaml parser in my script and that seemed to work reliably. The .yaml files were not perfect YAML, so I had to do a bit of editing to get files to parse correctly. I parsed the first 500 posts and placed the result in a HTML table with a script, then did the same thing with a .yaml file with the user information. These were sent to the client. The client will discuss with his group whether he wants to fund further research, but it looks likely because it looks like there is enough data in these files to populate a phpBB 2 database. He will get back to me in a couple of weeks.
- A client was running out of quota and asked me to figure out how to solve the issue. 4.9GB out of 5GB was in use. Problem was WordPress backups in a backup folder. Suggested removing old backups. Once identified, client took care of issue.
- After large upgrade to phpBB by a client, the modules for my digests extension got lost. On Skype, I walked him through the process of creating both the ACP and UCP digest modules manually.
- Upgraded and rehosted board from phpBB 3.0.5 to phpBB 3.3.0. The new hosting is on Siteground. The old hosting was on a Windows server. Fortunately, MySQL was used on the Windows hosting, so there was no database to be converted. There were some technical issues on both hosts with downloading databases and making archives. Siteground’s new site tools turned out to be confusing as cPanel was not an option. I could not grant permissions to the database user I created to database I created. It took two tech support calls but eventually it all worked. I created a custom style to show logo, otherwise default prosilver style was used. I disabled the contact page and created reCaptcha V2 Invisible spambot countermeasure.
- I provide ongoing support for a client’s business board. I investigated an emailing issue where emails were getting flagged as likely spam when sent to wvu.edu. The client’s domain is not on an email blacklist. This was something on wvu.edu’s end and the easiest way to deal with the problem was to have change the board user’s email address. I provided instructions on how to change email address used by the board. At the end of the month I updated two packages in Plesk and updated Plesk to version 18.0.24. Also, changed one user’s email address. She was not getting email notifications because the address had changed and she didn’t know how to change it in phpBB.
- I restored a lost board. Originally it looked like a backup of phpBB 3.0.11 was available, but it wouldn’t upgrade since some tables were in a phpBB 2 format and some not. The client found an older phpBB 2 database backup and I was able to convert that offline to phpBB 3.3. In the first conversion, the attachments were missing so I had to do it over again. I also changed the board to use to https. A few minor errors were encountered. I had to add an auto increment to the phpbb_logs table’s primary key. I set up reCAPTCHA and disabled contact page.
- Updated forum from phpBB 3.2.2 to 3.3.0. I had to comment out Options -MultiViews in .htaccess file to avoid HTTP error. Also had to remove install_config.php file in the store folder to get the upgrade to start. Otherwise there were no issues. User had warnings that were due to PHP 7.3 being enabled on his host, which is not supported by phpBB 3.2.
- Began work for a new long-term client who has a large job to upgrade his phpBB 3.0.11 board to phpBB 3.3. This will take many months as there are many customizations embedded in the source code itself that need to be turned into extensions. This month I mostly looked through their changes to phpBB 3.0.11 and advised on the best approach. The first step will be to try to change the style to work with phpBB 3.3. The style uses SCCS and needs to link in a lot of CSS and HTML used for the master website. I may develop some of the extensions myself of work with other extension authors to have some develop them. Some look very complex, such as a proprietary OAuth integration. But it’s commercial work and pays very well, so it should be both challenging and financially rewarding. More on this in coming months.
I did plenty of work in January, just not so much for clients. That business was slow, but picked up toward the end of the month, so much so that at the moment it looks like my plate in February should be full.
Why was I busy? I was writing and editing a book on phpBB administration. The introduction of phpBB 3.3 Proteus on January 6th added work, as I needed to update the book to talk about phpBB 3.3. As I noted, its feature set makes it more of a micro release than a minor release, so that part was good. But by changing the phpBB logo and a few other things, I had to recapture fifty or more screenshots, which was tedious and time consuming. Then of course the text had to be revised in places which also meant reading it through twice more. Right now it stands at 305 pages on 8.5 x 11 inch paper.
I reached a milestone of sorts when I turned it over for editing on Thursday. I should mention that I am using Maria Williams, so if you need an editor, hit her up! It will take her a couple of weeks for her to do her magic, then I have to figure out how to publish and market the book. I need cover art. Publishing will likely be on demand, and I expect most people will want electronic copies. I also need to figure out how to price it. It’s a sizable capital investment of time and money, so it needs to be profitable. I expect to offer some sort of discount for the first ninety days and for my existing clients. The last book published on the topic was written in 2006, so it described phpBB 2, so the market is out there. Also, that was a user guide, not an administrator’s guide.
- Added two users and forced a reactivation of two other users for a commercial client, who outsources this work to me.
- Updated a board from phpBB 3.2.7 to 3.2.9. Also, I created a new forum with a forum logo on the board. I resized and placed a forum image logo with the forum, and put it in the requested place on the index. I gave the forum permissions similar to another forum. I investigated issues in the error log. Most of these errors seems to be due to debug being turned on.
- More analysis for a client I did work for in December. I generated a list of users and email addresses on his archived forum that had contributed at least 1 post but whose usernames were not on the current forum. He will use the list to invite them to come to the new board. I installed a release candidate extension to creating lots of user accounts in bulk, but it didn’t work as advertised. I did some styling changes. I upped base font 1 pixel to 12pixels. Client wanted to know if my digests extension can show text only. Yes, and I sent him a sample. He wants digests generated by my extension to look similar to someone else’s digest. I deleted a user defined moderator group. I provided guidance on using the ACP Add User extension so lots of old users could be added. He would like to delegate the work to someone else, so discussed how this could be done with ACP permissions so their access was tightly limited in the ACP.
- Client’s board wouldn’t come up on Bluehost hosting. After some analysis, I determined he had a phpBB 2.0.19 board and that only PHP 7 was available. He did have attachments. I converted the board to phpBB 3.3.0. Issues logging on were solved by removing the domain’s cookies, clearing browser cache and resetting the password, which was set back. I moved the old board into forum_old folder. I created the search index, disabled contact page, added Invisible reCAPTCHA. The resulting board is very basic. It may need some customization, styles and extensions installed. Later there was additional work. The client needed some gallery software. The phpBB Gallery extension is not being maintained and is not reliable, so looked for a solution outside of phpBB. I tried one solution, then tried another. Piwigo seemed to work after I installed a Community plugin/extension. This allowed users to upload their own pictures.
- I updated a board from phpBB 3.2.0 to 3.2.9 on generic prosilver style. I updated my digests extension to version 3.2.17 and the Cleantalk extension to version 5.7.2.
- I upgrade board from phpBB 3.2.7 to 3.3.0. I updated the prosilver SE style to 3.2.9 and put the old logo back. I changed the spambot countermeasure to reCaptcha V2 invisible, since spam registrations were a complaint.
- Client wanted active topics in red on the navigation bar. First tried installing the Advanced Active Topics extension (release candidate) but couldn’t get it to show. I then installed the Recent Topics extension as a trial, but client didn’t like it, so I created a special link on the navigation bar, highlighted in red, moving it from the Quick Links menu.
- I upgraded a board from phpBB 3.2.8 to 3.3.0. I replaced the logo.I checked all the extensions and they seemed to work on phpBB 3.3 with no issues, but there was no test case for change post time extension to verify it worked properly.
- More work for a client on spam. Used Prune Users feature to remove users and their posts who registered after Feb 10, 2018 when spam seemed to start in earnest. Reenabled board and suggested ways to mitigate the problem in the future with moderation, digests, etc. This is discussed in more detail in this blog post.
- This work is still ongoing. On Hostgator hosting, I created space for five domains and set up DNS for these domains. I set up five boards on five subdomains of these domains. All have a basic configuration, registration disabled, reCaptcha enabled, prosilver_se style applied, contact form disabled, and forwarder set up to redirect to client’s email address. Set up https redirection by installed WordPress SSL plugin on the main blog. Next, I cloned four WordPress instances based on work on one domain, whose theme and plugins client wanted to replicate. I did this by copying the files and database, changing the wp-config.php file to point to the new database, and tweaking the site information in the wp_options table. This saved a lot of time and work for the client.
New year, but this also gives me an opportunity to review work I did for client in January and look at how I did overall in 2019.
Revenue-wise, it looks like 2019 was about as profitable as 2018. With a few quiet months, it didn’t look like it would be that way. How well I did depends on how you count the income. If you count it based on the date when people paid me, revenue was up 12% over 2018. If it’s based on when I did the work and how much of it was collected, then it’s down 1%. There are several hundred dollars owed me at the moment and one client that won’t seem to pay me the $45 owed. I guess I’ll have to write that off. Thankfully, it’s the first time in years that I’ve been stiffed. Sometimes I have to nudge clients gently, but they usually pay me. Most pay within hours of completing the work.
In any event, since I count taxable income based on the date of receipt, I guess it was a better year than 2018. In 2020, I expect to publish a book for forum administrators. Hopefully there will be an additional revenue stream from that, but it will come with expenses, principally paying an editor to clean up my grammar and typos. That’s going well and I’m about ready to turn it over for editing. I’m using LibreOffice and noticed a big quirk saving it as a .docx then moving it back, which messed up page styles. So I have to redo all that in a clean version of the book, which is a lot of reformatting.
Work-wise, December felt pretty average:
- I updated a board from phpBB 3.2.5 to phpBB 3.2.8. I also updated the IDFresh Launch style from version 2.0.1 to 2.0.7 and updated the Google Analytics extension from version 1.0.3 to 1.0.4. But the extension would not install and directed me to login. So I installed it manually via the database and uploading files, although migration is missing. I tweaked stylesheet.css to make the logo 77 pixels wide. Client asked about some special reports, doesn’t look like phpBB contains the data needed to give it to him. Eventually I convinced him that he could use Google Analytics to get the report he wanted.
- Conversion and rehosting. Converted phpBB 2.0.21 forum to phpBB 3.2.8 by downloading files, converting on my machine, and uploading to new host. Client moved board to a new domain name too. 136,000 posts. I changed the internal links in posts to point to the new domain using the database. I added the External Links in New Windows extension so they would have nofollow attributes. Made the AllanStyle SUBSILVER style the parent style and created a custom style, overriding logo change and moved the poster profile to the left side of the view topic page. Removed 1111 inactive users, likely all spammers, with no posts. Added AWS S3 extensions to allow attachments to be stored on AWS. Installed Google Analytics extension. Recreated search index using the MySQL fullindex, since it was faster. I created a reCaptcha V2 checkbox spambot countermeasure. I changed time for being online to 4 hours. I enabled quick reply in all forums. Need certificate to do https. www prefix not available. Set up redirect rule for old domain to redirect traffic to new domain.
- Later did more work for the last client. Forced www to use non-www URL. Forced http traffic to use https. There was more work fixing links in the posts for some edge case URLs. Made user registrations go through an email verification process. Removed image links in signature lines for 12 users. Created a robust robots.txt file. Disabled contact form to reduce spam. Enabled active topics feature for all forums. Removed the website custom profile field. Set email settings to use SMTP which required a lot of testing. Changed some administrator permissions to remove founder status and reduce the administrator’s roles for these users. Increased moderator permissions to give moderators full moderator role privileges. Then there were more styling changes. Removed who’s online from the index. Moved Quicklinks and FAQ to a different place on the navigation bar. Removed the style’s credit line. Changed default font size from 10px to 11px so style does not lay out with such a dense look. Changed the forumlist_body.html template to remove moderators for forums on index. Fixed breadcrumb issue with the style. Replaced the logo with one a bit larger. Later, there was more work. I installed the sitemap.xml extension. I changed digests so users would get weekly digests instead of monthly. Changed forum permissions for a whole lot of groups making a number of assumptions.
- Helped a client think through the issue of bringing in the content in a closing Yahoo group into phpBB. After much discussion, client decided not to import them into a forum/post/topic structure, but to make them available outside of phpBB and link to them with a sticky topic. So my role was to figure out what the client really wanted and provide advice.
- GoDaddy brought down a forum’s connection for database, which we eventually learned was due to exceeding 1GB of database quota. To solve that problem, I used phpMyAdmin to truncate the search tables, which brought it under 1GB, then turned off the board’s search interface. I then had to attach the database user to the database. GoDaddy had disconnected it. I deleted spam chat tweets in mChat. I removed a few hundred inactive users with no posts. There is a problem with spam posts, probably because his Cleantalk subscription failed silently and it did not get renewed. Those need to be removed, so I waited on him to pay Cleantalk to renew subscription. Updated the board from phpBB 3.2.2 to 3.2.8 and created a custom style based on prosilver that I enabled. Four extensions could be upgraded. Later, there was one more hour troubleshooting. I renewed the Cleantalk subscription for the client and added it to his bill. I backed up his posts table then used Cleantalk to remove spam. But there was still plenty of old spam left over. The issue seems to be that this Cleantalk feature does not check the post content itself for spam, but the IP of the poster when the post was made against its database and flags those. So if the IP address is no longer flagged as a spam IP address in their database, it gives it a pass. I did an analysis of posts per day and sent to client to help determine when spam started in earnest. Board looks largely infested with spam. If it could be rolled back to a time before spam, the content may be relevant again. I changed reCaptcha keys. Board is currently disabled. No automated way to clean up spam appears to exist. However, I did some investigation and it looks like an Akismet API could be used if I wrote a program to send the API the post text, IP of poster and post type. Waiting to see if the client will pay for this.
- Assisted in rehosting a board and a site. Provided advice on new hosts. The files on old host were a mess, a lot of it (like the Joomla front end) weren’t to be used on the new hosting. The client had already transferred the domain so things weren’t hooked up. Moved forum files and database to new host. Also moved files only in public_html folder because a lot were references to these files in the forum. I reconfigured an ad on front page to fix its links. I made everything use https.I redirected the domain to forum folder. I set up reCaptcha V2 spambot countermeasure, and disabled contact form. I updated the American English language pack but there are missing strings. Then there was a lot of hassle getting the email settings working right. I had to set up an account for SMTP and puzzle through the settings. My digests extension was returning errors, so I upgraded it from version 3.2.3 to 3.2.16.
- There were error messages on forum index. The issue was that PHP 7.3 was being used. In cPanel, changed PHP to 7.2 for the domain. They came back, so I reset PHP version back to 7.2. Later error occurred while PHP 7.2 was installed. Commented out an echo statement in /includes/functions.php made the error go away. The overlying issue may be he needs to upgrade phpBB. Moving PHP back to 5.6 seemed to make all these issues go away.
- Updated nine packages in Plesk.
This was a pretty busy month overall. I did not have time to work on my extensions, although two extensions went through a formal review (Digests and Selective mass emails) but were, alas, rejected for more code changes. I am working on the book on phpBB administration and nearly done with a first draft. I hope to get it professionally edited but it needs a lot of work.
- Updated board from phpBB 3.2.5 to phpBB 3.2.8. I also updated the Cleantalk extension from version 4.6.9 to 4.7.1. I reapplied the logo. The forum uses the default prosilver style.
- A client getting hammered by bots in China and probably Hong Kong too. He was experiencing lots of HTTP 508 (loop detected) errors. I installed by Filter by Country extension (beta) 1.0.8 to see if that helps, blocking IPs from both China and Hong Kong. Analyzed Awstats statistics for October that indicated a lot of Hong Kong access. Client also blocked the Hong Kong range of IPs in cPanel. I changed the spambot countermeasure to reCaptcha. I disabled the contact form. More work may be needed later depending on how well this works.
- Troubleshooting. A client had an issue with “Secure connection failed” error messages. I advised to change server settings, change protocol to https and port to 443. Later, I gave advice to use the domain name instead of an IP in the server settings. This was peculiar in part because the client wouldn’t give me access to his forum, so I couldn’t directly see the problem. Also, for payment he mailed me cash!
- Client was having an open_basedir error with his Joomla content management system. Although not my area of expertise, I worked on it. The /logs and /tmp paths in Joomla’s configuration.php were incorrect and had to be pointed inside the Joomla folder. I figured out the absolute path and made these changes. The issue, or at least the reported error, seems to have gone away.
- I updated a board from phpBB 3.2.7 to phpBB 3.2.8. I updated the board’s prosilver_se style to latest version, as well as Danish and German casual honorifics language packs.
- The previous board owner has been non-responsive. He may be dead, and board issues were piling up. Traded some emails with an alternate administrator with no founder privileges on what I could do for her. I moved some users between groups. I also made her a founder. I answered questions on how to change group color, and ranks vs. groups.
- Client failed trying to upgrade a board from phpBB 3.0.8 to phpBB 3.2.7. All files in the board’s root folder were missing including config.php, but the folders were there except for files, images and store folders, which I uploaded. I uploaded missing files too and created a config.php file, after finding the database and creating a database user. I then could update the board. Attached images in posts may be missing, along with avatars, ranks, etc. I changed folder permissions as necessary. Later, ran the update to phpBB 3.2.8. There were no issues after I corrected the username to use. I disabled the contact form. I did not change their spambot countermeasure.
- I updated a board from phpBB 3.0.14 to phpBB 3.2.8. There were no mods on the old board, but AutoMOD was installed that I cleaned up manually. About 180,000 posts. No issues during upgrade but entering the ACP caused a VigLink error that I fixed by removing a row from the phpbb_config table. I installed the proprietary Milk style, which also meant installing its extension first. I gave the style a default color so I could see it, otherwise it was washed out. I disabled the contact form and added reCaptcha V2 checkbox spambot countermeasure. I changed the board’s config.php file to use mysqli. I recommended upgrading PHP to 7.2.
- I converted a forum from phpBB 2.0.22 to 3.2.8. About 120,000 posts. I kept the default prosilver style for now. I installed the German Casual Honorifics language pack. I installed the GDPR Extension (Release candidate) and Advertisement Management extension. I disabled contact form and recreated the search index. I set up reCaptcha V2 spambot countermeasure. Client watched the whole process online with Skype. I suspect he will do the fine tuning.
I kept busy in October, more so in the first half of the month than the last half. But that’s the paid work.
I’m still working on a book, the working title is “Mastering phpBB Administration”. Even if you cut the topics down, it’s a lot of material.
I updated all my extensions in October, with the last being an update to the digests extension. Two are in development: Filter by country and Selective Mass Emails. The latter got a review by the phpBB extension review team and is now back in the queue, along with Smartfeed. Filter by country is having issues and is back to Beta status. I haven’t yet submitted the latest version of Digests for review. It may wait until the next version.
As for paid work, here’s a summary of it. It was a reasonably profitable month.
- I updated phpBB from version 3.2.5 to 3.2.8. Also updated the board’s ne_greenblack style to version 3.2.8. Created a custom style and moved all changes there. Updated PHP from 7.1 to 7.2. Changed site’s .htaccess file to force https and the www prefix. Added two new extensions: Cleantalk and Hide Newest User & Stats Permissions. Set phpBB to use https including using a secure cookie. Later, I added template logic to viewforum_body.html and viewtopic_body.html to show custom ads on particular forums. A HTTP 401 error occurred when trying to install the Google Search extension on this forum too. I tried lots of things, but there was no clue in the error log. I suggested that his web host should resolve it. He didn’t want me to spend any more time on it. Later, there was some additional labor figuring out why Cleantalk wasn’t working: service wasn’t paid for was the most likely cause. Also, made main web links use SSL and set up .htaccess for forum to redirect http to https. Changed board settings and cookie too.
- I updated a forum from phpBB 3.2.0 to 3.2.8. Updated the Board Announcements, Lightbox and Cleantalk extensions. I created a custom style to insulate his style changes.
- A client of about ten years standing has decided to let me handle their new user requests, outsourcing it you might say. It’s pretty simple ad-hoc work when I get it, but they are happy to pay my commercial rate for the service. I also updated their forum from phpBB 3.2.7 to 3.2.8, updated two extensions and one style. Added or troubleshooted issues for about ten users over the course of the month.
- I updated a board from phpBB 3.2.7 to 3.2.8. There were no issues. It was a very vanilla installation of phpBB. Client noted a new high for the number of users online. These were likely spammers, but it didn’t seem to be impacting performance.
- Extended the logical volume containing forum, adding 400 gigabytes to the volume.
- Client was running out of quota. I removed excess backups from the forum’s store folder. I suggested getting the web host to add space to the logical volume containing the forum for a more permanent fix.
- I updated a board from phpBB 3.2.7 to 3.2.8. As part of it, I updated the following extensions to the latest versions: ABBC Box, mChat, Media Embed, Precise Similar Topics and Recent Topics.
- I updated a board from phpBB 3.2.5 to 3.2.8. I also updated the Cleantalk extension to latest version and disabled the Advertisement management extension. All this work had to be done with file manager because FTP credentials would not work.
- I created a custom style for a client, which meant taking their changes to an existing style and moving them into a custom style that selectively overrides the primary style, so that updates can be done easier. Changes were applied to phpBB 3.2.1 to a testbed forum. These changes would need to be replicated to a production forum, which the client will handle.
- Client paid me for some additional work and advice regarding hosting issues. I providing a better understanding of Cleantalk integration issues he was experiencing. The Tapatalk required a refresh of current version to work. I helped with making site use https and redirection to folder containing the forum. Client’s server IP was blacklisted in the Cleantalk dashboard. I made it a whitelisted IP and was able to register.
- I updated a board from phpBB 3.2.4 to 3.2.8. I added the following extensions: Simple spoilers, simple mentions, media embed, advanced BBcode box, best answer and Cleantalk. Extensions were slow to install and sometimes required many retries to install them. The media embed installation failed and I had to add two rows to the phpbb_acl_roles table manually to get it to install. I added the Cleantalk key and updated the American English language pack. I got occasional errors getting into Administration Control Panel.
- I updated two forums from phpBB 3.2.5 to 3.2.8. I created a custom style on each forum to encapsulate the style changes from the primary style. I updated three extensions on the first forum and 4 on the second one. There was an issue with ads being served may because the width of the ad exceeds the 980 pixel margin for the forum. I had to change config.php files to use mysqli instead of mysql to update the forum, as it was using PHP 7. I also updated AllanStyle-SUBSILVER to the 3.2.7 version for both forums.
- I updated my digests extension from version 3.2.4 to 3.2.15 for a client, to address a bug that was encountered. I noticed in file manager that files and store folders were missing. I created them manually but the 777 folder permissions would not stick. I suggested a ticket with the web host. Likely some security software is doing this.
- I updated a forum from phpBB 3.2.5 to 3.2.8. No one had an admin username and password, so I had to create my own access. However, I could not get into the database in cPanel. No credentials worked. So I installed phpMyAdmin in a folder of the same name off the domain, and got in that way, made myself a founder and then was able to do the upgrade. I noticed some dead AutoMOD modules that I removed, otherwise it was completely generic forum. This work was a referral from another customer, which is always nice!
Slow month for incoming business, similar to April and May. Not that there weren’t jobs in the hopper, but these are slow moving jobs, of which I get many, mostly waiting on events from external actors. In response I’ve been working on my filter by country extension. I’m also drafting a book on phpBB. Let’s see if I finish it. If finished it will be a guide to the proper administration of phpBB forums, something that doesn’t exist outside of documentation on phpbb.com. The documentation tells you how to fill out screens, but doesn’t do much to present the bigger picture of give you ways to troubleshoot problems. Obviously if I finish it I hope to monetize it. It would be nice if it generated some passive income for when certain months are slow.
Of course October started off with a bang and I have something of a job queue at the moment. No accounting for this business.
- Updated a board from phpBB 3.2.1 to phpBB 3.2.7. I updated the prosilver_se style and reapplied the custom logo. I also updated the digests extension from version 3.2.4 to 3.2.15 and updated the Authorized for URLs extension from version 1.0.3. to 1.0.5. No issues noted. Customer will update PHP from 5.4 to 7.2.
- Two step job. First updated a development board from phpBB 3.2.5 to phpBB 3.2.7. I updated the Pages and Stop Forum Spam extensions. I reapplied the custom style. I removed what looked like a lot of unnecessary files with _ in the file name. Later I updated the production forum repeating all the steps for the development forum. There were no issues. The extensions on the production forum were already up to date.
- A client insisted on prepaying me to stand up a new forum and likely later tutoring. I set up a new board on a new domain, after first creating space for the domain. I installed phpBB 3.2.7 and the prosilver_se style. I set up reCaptcha credentials as a spambot countermeasure. Later in the month, I provided guidance on using and integrating the board as part of a larger website, which will be using WordPress. I moved the forum into a subdomain. Since a new version of phpBB was released, I updated the new board to phpBB 3.2.8 and prosilver_se style to latest edition too. I also added home link to the WordPress master site. More work on this project is likely in October.
- Invalid reCaptcha keys were causing issues for users of a board for a longstanding (ten-year!) client. I generated a new set of keys, entered them in the ACP and that resolved the problem.
- Updated a board from phpBB 3.2.7 to phpBB 3.2.8. Initially I did some troubleshooting. HTTP 500 errors were occurring. This appear to be because of too much traffic and BlueHost simply cut off further use until some time period elapsed. Later, I installed the Cleantalk extension as a spam firewall so only legitimate traffic would get through. But it doesn’t seem to have fixed the issue. I suspect security software on Bluehost is overwriting cache folder permissions is part of the problem, because many folders have 755 permissions when they should have 777 permissions, and many files have 644 permissions when they should have 666 permissions. Changing these permissions with FTP don’t seem to stick. Something is reverting the changes. Cleantalk may not be working because it cannot talk to the Cleantalk server. Enabled the allow_url_fopen PHP setting to see if that addresses the problem. (Cleantalk was not showing any traffic from the forum.) This work is still ongoing. Right now the forum is largely inaccessible generating HTTP 500 errors. The error log suggests the client is over quota and it is rudely not allowing access when some quota level is hit.
- Client tried to update board from phpBB 3.2.4 to phpBB 3.2.8 and it failed due to a resource issue, reportedly. I tried again and had no issues. Didn’t know what logo to apply so I applied the blue phpBB logo that was already there, but had to change the background area size so it didn’t repeat. Client later reapplied the correct logo.
- Client needed to rehost and update a phpBB 3.0.13-PL1 forum to the latest version. Client decided to rehost first and save upgrading phpBB for later. It turned out that the client did most of the work. I acted as an advisor. I determined PHP 5.4 was not available on the new hosting (only PHP 7 was available) but was needed as phpBB 3.0 won’t work with PHP 7. He got GoDaddy to add PHP 5.4 to his new hosting. He ended up moving the files and database. The database was moved twice because new posts had been made. I had to create a new database user and tie it to the new database to bring the rehosted forum up. I changed folder permissions and edited config.php to tell phpBB to use mysqli (being proactive). Upgrade to come?
The first half of the month was slow, the second half medium busy. After the very busy months of June and July, I didn’t mind that things slowed down. Some of the work was a continuation of work not quite completed in July:
- Here was more work for a client mentioned in my July report. This was a large rehosting effort off of Microsoft servers to Linux for a client in Australia
- August 1. I answered various questions, investigated DNS settings for client’s domains, and moved files for a dormant domain from Windows to Linux. I created database user “root” on the Windows MySQL database so his web host could create a successful extract of this database, which I couldn’t do with their control panel. It seemed strange the host couldn’t figure this out or chose not to, and I had to do it just to get the database exported.
- August 2. I discovered one of the client’s domains was blacklisted. I recommended remediation procedures. I moved the database for a Wiki based on Windows technology from Windows to Linux hosting, and placed in a .sql.gz extract of the database in a specified folder so it could be created later when the client chooses to take this up as a project.
- August 3. I created a scheduled task (cron) to run every five minutes to use with the forum to send out board emails. The limiting factor here is that the web host’s policy is to not allow more than 200 emails per hour outgoing per domain, so a scheduled cron in phpBB was needed. To do this I set the email package size to 16 with the cron to be invoked every five minutes. This got it under 200 emails per hour quota for domain. I also changed the queue_interval in database to 300 so phpBB crons would not run more often than every 5 minutes, to avoid going over quota. Created a test.php email program to help with troubleshooting emails.
- August 4. I tested emailing using contact form. The email was received but appeared to be sent outside of normal email queue. I found and looked at queue.php in the /cache/production folder and discovered emails were being, albeit sent slowly and there were several thousand email notifications in the queue that would take a couple of days to clear. I changed the cron (which used curl) to use www in the URL to call to avoid HTTP 301 messages.
- August 5 and 6. Provided additional guidance and answered questions.
- Styling work on new forum. Trying to get a logo to meet with width of the content (used CSS cover attribute) but leaving a proportional amount of vertical whitespace. I couldn’t figure out a way to do it with CSS, so wrote a little jQuery code to do it tied to window resize and page loading events. Glad to figure this out. This required advanced skills I rarely get to use and which I suspect are beyond most web developers.
- Troubleshooting. The forum was not sending emails. I noted messages in phpBB error log saying “Email message was blank”. I tried a number of things, but eventually determined that if the SiteSplat BBCore extension was disabled it wasn’t an issue, so the issue had to be somewhere inside the extension. The latest version of that style and its extension was installed. It’s possible a newer version of the extension will fix the issue. I suggested client talk with SiteSplat’s technical support to see if it’s been addressed and to update style plus extensions if there is a fix. Otherwise they have the ability to reproduce the issue. There is a user interface for the style. The client eventually figured out the if the Minify HTML setting for the style was checked, then allowed emails to go out. This is still a bug with the extension.
- This was a multistep project, still not completely finished. A domain had two phpBB forums, one an old legacy phpBB2 forum, the other a phpBB 3.0.11 forum. Server upgrades were making upgrading both of these to phpBB 3.2 important.
- In the first phase, I converted forum from phpBB 2.0.19 to phpBB 3.2.7. There were 548,000 posts that had to be converted. Placed in new folder for analysis, old forum is still in the original folder so it could be used. I recreated the search index. No issues during the conversion, but it was tedious taking about three hours overall. I disabled the contact form and new registrations, added a home link and installed PRO_UBUNTU LUCID style. This parent style was to be tweaked with additional styling changes to be used on both forums.
- Had a conversation on the phone to discuss styling requirements. I ended up doing 4.5 hours of styling work, including adding a banner, logo, moving site title and description, changing column for profiles in view topic, adding a line with links under the navigation bar, etc. Later, I did more styling work based on refined requirements.
- With the styling changes done, I upgraded the main forum from phpBB 3.0.11 to 3.2.7. I had to empty the phpbb_modules table and repopulate it from a 3.0.14 reference because nonstandard changes had been made to the ACP interface that triggered an error during the upgrade. Once I did that, the upgrade completed. I replicated the styling and extensions on the converted old forum. I changed the not logged in message, which is different on the active forum. I disabled the contact form. I set up and enabled the reCaptcha V2 spambot countermeasure. I moved the old converted phpBB 2 forum to its proper folder and moved the unconverted forum to a new space for the time being. I provided guidance on upgrading PHP to 7.2 and files and databases that can be deleted. There is at least one loose end on this work: a third-party program failed because with the move to phpBB 3.2, the old coding standards fail in the new environment. User may opt not to have me fix this program.
- I did some online tutoring on new forum that needed to be set up properly. I answered lots of questions, mostly related to permissions and moderation, roles and such, and how to configure phpBB correctly. I did ninety minutes of tutoring in total.
- I upgraded a forum from phpBB 3.1.10 to 3.2.7. The forum has 17,000 posts. I updated the following extensions: 24 hour activity stats, Lightbox, LMDI Delete Re:, Profile side switcher and Media Embed. Installed updated Lucid Lime style and reapplied style changes. I updated the German language pack. Noticed that an invalid SSL certificate needed updating. PHP should go from 5.6 to 7.2 when client is ready. I encountered HTTP 500 errors related to extension name changes in the file structure.
- A forum was rehosted but database was not loaded, so basically I was asked to stand it up again. I loaded the database from a database extract provided. The forum is a phpBB 3.0.11 board in a PHP 7.2 environment. I had to step PHP to version 5.6 to get it to come up. I added two statements to config.php so that mb_string support would work, and enabled mysqli so it would work when the forum is upgraded and moved to PHP 7.2. I recommended upgrading of forum to phpBB 3.2.7.
My work in July kept me quite busy and was quite profitable. A number of projects for clients started earlier continued in July, but some concluded. It’s hard to remember all the details and clients, so I will be more succinct than usual.
I’ve been getting a lot of Aussie clients lately. Not sure what’s going on. Maybe my name is being passed around by word of mouth. I live in the United States but likely 75% of my work is foreign. It used to be mostly for clients in Europe. Lately it’s been more in Asia: Australia and the Philippines in particular. The time difference is a challenge but it can be an advantage too. The larger, hairy jobs are usually complex upgrades. I can work in the day while the board is offline in the night halfway around the world.
After a slow April and May, I’m now more than caught up with my revenue goal. If the rest of the year continues the way the first seven months have, I should surpass my 2018 revenue by a bit.
- More work for a client I’ve had for a few years now. Originally I worked on her forum, which is now dormant. Now I mostly help her with hosting and domain issues. I completed the domain registry transfer of one of her domains from GoDaddy. Not sure why it didn’t happen last year as I thought it was taken care of. It’s a .ca domain and they make you wait 60 days between registry transfers. Also, her Let’s Encrypt certificate kept failing. I generated a new one in cPanel on her web host. I also assisted in the procurement of another domain she had. A “friend” of hers controlled the domain and wouldn’t release it. It expired, she bought it, and I redirected it to a new domain.
- I finally got paid for two reseller commissions by siteground.com. I appreciate clients who use my affiliate link. You don’t pay more and I netted $100.
- More work for an Aussie client I did work for last month: same domain, just more tweaks. I had it all on a spreadsheet but I deleted the spreadsheet, so I don’t recall the details. But it was a significant amount of work for which I was paid $300.
- I redid all the work I did for a client last December. It was a strange case of moving and converting a phpBB 2 forum. He had the extract I provided back then, just never got around to rehosting it. Meanwhile, users kept posting on the forum, so I did it again. Client lives in the United Kingdom.
- Upgraded a forum from phpBB 3.2.4 to 3.2.7. FTP seemed flaky. Also, there was an issue getting into the ACP after the update. I had to upload the media embed extension using the cPanel file manager instead of FTP because it was flakey. I also needed to use cPanel to turn off SuperCache for the logo to reappear.
- Updated a forum from phpBB 3.2.5 to 3.2.7. No issues. A couple weeks later, I also updated the advertisement management extension.
- Did something that was actually unusual: an installation of phpBB on a new server. It will be a brand new forum! Client spun up a server just for the forum. Very nice client and paid very well. There was plenty of work aside from just installing phpBB. Work included: long requirements discussion, installing phpBB 3.2.7, resolving some issues with FTP and SSH, working around an iconv() error I’ve encountered before (no real solution has been addressed), creating the requested forums, the requested groups and assigned appropriate forum permissions. Client also paid for three hours of future time when issues or changes are needed.
- Another huge job, for another Aussie client, that is not quite complete.
- In part one, I updated their forum from phpBB 3.2.2 to 3.2.7. The major issue is that email notifications exceeded the web host’s quota and buying more email quota is not allowed, so emailing needed to be staggered using a system cron. The mailing program in phpBB, /includes/functions_messenger.php was renamed by web host technical support to stop emails from going out. They looked like spam to the web host. Made a phpBB email package size of 50 because hourly quota is 500 emails, so 50 emails every 5 minutes should keep him under quota. But doing a system cron on Windows proved impossible on this particular web host. I asked my client if there was a compelling reason not to move from a Microsoft server to a Linux server. I should be able to program a system cron there and thus address the staggered emailing issue because the technical limitations won’t exist on the Linux server
- In part two, the client takes my advice and makes the leap to a Linux server, which meant moving a number of domains, forums, one Wiki and a host of other content including a Joomla front end. Client’s web host was not terribly responsive to his needs, which meant lots of fruitless back and forth emails. The project is mostly done but there are a few loose ends. There is a huge 6GB MySQL database tied to a Wiki that uses Microsoft ASP. Client understands the Wiki won’t be accessible on Linux but doesn’t care too much, just wants to retain the data. It was too big for me to move with the only tool I had (Plesk). Web host tried and failed too. There may be integrity issues with the database. So that’s still going on, and I’m waiting on some information to program the system cron which because I asked is 200 emails per hour per domain, 500 per hour for all domains hosted for the client. But I did move over three phpBB forums including the databases, one Joomla front end and lot of static pages. This seems to keep going on and one, but hopefully I’ll report a successful conclusion in my August report.
- Troubleshooting on phpBB 3.0.12 forum. The client, an administrator, could not login or access the ACP. I registered as myself with no issues. Via the database, I gave myself founder privileges. But I didn’t see the ACP link. I had to copy the phpbb_users.user_permissions value in the database from an administrator’s permissions to get the ACP link. I changed his password in the ACP and provided an idea of the cost to upgrade to phpBB 3.2.7. That work may show up in a future report.
- Installed a SSL certificate for domain.
- A client’s third party script was failing. I thought it was because old mysql driver calls were in the code, but the real problem was that a common include file containing the database access information referenced the database server name and it was not localhost. Made it 127.0.0.1 to match the phpBB config.php file and the scripts started working.
- Spent about 90 minutes online tutoring a client who had taken over a large forum. The web host is flaky. I showed her how to backup database and files on her hosting. I also made backup of the database and files and posted them to Google Drive. The Network Solutions file manager could not make an archive to contain all the files, so I had to download all the files using FTP and create the archive myself. It turned out to be 16GB, so I paid for extra space on my Google Drive to transfer them to her. My slow Comcast upload speed though meant it took over three hours to upload!
- Additional labor for a client I did a lot of work for last month. Mostly I answered lots of questions. I created a special report for her using SQL and phpMyAdmin. It shows duplicate posts, many of which are spam posts. Her moderators will go through all 600 of them manually and remove the obviously spammy ones. She wants a clean board again. I also removed a style credit line from footer of her forum.
- Updated a forum from phpBB 3.2.0 to 3.2.7. The client will take care of updating the prosilver_se style with his changes and one extension.
- Updated a forum from phpBB 3.2.5 to 3.2.7. The site uses a proprietary SiteSplat style. There was also an error on the manage extensions page. I had to go into the database and remove the bogus extension from the phpbb_ext table, and then purge the cache for the issue to go away. I did not update style or the SiteSplat extension.
- Updated a forum from phpBB 3.2.5 to 3.2.7. I also updated the following extensions: Advanced BBCode, phpBB Media Embed, Cleantalk and Tapatalk. I disabled the beta Copy new topic extension that I had installed some months ago for the client. No issues, but the proprietary Dreamhost web host control panel took quite a while to puzzle through — I really don’t like it, it’s so confusing! The FTP settings I had no longer works, so I had to figure out correct FTP settings again.