“The Yii Book” Update and a Site Update

August 16, 2013
The Yii Book If you like my writing on the Yii framework, you'll love "The Yii Book"!

A couple of quick updates on “The Yii Book” and its corresponding website, yii.larryullman.com

First, yesterday I posted an update to “The Yii Book”. This includes two new chapters: Chapter 17, “Improving Performance,” and Chapter 18, “Advanced Database Issues”. This adds about 50+ more pages as a PDF, bringing the book’s total page count to around 460 total, with a few more chapters to go. You can download the latest version from the account page.

I labelled this version 0.75, despite the fact that the previous release was 0.71. It turns out that I haven’t spread out my version numbers properly to hit 1.0 at the right time. If I were doing better with that, this would be version 0.8. Or, if you want, we can call this version 0.8, but that would mean the book won’t be completed (in its initial draft) until version 1.2. Whatever you prefer.

The second piece of news may not make any difference to you, but I’ve finally integrated Mailgun for handling all the emails sent by my site. Hopefully, the change will be invisible to almost everyone, although a couple of you might be getting emails for the first time.

I adapted an external mail server for a couple of reasons. First, the fact is that once your site gets to any decent level of activity, it’s no longer prudent to have your web server also act as your mail server. It just hurts performance too much.

Second, unless you really know what you’re doing, some percentage of emails won’t get through to the end user from your server (due to spam filters, configurations, and whatnot). With “The Yii Book” as an example, there have been over 1,500 orders so far, meaning there have been over 1,500 receipt emails. Around 4 or 5 of those emails have bounced. Although this is an extra cost and required extra effort, certainly all customers deserve to receive an email receipt. (Even if the problem is with the configuration of the recipient’s server, which I know is the case in one situation.) Hopefully, the integration of Mailgun should prevent this from happening in the future. Or at least minimize the risk of bounces to the lowest possible level.

The third issue is that when I update the book, I send a mass email to let readers know (it goes to everyone that’s opted to receive updates; it doesn’t automatically go to every reader). This mass email slows down my server, will bounce for a few addresses, and runs the risk of getting my domain labelled as a spammer. So from now on, all email related to “The Yii Book”, coming from the site itself, will actually go through Mailgun (at a cost of $19/month, in case you’re interested).

(I had to update a bunch of code to make this work, but hopefully I haven’t introduced an serious bugs in doing so. I created my own skeleton class for using Mailgun via PHP. Maybe I’ll write about and share that later on.)

All that said, I’m now off to Boston for the Northeast PHP conference. In fact, I’m posting this from the Philadelphia airport as I await my flight.

I’ll start writing the next chapters when I return.

As always, thanks to everyone for your interest in the book, for your feedback, and for your patience.