Some pricing changes

I’ve upped some of my prices. You can see a list of all my prices on my services page.

I’m trying to recapture the labor involved in answering your questions prior to you hiring me. Not everyone who inquires of my services hires me of course. Typically there is at least an hour of time involved in back and forth emails with clients. This time was not built into my pricing structure, meaning I am effectively discounting my own labor rates by giving away this time for free.

So mostly this amounts to $10 or $20 increases for services I do most of the time, such as updates, upgrades, conversions and extension installations. My basic labor rate is unchanged. Obviously if you choose not to hire me you don’t have to pay anything. But if you do I want the work I do for you to reflect the full amount of my effort. And that typically involves at least an hour of back and forth communications over email, often more, usually over many days, as details about the work are refined.

My prices remain very competitive. If you can find a better deal out there, please go for it.

I also updated the page to discuss developing extensions for clients. In general I don’t do it, but I will refer you to other extension authors I trust. Mostly it’s due to a lack of time as developing extensions takes considerable time. Extension development is quite costly and most clients usually decide they cannot afford to have custom extensions developed anyhow.

January 2018 work summary

I didn’t do much work in January, mainly because I spent most of it on vacation: 19 days in total! It was a great vacation: a 16 day circuit of the Panama Canal on Holland America, from Fort Lauderdale to San Diego with lots of ports of call. In addition we stayed an extra day in San Diego to see its infamous zoo! I do have a few buns in the oven at the moment including a large project for a large client that I am starting work on that may take a month or two.

During my vacation my site’s certificate expired. I tried to fix the issue remotely when I had Internet, but just couldn’t do it with my Windows laptop. That may have cost me some business. It’s all fixed now.

On the infrastructure side, I upgraded my iMac to use a solid state drive. Things are so much spiffier now!

Before and after my vacation though I did squeeze in some jobs:

  • A client got rid of his forum due to low traffic but wanted me to do some WordPress work for him. He was been having WordPress security issues. I examined his WordPress .htaccess file. I found no issues there but redundant duplicate code was removed. I explained how the .htaccess file works and provided advice on updating, finding, fixing and proactively handling security for WordPress including Wordfence and UpdraftPlug plugins.
  • Two forums were upgraded for the same client, both from phpBB 3.0.12 to 3.2.1. Since the forums caters to German speakers, with the upgrade I installed two German language packs (casual and formal honorifics). On the first forum, I installed the prosilver_se style. I installed the Navbar search extension thinking it would help with styling but eventually disabled it as it was not needed. I changed style a bit to somewhat match old logo and background, experimenting with CSS until I found something that fit. Since the user could not login, I created a new account (after enabling registration) and gave myself founder privileges in the database. The next day I upgraded the second forum. I integrating the old logo but it did not look right with the new style. I tried changing the background color for the style but it still looked off. However, it was acceptable to the client. I then installed version 3.2.6 of my digest extension, and set up and tested the system cron job to ensure digests went out in the hour requested. I used curl and set the cron to run at top of the hour. I resolved a permissions issue that allowed any registered user to be a global moderator. There were some hosting issues: I could not find a link to cron in the web host control panel until the customer added it to my account. The next day I fixed a database issue: changed default for user_topic_sortby_type from m to t. This was apparently changed by some phpBB 3.0 mod. I updated the database to change this value to t for all users.
  • Troubleshooting. A forum gave a “is_dynamic missing” error message, which was actually a row in the phpbb config table. It took a bit of puzzling but it turned out that the forum’s config.php file was pointing to a phpBB2 database! No wonder the row was missing! I searched and found another database that looked like it had the tables for phpBB 3. But it was missing the last 5 tables. I found a copy of the database in the store folder dated 12-18-17. With customer’s permission, I reloaded that database. Bringing up board, the phpbb_login_attempts table was missing so I created it manually. I could not login with customer’s credentials so I created an account for myself and gave myself founder privileges via the database. The subsilver2 style was misidentified as Red Silver. I renamed it to subsilver2 in the database and enabled the Red Silver style. This fixed the styling issue and the site’s logo appeared in the header like before.
  • I upgraded a forum from phpBB 3.2.1 to 3.2.2. An issue with quoted characters repeating themselves horizontally and vertically, overwriting the quote, was solved with upgrade. Replicated logo in header and changes to footer. This was my first attempt to update to phpBB 3.2.2. I quickly learned that (a) the incremental update still does not work reliably and (b) you need to apply some patches. Other than that (to quote Monty Python), phpBB was perfectly fine!
  • I upgraded another forum from phpBB 3.2.1 to 3.2.2. Database updater failed due to timeout. The real issue were some bugs in 3.2.2 and had to apply some patches to complete the upgrade. I reapplied the logo. The search index erroneously pointed to nonexistent MySQL index. Pointed it to phpBB native and message went away.

December 2017 work summary

December was a very slow month. December often is as clients have other priorities as did I. I finished teaching a class and issues two new releases of my digests extension. Revenue-wise, 2017 was my best year so far. Here is a summary of my paid work in December. All client information has been anonymized. Since I will be on vacation for 18 days in January, I expect next month will be slow as well.

  • Undertook a painful upgrade of a forum from phpBB 3.0.1 to 3.2.1. It ended up taking most of the day. A database timeout meant I could not upgrade phpBB on the client’s site. So I had to extract the database, download it, recreate it on my machine and convert it there. Some tables requires multiple extracts to export due to timeouts. Because I have PHP 7 on my main computer and I needed to first upgrade the forum to phpBB 3.0.14 (which does not work on PHP 7), I had to do the conversion on my laptop. After I upgraded the forum on my laptop, extracting the database from the laptop turned out to be an issue until I explicitly told mysqldump to export as UTF 8 (UTF-16 was the default). This seems to be a MySQL peculiarity when it runs on Windows. In addition, the client’s file manager was rudimentary. All files had to move using FTP. Installed the Advertising Management extension and mChat extension but left client to configure. Client will handle styling. Upgraded PHP to 5.6 (was on 5.0).
  • Moved a forum from Westhost hosting to A2 hosting. Client had a temporary domain name on the new host. I first tried to upgrade forum on old server but it didn’t work. I created a new forum on new server but database and files were not moved by the new host. Client provided a copy of the database. I loaded it on local machine (3.1.9 database) and upgraded it there to 3.2.1. I then created a new forum database on new host. I populated it with upgraded database from my machine. I changed folder permissions to standard. Moved /files, /images and /store folders from old server. Changed Imagemagick path as it had changed so embedded images would display. Installed ID_Launch Fresh Style. Installed Google Analytics and Shareon extensions.
  • Installed Authorized for URLs extension. I went through the client’s numerous user groups and disabled privilege for bots, guests and newly registered users. I enabled extension to work for every other group. I provided instructions for its use.
  • Troubleshooting. Slow server, mostly manifested in slow database but also a lot of spam traffic. I discovered a WordPress temporary table issue. Two search tables in phpBB had repair issues as well; repairs would not stick for long. To keep a lot of the spam traffic from ever reaching the server, I installed Tapatalk both for WordPress and phpBB and enabled its spam firewall feature. I changed the storage engine for forum tables to use InnoDB. Converting the search tables to InnoDB required doing it from the command line as phpMyAdmin would time out.
  • Issue with routing and mChat on other than first page of the mChat display. Not sure what was causing issue is. .htaccess file for forum was missing uploaded it but didn’t solve the issue. Suggested disabling mod_rewrite. Installed SEO Sitemap extension and Italian language translation for it.

November 2017 work summary

Business here at phpBB Services was a bit slow in November but it picked up toward the end of the month. It worked out to a nicely profitable month in the end. Here is a summary of the work done this month. All identifying client information has been withheld, of course:

  • Tried to fix more malware issues for a client who uses WordPress for a site to advertise his business. Because of the malware, his web host would not allow me access to the site to fix it, but they did provide a Dropbox with the files and identified the known files with vulnerabilities. Setting it up on my machine was complicated but I finally got it to work. I corrected the known problems and compared WordPress and all plugins with referenced files. I checked the database too for malware. I removed all unused themes, including one with a known vulnerability. I updated a few plugins and WordPress itself. I zipped everything up and sent it to the web host, who installed it and found no errors. But later on despite my best efforts and scanning all the files by the web host, the malware returned. The malware looked like it has been injected into a business theme. The frustrated client ditched WordPress. Not sure what he is using now but I think he moved to I can’t say I blame him. I tried to fix this for him as a favor. While I dabble in WordPress but don’t consider it an area where I have any particular expertise.
  • I installed the Advertising Management Extension on a forum running phpBB 3.2.1. I spent extra time troubleshooting and analyzing his ad placement questions … apparently there was an ad missing in the footer. I found one missing on the portal page and suggested checking his Adsense code to see if it is still correct, as it left a blank area on the page.
  • I upgraded a forum from phpBB 3.1.9 to 3.2.1. Since the client has a SCCS-based style, I reinstalled the Artodia SCCS compiler extension after the upgrade so I could give it the desired look. The site unfortunately doesn’t work on phpBB 3.2 styles, so I looked at changes made originally using to his Elegance style for 3.1 and replicated them for his Elegance style for phpBB 3.2, creating new custom style I called Elegance Orange. There were some issues with drop down controls and the style that the client noticed. Fortunately, I found a newer version maintained by another style artist that fixed these bugs. I installed that version of Elegance, made a new Elegance Orange style again and reapplied the code changes to the theme and templates. Customer satisfied!
  • Client had issues accessing tabs in the Administration Control Panel. I tried to look in the database using phpMyAdmin but got a token error trying to run phpMyAdmin. I figured the issue was with the database itself, so I repaired it outside of phpMyAdmin. There were still issues so I deleted the cache manually and the errors stopped. The client approved converting tables to InnoDB to reduce likelihood of further issues. I had to put Unix 777 permissions on the cache/production folder. For some reason they did not inherit. I recommended that the client complain to web host and ask to be moved to newer hardware and software as he was constantly running out of quota and they were using old Windows hosting.
  • I updated the Tapatalk extension from version 2.0.3 to 2.0.5 based on email client received from Tapatalk.
  • I moved a forum from FastComet hosting to TMD hosting, both the database and files including files for the website, not just for the forum. I changed the DNS in GoDaddy to point to the new hosting.
  • I updated the Tapatalk extension from version 2.0.3 to 2.0.5 for another client.
  • I installed the Advertisement Management Extension on a phpBB 3.2.1 forum using the standard prosilver style.
  • I installed my digests extension (version 3.2.4) on a new phpBB forum. There were some issues getting the cron to work right. It required a support ticket to the web host to get path to curl.
  • I updated a forum from phpBB 3.2.0 to 3.2.1. I had to upload all the files rather than the changed files because the upgrade would not work otherwise.
  • I upgraded forum from phpBB 3.0.10 to 3.2.1. Due to the high availability requirement of the forum, it was a two step process, first to verify it could be done at all. In the first step, I created a test database and copied the production database into it. This exposed MySQL shared hosting quota issues, so it took a while to copy all the tables correctly. Trying to recreate the search index on the test forum also caused MySQL quota issues. I installed the Flat style and integrated the old logo, changing some CSS to place the transparent logo image on a black background like before. Converting the production forum was straightforward. I placed a copy of files and database into a backup folder first. I copied theme as I configured it from test forum to save time. It all looked good so I deleted old database, the test forum folder and subdomain too.
  • Client worked with his web host to move his WordPress site and phpBB forum to a new server. The forum did not come up. Upon investigation, I determined that the forum’s files were moved but database hadn’t been moved. I exported the database from the old hosting and imported it into a new database on the new hosting. I edited the config.php file so it correctly connected with the new database. I purged cache manually otherwise the cached file would still try to connect to the old database. I set folder permissions correctly. I then upgraded the forum from phpBB 3.1.9 to 3.2.1. There were no complications, just one image to replace. Later the user discovered that post images weren’t showing. When I tried to bring up the forum but the phpBB3 folder was gone! I recovered it using File Manager. The post images still didn’t show. It turned out that the path to Imagemagick had changed from the old machine. Once the path to it was fixed the images showed. I also changed some settings to use the new security certificate installed.
  • I fixed a weird issue that developed with Forumrunner modification installed on a forum running phpBB 3.0.10. Forumrunner is similar to Tapatalk in that it allows a forum’s posts to be seen inside of a smartphone app. In the forum’s error log, I discovered an error that said the Forumrunner program expected to write to a missing fr_token column in a table. I scoured the web for a reference and found its datatype (tinyint), then added the column to the table with phpMyAdmin. It should make this issue go away. I also provided an estimate for upgrading to phpBB 3.2.1 but the client is not interested at this time. Hopefully there are no more Forumrunner issues like this!

October 2017 work summary

October was a very profitable month for me, best of the year so far. It’s a little mysterious to me why it was so, but I did collect on a few projects I was owed so that helped. Anyhow, here’s a summary of the work I did in October. All client information has been anonymized, of course:

  • Upgraded a forum from phpBB 3.0.9 to 3.2.1. The vendor folder was corrupt in my archive, which I think was due to a bad release by the phpBB Group since corrected. I fixed my archive, installed the prosilver_se style and applied the client’s logo. I also installed my digests extension (version 3.2.4) and tested it. In programming the cron job, since HTTPS was used, I added -K option to curl so it didn’t verify the certificate.
  • Client upgraded from phpBB 3.1 to 3.2. He had the portal extension installed but the upgrade caused an error rendering the portal page. Updating the extension to 2.2.0-b1 solved the problem although it should be noted there is not an approved version of the portal for phpBB 3.2 at this time.
  • Client was having trouble getting version 3.0.7 of my digests extension to mail from a phpBB 3.1.10 instance. I figured out the issues were due to incorrect manual testing procedures. Then wanted me to create a customized version that removed certain items from the digest email. I made changes which also required a change to the mailer program. I also found a digests 3.0.7 French language translation and installed it (since the board is hosted in France) and modified that language file as well as the English version to accommodate the requested changes. I tested it on a 3.1.9 instance on my machine and since I did not have installation permissions, I placed a copy on Google Drive for the client to access and install, with instructions. Later there was additional work. Now with full permissions, I upgraded the client from phpBB 3.1.10 to 3.2.1. I installed a new version of we_universal style, but the development version has a few issues (quote icons and the like would not show). I reapplied custom code changes to my digests extensions. In addition the client wanted additional template changes with banner images in the digests. These plus communication challenges added a lot of time.
  • Client said he had managed to acquire the domain name a competitor was using, which had expired. Changed DNS to redirect to the selected domain but the action never completed. However, I later learned that the domain did not expire but GoDaddy let him buy it anyhow. Client paid me for my time.
  • Upgraded a forum from phpBB 3.0.12 (subsilver2 style, no mods) to 3.2.1. Changed the style with the upgrade to Allen Subsilver. I added the old logo. I added an extension so external links render pages in new tabs. Redirect issues were solved by removing cPanel redirects and creating an index.html file with a meta tag to redirect to forum. In addition, SuperCacher was turned on. I had to flush SuperCacher in cPanel to affect logo changes. I created a question on registration but registration is currently disabled. I suggested configuring the new reCaptcha if this is enabled.
  • Another error was reported by client I helped last month. I looked at the error log. I determined that German language pack said it was installed by the files were not there and that triggered the error. I added the German language pack for phpBB 3.1.10. Another error pointed to something wrong with the Profile Side Switcher extension. Version 0.0.1 was installed, updated to 1.0.0 and that error went away. I also removed some dead modules. I changed permissions on cache, files, images/avatars/upload and store folders. I cleared the cache. The extensions tab did not show. This may be a database issue with the modules table. Waited for feedback or additional permissions. Client paid me for the work to date.
  • I completed a month plus long project to change the website’s front end from static pages to WordPress. Originally I placed WordPress in a /wordpress folder. I moved the old files into an old_files folder, moved WordPress into the root folder, installed a plugin to change some paths and changed some database columns to get it to work from the root folder. The move to WordPress included creating a shopping cart and testing it, replicating a members only area by doing it inside of WordPress, installing a theme, installing a form generator for membership applications and creating the membership form, and the integration of a photo gallery using a plug in. So while phpBB is my specialty, I can do a lot of WordPress work too, so it doesn’t hurt to ask if you want me to do some WordPress work for you.
  • Upgraded a forum from phpBB 3.2.0 to 3.2.1. Reapplied logos. Updated American English language pack.
  • Removed malware from site using cPanel’s file manager, placed bad content in Trash for customer’s review then submitted it to Google for a check. Later, client encountered more spam issues. Web host said WordPress plugins were sending spam. They blocked access to the site so I couldn’t go in and do anything. Sent support an email. Never replied back but a couple days later I could get into WordPress. Client has both a French and an English site. Updated plugins and updated WordPress on both sites. Installed plugin that automatically updates plugins on both sites.
  • Upgraded a forum from phpBB 3.0.14 to 3.2.1. Work involved rehosting the forum too as the customer’s virtual server was underpowered, making database operations problematic. Customer eventually chose a new web host and it took about a week to move the content over along with the WordPress content. Resource limitations occurred trying to upgrade forum on old host, requiring me to move it to my machine, do the work there and upload it. However, bigdump.php would not complete loading the database, due to resource limitations on the database (first time I’ve seen this for virtual hosting). Many tables had primary keys and indexes missing. Eventually the new host got WordPress working correctly for the client. I had to reload the phpBB database to recreate the indexes and primary keys that were missing. While running bigdump.php on the new host I encountered a Javascript error but I was able to load database from the command prompt instead. Installed the Hexagon style, configured the logo, placed a special tile background image and uploaded old icons for forum and topic images. In some cases browser resized them, making them a bit fuzzy. Installed the Advertising Management Extension and added two ads in two locations. Upgraded PHP to 7.1 and tested. Installed the Advanced BBCode Box extension. Uploaded his many old images used in the headers principally to /styles/Hexagon/theme/images.
  • Troubleshooting. Email interface wasn’t working. It was set to send mail via SMTP. I turned it off and tested it and received a sample mass email.
  • Upgraded a forum from phpBB 3.0.11 to 3.2.1. Kept the prosilver style and reapplied the logo. Installed Google Analytics extension. Installed Advertising Management extension but HTTP 403 errors triggered when creating ad. Asked client to file a support request to get this addressed. Advised about placement of skyscraper ads (not a good idea for phpBB). Forum is inside a frame. Recommended this be addressed. Later, working with security rules were setup to bypass modSecurity for ad placement. Installed reCaptcha.

Pricing changes (most clients unaffected)

I have updated my pricing. Most of my customers are not affected by the price increases. It only affects those in the corporate/moneyed sector.

Many of my professional customers have already paid me more than I have billed, some calling attention that I am dramatically underpriced in this market. So I have doubled my labor rate for this class of customer to $60/hour and doubled my fixed prices for them as well.

How do you know if you have to pay my professional rate? My services page has all the details. In general, if you need an invoice, you are billed at my professional rate. If you have staff and offices, a professional rate applies. It does not apply to hobbyists and small non-profits where pretty much everyone is a volunteer and you run your site on a shoestring. The quality of the service is the same regardless.

If there is a conflict between professional work and other work, understandably I will put those paying at the professional level first. In most cases this is not an issue.

It’s nice that my professional customers are increasing as a share of this business and the extra income is nice as well.

September 2017 work summary

September was a very slow month, probably the slowest so far this year. In a way it was good because I was kept hopping preparing for and teaching a website development class, and I needed to focus on that. Here is some of the work I accomplished in September for various clients:

  • A forum’s users were experienced HTTP 500 errors when accessing forum. I downloaded the error log and noticed numerous TWIG errors complaining about a link missing to Viglink in overall_footer.html. I’ve seen this issue before and I’m not sure what’s causing it, but I think it may be due to enabling Viglink, then disabling it without purging the cache, which should not be necessary. I used the web host’s file manager to manually remove files from the /cache/production folder. The forum came up but there was a HTTP 500 error on initial login, which did not recur. Also, I noticed that a folder was missing where the main site images were kept. The client was able to restore these pictures. I suggested and installed the latest Cleantalk extension (not yet on and enabled its SpamFirewall feature because the client was getting hammered by spambots. This solution is working well.
  • Some users reported a white screen after making a post. It seemed to mainly affect Firefox users and seemed to be somehow related to the cookies. I examined error log and found a TWIG error referencing a missing link for Viglink, similar to the last problem. I manually refreshed the cache. No further problems were noted.
  • Troubleshooting. User had installed a security certificate so the forum would use https without changing phpBB’s server settings. I fixed the server settings to use https and to NOT use port 80. I suggested changes to force all links to use HTTPS with a .htaccess hack and to fix WordPress links using a WordPress plugin.
  • Performed a simple upgrade from phpBB 3.0.13-PL1 to phpBB 3.2.1. Used the default prosilver style. Logo is wide at 900×150, suggested that it would flow better if it were smaller. I hid the site title and site description in header so it would look similar to what they had before the upgrade.
  • Troubleshooting trying to figure out why mass emails were not going out to about 80 users. It turned out the new web host has email quotas and that was part of the problem. I tried to connect the forum using SMTP to old mail server where this wasn’t an issue, but discovered that the new web host does not allow outgoing SMTP connections. Based on what the new host said it’s outgoing email policy was, I suggested an email package size of under 25 and setting up a system cron to run every five minutes.
  • The web host complained to the client that her site was getting hit by too many spambots. Similar to the first client, I solved the problem by installing the latest version of the Cleantalk extension and enabling its SpamFirewall feature. I also updated the forum from phpBB 3.2.0 to phpBB 3.2.1.
  • I updated a forum from phpBB 3.1.3 to phpBB 3.1.11 and installed Cleantalk extension 4.7 (a higher version would not work with 3.1) to solve a persistent spam registration problem. Client did not want to upgrade to phpBB 3.2 since a couple of extensions would not work.

August 2017 work summary

Not too much work in August. However, what work I got involved some pretty challenging stuff! In addition clients that owed me some serious money finally paid up, making it the most profitable month of my year so far. One client liked my work so much he paid me double my regular rate! Here’s a summary of the work performed:

  • Updated the Cleantalk extension to version 5.2 for a client on whose forum I had recently installed Cleantalk 4.6. I assumed version 4.6 on was the latest but it was somewhat dated. It looks like Cleantalk has to wait months for extensions to get checked and approved like the rest of us. To get rid of the update message for the client, I found the latest version on GitHub and installed that. It has since been updated by Cleantalk and is now version 5.4.
  • Updated forum from phpBB 3.2.0 to 3.2.1 using the careful (all files refreshed) method. Experience has shown that using other methods introduces problems. I also updated the client’s Eles style to version 2.2.2. As requested I tried to paste a Facebook video into a post topic using ABBC3 extension and it worked.
  • Another moving a client from phpBB 2.0 using the dreadful Aabaco hosting to GoDaddy running phpBB 3.2.1. I blogged about it if you want all the details. What a mess!
  • Client wanted a way to see any posts that were posted without having to visit his forum. I suggested using my digests extension. He agreed so I installed version 3.2.4 of digests and programmed a cron to make it work automatically.
  • Moved forum to new host. The client did much of the legwork including DNS changes. I just moved files, created and populated a new database, set some permissions and changed config.php. No big deal.
  • Changed links to some videos that were embedded in the header of the forum to different URLs.
  • Updated a forum from phpBB 3.2.0 to 3.2.1 on Bluehost. Since prosilver_se is now available (client reverted to prosilver when I earlier upgrade him to phpBB 3.2) I reinstalled that style and applied a small version of the site logo.
  • Finished WordPress work started in January. Yes, I do some WordPress work in addition to phpBB. Back in January I installed WordPress for the client and he was going to have someone do the styling. All these months later that was finally finished and he wanted to make it live. So I moved WordPress which was in a /wordpress folder to the web root and put old Joomla CMS in a joomla folder. This was more complicated than it seems because WordPress database had to be searched to change path to take out /wordpress. This took a while to puzzle through. To do it I used two WordPress search and replace extensions. I then converted the phpBB 2 forum to phpBB 3.1.11. 3.1 was used because Slovenian language pack not available for 3.2. This type of conversion is always problematic, but it went smoothly. I used SQL to change all user’s default language to Slovenian. I installed the Elegance style then did a lot of customizing of Elegance style to make it match header on the old phpBB 2 forum. I added old logo and site menu below it which meant changing the style so that things matched the width of the logo at 1050 pixels. I also added a sidebar on right. I rebuilt search index. Later I was provided with a new new logo 1200 pixels wide. I installed it and adjusted styles to make it match the original 1200 pixel layout for the Elegance style again. Installed Google Analytics and open external links in new windows extensions. I fixed a letter in menu that wasn’t rendering correctly in Slovenian/ I made tweaks to sidebar. I explained how and where to make additional style changes. I provided guidance on spambot countermeasures.
  • I finished a long job started in May for an existing client. This was not glamorous work because she has a mixture of domains and web hosts and was trying to centralize all the hosting and domains. Trying to move all the domains into GoDaddy and all the hosting into a new host. It was very confusing work because she does not understand much about these topics and the information I needed to make these things happen were scattered among many vendors. In addition she has one consultant who did not want her to reclaim her domain and for a while would not change the domain to point to the new hosting. Quite a mess. There are still a few details left for the future but most of it was finished.

Another Aabaco (Yahoo) Small Business hosting rant

Getting clients off Aabaco (formally Yahoo small business) web hosting is becoming something of a specialty of mine. Today I finished a three day job involving moving a client’s phpBB 2 forum off of Aabaco to a new host and a new domain. (See previous post on Aabaco.)

Earlier in the year I was finally successful getting a client’s data off of Aabaco web hosting. Mainly I was stymied by getting a copy of the database since the binaries Aabaco provides are not portable or usable. I couldn’t make a backup in phpBB 2. The functionality is there, but unless you have the tiniest forum you can’t make a backup because it times out.

So that leaves trying to get a backup using phpMyAdmin, which is installed on Aabaco sites but of course it’s a dreadfully old version. Same problem there. Any table of sufficient size (like the phpbb_posts table) you can’t export because of a web hosting timeout. Earlier in the year though I finally figured out a way to get an export. It involved taking slices of large tables and exporting that, say 10,000 rows at a time. To say the least it is tedious. You have to write your SQL very carefully. The option to export a slice of the table is there, but not obvious. Once you download it though, you need to check it. Is it complete? For each file I used the Unix tail command. Each SQL statement in the export should end in a semicolon. If you are missing a semicolon at the end of the export then, no, that slice is not complete. So you make smaller slices but with persistence, care and a great deal of tedium it can be done.

Moving the files turned out to be another issue. Last time I was successful because FTP worked. This time it didn’t. A query to their customer care line provided instructions that didn’t work. I think it’s part of a deliberate strategy. If you can’t get your files off of their site, how can you move it? You are a customer for life. The files that mattered were images, most for the attachment mod for phpBB 2. It seemed like a lost cause and given that there were 7900 images, downloading them one at a time with their file manager was not an option. (Of course their file manager is not intelligent enough to allow you to choose multiple files for downloading!)

Necessity turned out to be the mother of invention. I was able to write a short PHP program to at least list the images and output them to the screen. I had to write it using their file manager. With a list of files I could cut and paste this into a program I wrote on my local machine. No FTP? No problem as I could grab the file with HTTP if I knew what the file names were, which I now had. I used PHP’s curl library and some file commands to fetch them one at a time and store them on my local machine.

So with many hours of effort I was able to grab all the images and populate a local database on my machine from the Aabaco database. I had to dig for a copy of phpBB 2 to set up the file structure the phpBB conversion program expected. I created a phpBB 3.2 instance and eventually succeeded in converting it. (I had to fix a few data issues with the database.) And I was able to upload files and database to the new host. It was quite a challenging job but getting off Aabaco is possible, just costly for this particular client.

I have to laugh though. Looking at phpMyAdmin I could get a sense of how “current” their infrastructure is:

  • MySQL version 4.1.4 – released August 31, 2004. (It used MySQL client version 3.23.49, even older!)
  • phpMyAdmin 2.1.19 – released August 28, 2008

All this plus no hidden files allowed! Moreover we were delayed for a while because the phpbb_sessions table had to be repaired. The client told me it happens regularly. Yes on very old machines with problematic disk heads, I’m not surprised that all these reads and writes means this table has to be regularly repaired, by hand of course.

If you absolutely must get your forum off Aabaco web hosting however, you might want to contact me. Given the effort involved though I’m sorry to say it won’t be fast, cheap or easy.