In my last post on this topic, I outlined what I had left to do to put out a first release of a digests extension. Update below on each point:
- Thoroughly testing the new way of sending digests via phpBB system cron. In creating a manual mailer and integrating it into the Administration Control Panel I have in effect created an easy to use test tool for mailing digests. So far though I haven’t actually emailed anything, but I can write individual digests to the digests’ cache folder. This has a number of advantages, the biggest one being that I can bring it up in a browser and carefully examine it for errors. Once inside a browser I can closely inspect it with Firebug and run HTML validation tests too. The digest extension will send HTML digests as HTML 5 instead of XHMTL 1.1, which is cleaner code. Anyhow, it’s much easier to test all the permutations with the manual mailer and I thoroughly went through testing all the features of the mailer except actually emailing the digest. I can’t get my local instance of XAMPP to send emails. To test that part I will do it on my website where that integration is built in. It’s the last step in development.
- Completing the integration of all the features with the manual mailer and the digest cron job. Done.
- Extending the messenger class to send HTML emails. Last piece of functionality to port and I’ll do that part on my web server (where I can send actual emails) and port those changes back to my local instance for packaging.
- General code review and cleanup. I’ve cleaned up all the language variables and removed dozens of them that were no longer used. I’ve done a pass through all the major blocks of code but it will need a couple more passes as part of the code are unnecessarily complicated.
- Updating the migration program to properly migrate digest settings from the 3.0 mod to the 3.1 extension. Still to do. This could potentially be time consuming. The goal is to support the mod from version 2.2.6 forward, but if that’s too complex I might have to require a later version, perhaps the last approved version of the mod.
- Updating documentation including how to set up a system cron. To do as one of the last steps.
There are other things to do:
- Verify that all the functionality for the file changes in the mod are incorporated in the extension. This is virtually done but there are a few controls and such that won’t be in the extension, mainly because the new architecture makes them moot. I had about a week of delay trying to get the interface where you can sign up for a digest upon registration working. I had to figure out how phpBB 3.1’s event architecture worked, find the right events and tweak the code to work with the event logic.
- Thoroughly test the actual emailing part. This includes testing using a manual mailing and testing using a scheduled mailing by creating a system cron on my web server and making sure digests actually go out hourly.
- Full system test. This involves creating a test instance and installing it with phpBB 3.1.6 and seeing if anything breaks. I won’t test all the permutations but try most of the major ones. There are usually a few things that need to be fixed and retested.
- Publish the code to GitHub.
- Package it and place it on this server, and link to it.
- Place appropriate announcements on phpbb.com.
This will probably go out as an Alpha release, as it is well tested and having done so much work on the Smartfeed extension the code is much cleaner than my initial attempt for that extension.
I’m hoping the rest will take about two weeks or less but it depends in part on any business that comes in my mailbox.
Creating and testing the html_messenger class (extending the messenger class) to send HTML emails is done. That’s the last bit of new functionality left. Code cleanup and a full system test is next.
It’s getting there. Finished the migration program today. Certainly a challenge to migrate people from the mod without losing any settings! Still need to finish extending the messenger class so it will do HTML emails. A lot of this stuff is quite obscure and takes significant research and discussion with fellow extension authors on phpbb.com.
Sounds like great progress! I am very excited to get my hands on this Mark, a have a small board that desperately needs some help to keep drawing folks back.