July 2015 work summary

  • Added a fancy HTML button to a web page for a client to take the user to their forum.
  • At a client’s request I looked into his virtual server to see if his mail server was sending spam. I could not find any evidence that it was, but I did determine that it was configured to not keep a log of outgoing emails.
  • Updated a forum from 3.1.4 to 3.1.5 and provided guidance to client so they could do these in the future.
  • Upgraded a forum from 3.0.7-PL1 to 3.1.5. Installed and configured a new style. However, certain email notifications were not going out and in other places when a user tried to submit a post or reply to the post, a white screen occurred while the post was actually saved. This also affected private messaging for certain users. Eventually I figured out that the old forum supported a number of language packs that were not installed in the upgrade, with the primary problem was that the en language pack is installed by default while most users were expecting the en_us language pack. But there were lots of other lesser used language packs as well. I solved the problem by making every user use the en language pack via a MySQL SQL UPDATE statement. I also filed a bug report for this deficiency on phpbb.com’s bug tracker.
  • Provided continued ad-hoc support for a client, mostly answering questions and providing troubleshooting when problems arose.
  • Ghost wrote an article for a client for a technical publication.
  • Placed more ads for a client on their forum. Installed Precise Similar Topics extension. At client’s request removed a lot of padding in various places to give the prosilver style a tighter look.

Smartfeed extension update

I’ve been slowed a bit by vacation but I am still progressing on the Smartfeed extension. The new extension architecture adds all sorts of twists, complications and tradeoffs for us extension developers that are not well documented or easily understood. In my case I had to try stuff to see if it worked and based on what I learned I have had to tweak things, sometimes resulting in major architectural changes. But it is coming along. I am more than halfway through the part that actually generates the feed, the last part of the actual development part. There is also an extensive code clean up and repackaging part and then releasing it for Development, Alpha and Beta testing. phpBB 3.0 code does not easily port to 3.1, although some of it does. There is a lot of trial and error, but hashing through it for Smartfeed will make doing Digests substantially easier.

Some development notes:

  • The extension will no longer support the PHP Secure Communications Library. This provided mcrypt-like support if the mcrypt module was not integrated into PHP. I tried to integrate it, but it was too much of a hassle and made the code bloaty. I also know from experience that the phpBB extension team will critically examine everything including 3rd party libraries and likely demand changes. The smaller I can keep the code the better because it will get approved faster. So you must have PHP’s mcrypt module installed if you want the ability to take advantage of features like the ability to see posts since your last login or the ability to get posts in protected forums. This won’t be a problem for most phpBB forums because it is typically compiled into PHP. If you don’t have it, users will just see a message saying these features are not supported.
  • Part of developing the extension will be to do things in a more modern way. One thing will be to put the code in a GitHub repository. I haven’t figured out that part yet, but I expect to do it as part of the release. This will make it easier for others to suggest changes.
  • I am learning that code that used to be in separate files can be collapsed into one file. This is not true of styles and language files, but it is true of most include files and constants. They can go into the main class instead. There used to be two separate programs: smartfeed.php and smartfeed_url.php. In the future they will all be handled in one executable.
  • I am moving to use phpBB’s templating system to generate RSS and ATOM markup for the feed. In the past I used the FeedCreator class. It turns out it’s not that difficult to do once you know the templating system.

Anyhow, it is coming along. Thanks for your patience.