New service: making a custom style from your style changes

In this post I detailed how you can create a custom style that encapsulates the changes you made to your style to give your bulletin board a unique look and feel.

I now offer this as a service. See my pricing summary for my current rates, which at this time are $30 noncommercial and $60 commercial.

What I will do is analyze all the changes you made to your style by comparing your changes with a referenced version of the style that you modified. Once I have done that I will create the custom style with all these changes, inheriting from the original style. And I will replace the style that you marked up with the original style. Your custom style will inherit from it.

This has some advantages:

  • When updating phpBB, your custom changes are insulated. You no longer have to reapply these changes, or be scared to update phpBB or your primary style, at least if you follow phpBB’s update procedures.
  • You can make tweaks to your custom style in one place. Stylesheet commands are all placed in the stylesheet.css file of the custom style.

If you have made changes to templates, you may want to update these in your custom style from time to time. New template events are added to templates occasionally with new releases of phpBB or your primary style. I can do this for you as a service too at my general hourly labor rate.

September 2019 work summary

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?

August 2019 work summary

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.

Siteground hosting sale September 2 – 8

If you are looking to rehost your site, you might want to take advantage of a Siteground web hosting shared server sale coming up. The event begins September 2, 2019 and lasts through September 8, 2019. I use Siteground’s shared hosting to host this site.

While I like Siteground, it doesn’t make sense for everyone. In particular, before you move to Siteground’s shared hosting make sure that your databases are not too big. There are limits from 400MB to 1GB on the size of your databases, depending on the plan you choose. More details are on my rehosting page.

Also, in fairness I should note that Siteground recently raised their prices. Their GoGeek plan, their most feature-laden shared hosting plan, used to be about $20/month regular price and is now $34.95/month. However, they are a quality shared host, which is a rarity in their business. To maintain their completely solid state infrastructure means they need more revenue that hosts that still use slower disk drives.

New customers get a first year discount anyhow of $3.95/month, $5.95/month or $11.95 depending on whether you choose the StartUp, GrowBig or GoGeek plan. This represents a first year discount of between 66% and 70%.

During the sale, the GoGeek plan is discounted to $7.95/month for the first year, a savings of 77%.

Siteground will rehost you for free if you choose the GrowBig or GoGeek plan.

If you decide to sign up during the sales period, please be kind and use my affiliate link. You won’t pay anything extra and I will earn a commission.

You can see more details on their shared hosting plans and limitations here.

July 2019 work summary

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.

June 2019 work summary

My work in April and May was surreally slow. Happily, this was not the case in June. Work just kept coming in and it got a little frantic at times. A lot of it was hairy upgrades from phpBB 3.0, something of a speciality of mine. Once I get paid for all my work, I should reach my midyear revenue goal which if it repeats for the second half of the year should top last year’s income, then an all time high.

  • The original issue was blank screen that users were having accessing the forum. It was some sort of security issue. Someone, probably the web host, placed a line at the top of the forum’s .htaccess file that triggered the issue. Commenting out the first line of the file brought the board up. Next I was asked to upgrade the from from phpBB 3.0.11 to 3.2.7. I completed the upgrade completed with no issues. I installed the prosilver_se style, but made a number of tweaks to remove rounded corners, apply their logo across the entire background, put black along the sides of document window and to add two links to the navigation bar. I then installed an unapproved version of the Board3 Portal extension that seemed to work with phpBB 3.2 correctly. I edited the .htaccess file so portal page came up first. The portal though was not quite ready for prime time. Time showed an issue with adding new portal modules, so I was asked to disable it.
  • I updated a forum from phpBB 3.2.2 to 3.2.7. I reinstalled an updated version of the prosilver_se style and their logo. I added the ACP Add User extension, which allows administrators to create new users. This is a popular extension for locked down boards where registration is disallowed. I tried to upgrade PHP to 7.2 on Bluehost but it didn’t take. I suggested the client file a ticket to get it properly upgraded. It took a few days but Bluehost finally came through.
  • Troubleshooting for a long-existing client’s forum. Negative values for the number of unread of unread private messages were appearing on the navigation bar, possibly due to a bug in my digests extension. I created some SQL that addressed the problem, and implemented it on both their development and production boards. I then upgraded both the development and production forums from phpBB 3.2.5 to 3.2.7. I also upgraded my digests extension on both forums from 3.2.10 to 3.2.13 and applied a patch that should prevent negative values from being stored.
  • I updated a forum from phpBB 3.2.4 to 3.2.7. I also updated the board’s Latte style, being careful not to overwrite changes and to recompile the style (it uses .sccs files). I updated my digests extension from version 3.2.10 to 3.2.13 and the Media embed extension to version 1.1.0. Later in the month there was additional work. Emails wouldn’t go out; they were being captured by a web host’s outgoing email spam filter. I chatted with the web host. They told me to change the email server name and email started working again. I disabled the user control panel interface again for digests as the client wanted to be the only subscriber.
  • I upgraded a forum from phpBB 3.0.12 to 3.2.7. I used a standard prosilver style installation with a logo. The forum has about 100,000 posts and there were no mods to worry about. It took about an hour to do the upgrade but there were no issues during the upgrade. I disabled the contact form. I enabled the reCaptcha V2 spambot countermeasure. I added a home link and placed their logo in the header. I made a test post to make sure it was working well. I suggested changing PHP to 7.2 and see if other software on the site crashed and if not leave it at PHP 7.2. PHP 5.6 is currently being used.
  • Big project #1. The forum required an upgrade from phpBB 3.0.14 to 3.2.7 but had to be rehosted at the same time. This is because the content on the forum is sensitive in the country where it is used. It was reported and the web host (FatCow BTW) just shut it down. Fortunately, they were able to get the database and files ported over to the new host. There I created a test upgraded version of the forum and did my best to replicate the many features and unique look of the forum on phpBB 3.2.7. Fortunately the existing metrolike style was available and most of the modifications on the board for phpBB 3.0 were available for phpBB 3.2 as extension. The number of extensions desired though was highly unusual and was in the dozens, and not all were approved. Invariably, a few modifications did not have equivalent extensions, so some things required manual changes. For example, there is a unique message that shows to new users inviting them to register that was not able to be done with an extension, primarily because it had to show only to guests. I added this manually into the forum’s header with template logic to show only to guests. In addition, the client wanted forum permissions changed, keeping everyone from reading forums with sensitive content but allowing search indexes to still index its content. I did this by creating a special group and giving read permissions only to people in this special group. It took a lot of back and forth and since the client was nervous it was done via email. I had hoped to use Skype to work through the myriad questions. I was paid for the analysis and waited for permission to do the formal upgrade, which I got yesterday and finished. The client is now reviewing it.
  • Big project #2. This was a lot like the last big project in many ways, except the forum does not contain sensitive content, but is a big and very successful forum based in Australia. The board was a heavily modded phpBB 3.0.5 installation that needed to be completely migrated to phpBB 3.2.7. I began with a test installation of phpBB 3.2.7 to try styling and extensions. It soon became clear that we needed a full test upgrade, upgrading a copy of the whole production database, not to mention more than 100,000 image files. There were so many images that the client ran out of hosting space. So I solved it with a symbolic link to the old files folder. phpBB Gallery was a big part of this upgrade and had to move successfully. Unfortunately, the version of phpBB Gallery for phpBB 3.2 is not approved. The original developer abandoned it, someone else took it up and it was buggy. So there was a lot of trial and error to get not just attached images but phpBB Gallery to work acceptably. It was apparently too big a project for the last developer who tried to do this upgrade. He left due to mental health issues. (It’s unclear if it was related to this work!) The full test upgrade revealed a host of challenges. For example, I ended up manually adding and removing columns from phpBB Gallery tables to port the data over successfully and get rid of a lot of errors. There were also logout issues on the existing forum that emerged, issues with the upgrade itself where we ran out of memory (on virtual hosting!), making everything quite challenging. There were also issue with the Javascript lightbox integration. I’m happy to say that it all went well thanks to the full trial and a lot of beta testing by the board admin and his beta testing team. Still finishing some of the final tweaks and there may be more work to add security certificates and upgrade PHP. There are other applications on the domain that apparently aren’t PHP 7 compatible.
  • Updated a forum for an existing client from phpBB 3.2.5 to 3.2.7. Updated prosilver_se style and language pack (Danish) as well.
  • Maintenance work for an existing forum for medical professionals. I’ve had them as a client for nearly ten years now! I added and configured the Board Rules extension using text provided by the client. It acts as a disclaimer of sorts. I made signing off on it to be required by new users. In Plesk, I updated 20 packages that needed updating. Later, I updated phpBB from version 3.2.3 to 3.2.7, updated the phpBB Media Embed and my digests extension. I updated four of the 5 styles in use because they had newer versions.
  • Urgent request from another client in Australia. My Smartfeed (version 3.2.10) extension would not run. I was given SSH access but didn’t have much in the way of clues in the error log. Eventually I just disabled the extension, then enabled it again and it worked.

May 2019 work summary

This is the second month in a row with slow business. This may be part of a trend or there may be other issues going on. Some possibilities:

  • Most of those who needed to upgrade from phpBB 3.0 to 3.2 have done so already, probably because the issue was forced on them due to upgrades of PHP. Upgrades are the bulk of my business and a lot of clients can do updates themselves.
  • I may be losing search ranking. I don’t think this is an issue because if you Google “phpbb service” I come right up.
  • The phpBB group has a new Wanted! forum, which some people are using to get paid help. I’ve started monitoring the forum but so far haven’t gotten any business from it.
  • The phpBB platform is becoming more buttoned down, with fewer issues and quirks that need expert assistance.

So we’ll see whether the trend continues or not. With the downtime I made more progress on a selective mass emails extension. In addition, I have begun work on a filter by country code extension. As part of developing these extensions, I am getting more comfortable writing extensions. So rather than redirect these requests to other extension developers, I am more open to doing them. So if you need an extension written, hit me up!

This site has been a consistent and growing revenue stream for me each year (pretty much) since I started in 2006. Last year I made a record amount of income from it. Since my phpBB salad days may be over, I’m thinking of moving into WordPress consulting, which is a huge market. (WordPress runs about 40% of websites.) I already run a monthly WordPress meetup, so if you live in western Massachusetts, come to my meetings. But I only do occasional WordPress work. I’m thinking of becoming a WordPress plugin developer. Picking up their framework doesn’t look too hard, but finding a niche that I can turn into a plugin with both a free and a paid version may be the most challenging part. Selling a plugin does not have an equivalent for phpBB, where all extensions are free because they derive from the license phpBB uses for its open source software. That’s not necessarily a constraint with WordPress, and a quality plugin can generate a lot of passive income.

But it’s not like I didn’t do any paid work in May. I’m working on one job at the moment that will show up in next month’s report.

  • Upgraded a forum from phpBB 3.1.3 to phpBB 3.2.7. There were a number of extensions that were not used, so they were deleted. I updated the 24 hour activity stats and Tapatalk extensions. I remove some bogus rows from the styles table. The phpBB logo file was removed before upgrade, so I hid the logo with the upgrade so forum title is now flush on left. I encountered an error on accessing the extensions tab. I had to go in and remove disabled module then all was well. First upgrade was to 3.2.6, then I noticed 3.2.7 was released so I upgraded to that.
  • Troubleshooting. There were two issues. First was an error saying mysqli was not enabled. mysqli is a newer driver for interacting with the mySQL database using PHP. When I got cPanel access, I discovered the domain was using PHP 7.3. phpBB 3.2 does not yet support phpBB 7.3. So I dropped the version of PHP to 7.2 for the domain and was able to login. However, when going into the ACP got: “iconv(): Wrong charset, conversion from `utf-8′ to `utf-16be’ is not allowed”. Could not do anything in the ACP. I commented out the code triggering the error as a temporary solution. Told client to file a support ticket with their web host. iconv library is probably not enabled and this is causing this error. Will be a factor for the client in the future when phpBB is updated if it is not fixed.
  • Updated a forum with phpBB from version 3.2.5 to 3.2.7, with no issues. Client complained of emails not being sent because of items in the private message outbox. I explained that this was due to how phpBB handles whether a message is read or not. If it wasn’t read by the recipient, it remains in the outbox. This work inspired this post. It may be that the recipient needs to enable email notifications. Upgraded my digests extension from version 3.2.12 to 3.2.13.
  • More work for a client who I did a job for in April. Edited overall_header.html to do a better job of showing the song currently playing, the playlist and who is listening.
  • Upgraded forum from phpBB 3.2.5 to phpBB 3.2.7. This client’s host was using PHP 7.3 too, so I had to downgrade it to 5.6 because no other version of PHP 7 was an option. I also had to enable mysqli. Looks fine. No logo, no extensions installed, prosilver style, so the upgrade was very straightforward.
  • Client tried to update from phpBB 3.2.5 to 3.2.7 and encountered timeouts; he had forgotten to disable extensions first. I investigated. First issue was PHP 7.2 was being used, so I had to edit config.php to tell it to use mysqli. Next I disabled his extensions and was able to update the forum without an issue. Reenabled extensions, reenabled board, all is well. One extension is out of date.

April 2019 work summary

April was a slow month. Not sure why, but I think April 2018 was the same way. Maybe people were focusing on their taxes. When things slow down though, it can be good. In my case, it meant getting out a new version of my Smartfeed extension and two new versions of my Digests extension. Anyhow, here’s a summary of my work in April:

  • This work was for a client with a very large forum and active community of women. The forum was phpBB 3.0.12 and an upgrade to phpBB 3.2.5 was desired. I did this in stages.
    • Back in January, I did a development upgrade as a proof of concept. Here’s a summary of that effort. First, I upgraded the client’s development forum. As is often the case, I had to manually create the phpbb_config_text table first before the upgrade would start. I tailored the chosen style to match current style in phpBB 3.0.12. I installed Tapatalk, Thanks for the posts, Digests, ACP Add User and Google Analytics extensions  I disabled the contact page and enabled the reCaptcha V2 spambot countermeasure. I added a home link. I did not set up digests cron as it would interfere with the digests going out on the production forum, but the digest subscribers carried over correctly. I noted that the Tapatalk extension may not work correctly until moved to production. There was no ForumRunner extension available. I asked about installing PM Search extension (RC) extension. I noted that the Thanks for the posts extension may need permissions set up. A few days later, I installed PM Search extension, a release candidate.
    • Finally in April I did the production forum upgrade. This was more complicated than usual because the new forum was going to be on a newer and faster machine, which meant the old forum was put in read only mode until it was complete, and a copy of the database and files were first staged on the new machine. I also had to use SSH to do all the work. The first conversion failed due to various data consistency issues. Eventually I installed phpBB’s Support Toolkit for phpBB 3.0 that removed some inconsistencies in the database. I also loaded a vanilla phpbb_styles and phpbb_modules table from a phpBB 3.0.14 database to get past these issues. Then upgrade worked, after again creating the phpbb_config_text table. Afterward, it was pretty straightforward. I enabled styles, enabled extensions, and completed the digests cron setup and testing. I fixed an issue with popups not going away when marking all forums read. A few days later, an issue with the style I created was noted. Mark forums read would not work, nor would mark all/unmark all. The problem was two instances of including jQuery, both in the header and footer templates. I removed it from header, and added to footer to match how it was done in the prosilver style. A few days later, I fixed an issue with incorrectly formatted birthdates where the user_birthday field was DD-MM-YYYY instead of MM-DD-YYYY. I created and ran some SQL to fix the issue. Some dates have blank years. Later, tried again to install a version of Thanks for the Posts extension that works with Tapatalk, but which uses a different mobiquo folder. I had to enable both the original and new thanks extension, then disable the original one, to avoid seeing two thanks icons. When testing with the Tapatalk app, I saw a thanks button at the bottom of the post.
  • Painful update from phpBB 3.2.1 to phpBB 3.2.5. Lots of annoying hosting issues getting into cPanel, using the file manager, getting FTP to work reliably, etc. Also upgraded the Advertisment management and Cleantalk extensions. I reapplied the logo and cleaned up some custom code in the header and footer. Client’s hosting is subprime, slow and problematic to use.
  • Upgraded a tiny forum (just 55 posts) from phpBB 3.0.10 to 3.2.5. I changed PHP from 5.4 to 7.1. Hostgator hosting. So easy and simple!
  • In early April, a client had a strange database issue where a lot of the forum’s tables mysterious were dropped. So when trying to bring up the forum, an error occurred. The last good backup was from October 2018, so the database and files were recovered to that point. There were a number of emails with the client trying to figure out an earlier issue, the latest was that one spam post was in a digest. The recovered database was phpBB 3.2.1, so I upgraded it to 3.2.5 (second time!) and reapplied the logo. I then updated Stop Forum Spam, Digests and Cleantalk to the latest versions. Cleantalk was not enabled, but Stop Forum Spam was. Enabled both but probably both aren’t needed. To work, Cleantalk needs to be able to query its remote database, so allow_url_fopen had to work, so I tested it. PHP is up to date with 7.2. Previous cron job is still working and digests are going out. As for the spam in the digests, these were because of some spam posts. It probably occurred because Cleantalk was not enabled and the Stop Forum Spam database did not know this poster was a spammer. I manually deleted the spammer’s account and their posts. With Cleantalk now enabled and phpBB and all extensions up to date, it should not recur.
  • More work for a client I upgraded in March. Some members of the forum like to stream music on the site using an integrated Shoutcast server. The controls were integrated into the forum’s header on phpBB 3.0. He wanted to get this feature working again. It worked on phpBB 3.0 as a mod, but there was no approved extension with similar capability for phpBB 3.2. There was a development and abandoned radio extension that I tried. Testing involved setting up an account on a Shoutcast server hosting site and it seemed to work, but controls like showing the current playlist did not work with the extension. After the proof of concept showed that the songs could at least be streamed, the client got a formal contract for a Shoutcast server and asked me to integrate the new server so songs could be played and enjoyed by all. The old player used Flash technology. Since Flash is dying, buggy and a security risk I didn’t want them to use Flash anymore. I eventually found a low tech solution: use the <audio> HTML tag which renders a simple player on all browsers, but without any fancy styling. This worked quite well as a standalone solution, which I integrated into the overall_header.html template for the style. As for the radio extension, we eventually decided it was too buggy to use so it was disabled. In addition, they use the mChat extension so members can talk about what’s playing in real time. I showed the client how to use phpBB’s permissions to limit who can see the chat window, since many users didn’t like it. I suggested setting up a group for those who wanted to stream music and giving them permission to use the mChat window.

March 2019 work summary

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 info@xxx.org instead of info@xxxing.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 info@xxx.org 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 2019 work summary

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.
  • I updated another forum from phpBB 3.2.3 to phpBB 3.2.5. Client reported that there were spam posts that moderators are catching and deleting. There was no obvious reason why, but it was likely that the Q&A spambot countermeasure was guessed and that was being used as a vehicle for creating accounts that were then used to create spam posts. Newly registered users get automatic moderation, which is how they got flagged. I changed the spambot countermeasure to reCaptcha V2 checkbox. Later, I installed the Cleantalk extension. But I went back to Q&A spambot countermeasure because allow_url_fopen PHP setting would not take on Hostgator hosting. Later, I sent info on allow_url_fopen issue for Hostgator for them to take action on. There was an issue with Javascript when creating new registrations. Clearing the cache fixed the issue.
  • 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.