- PHPClasses site blog
The site editor newsletter of January made me get overwhelming feedback. Many people wrote me telling how much they appreciated the newsletter, specifically for talking about good software engineering practices applied to PHP Web development.
Some users contacted me asking for copies of newsletter article because they are not subscribed to the newsletter mailing list but they heard about from others that received it.
I also got a suggestion about turning the newsletter messages into a blog. Previously I have considered that possibility.
It would allow the the site users and other PHP users that do not know about the site to learn about interesting aspects that are mentioned in the newsletters.
It would also allow the the site users to post comments about the newsletters and discuss about it with other users.
There are many things that I would like to implement in the site. Some are more important than others. This time I decided to spend some time implementing a real blog system that addresses these needs.
It just took me a week to implement. Half of the time I spent developing a generic MIME message parser class. The MIME parser was used to import all the past newsletters since 2001 from my e-mail archives.
One of these days I will write some documentation and release that parser class because I am sure it will be useful to others, despite the existence of similar solutions for the same purpose.
Now, not only you can check online the previous newsletter, but also see all the past 49 site editor newsletters that I sent in the last 5 years.
The older newsletters were left in e-mail archives in another computer that I am not sure if it still works. I may try to recover those newsletters some day when I have enough time and patience. ;-)
Starting now, you may browse the site editor newsletters as a blog here:
Like any other blog, you may keep up with the latest posts accessing its RSS feed here:
- Blog comments system
Also like other blogs, you can post comments. Here you may notice something different.
In reality, the comment system is hooked to the forum system that was implemented in the past to let users discuss about the packages published in the site.
The difference is that instead of having one forum per package, now you have one forum per post published in the blog. This means that for each post you can have separate threads with their own messages.
You can subscribe to each post forum or just individual threads, so you can be notified by e-mail right away when another comment posted in the subscribed forum or thread.
I do not know many blog systems that provide this possibility. This is part of the reason why I have chosen to develop a blog system from scratch, rather adopting an existing blog system.
Another reason is the ability to have moderated forums. When a comment is posted, it is left in a queue to be reviewed and approved as soon as possible.
Unfortunately, some people tend to abuse from blogs to post off-topic or inflammatory messages. The moderation system was implemented to prevent that from happening, keeping a good signal-noise ratio.
- Track comments in other blogs
Another interesting feature built-in this blog is the ability to keep track of comments about this blog posted in other blogs.
As I mentioned in past newsletters, the site supports the trackback and pingback protocols.
These protocols are used to let other sites notify that they have posted articles about pages of this site. So far, this has been implemented to keep track of blog posts about the classes published in the site.
Now, the site can also handle trackback notifications about the blog posts. Any relevant posts notified using trackbacks will be listed in the post pages.
Obviously the trackback notifications are not approved immediately. Nowadays, the amount of trackback spam that is sent to the site is huge. Most of which is automatically discarded without notifying the spammers. Still, some spam is not discarded right away. It needs to moderated manually.
- Blogs for the site users
Now that a generic blogs system is in place, it could also be used to let other site users submit posts in blogs of their own hosted by the site.
Despite this was not the original intention, it is indeed a possibility. I am not sure if and when that can be made available.
I would like to keep the site on-topic. I mean, if blogs will be provided to other users, the users would have to post in English about matters of interest of the PHP users.
There are many free blog hosting systems everywhere. The advantage of hosting a blog in the PHPClasses site is that it would provide immediate exposure to tens of thousands of active PHP users.
The site has now accumulated 320,000 subscribers, since 1999 when it was started, about 140,000 of which are users considered active (reachable by e-mail or logged in the site at least once in the last 30 days). The site grows at a pace of near 10,000 new subscribers a month.
If user blogs become too busy, they can consume a lot of server resources. I would have to compensate the eventual additional costs, maybe with advertising, as you may see now.
Maybe I can restrict user blogs to reputed class contributors, like top downloaded authors or past and future nominees of the innovation award.
That would leave out any spammers that could subscribe to the site to abuse from it. But I would not like to make the PHPClasses site a place where only an elite of users can have a chance to express themselves and contribute to the community. Everybody should have a fair chance to participate.
I need to think further about this, but I also would like to hear about your opinions on the subject.
- The making of PHPClasses site blog
Finally I would like to mention a bit how the blog system was built in less than a week.
There are no miracles. Every magician has an handful of tricks ready to be presented in a show. I am not a magician, but I have certain tricks that I have no problem to share.
In the last newsletter I mentioned the use case mapping methodology to develop application level components. Nothing new here, I use this methodology all the time since a long time ago.
I also mentioned that the blog comment system is connected to the forums system that exists on the site. It was adapted to manage discussions about blog posts. That was a big time saver.
The forum system itself was implemented in late 2004. It was implemented with a code generation tool named Metastorage.
I have mentioned it several times in past newsletter messages. I have to confess that I am very excited and satisfied by the increase in the level of productivity that this tool has been providing me. It was well worth the time I spent in latest 4 years to make it generate good code that addresses all my needs.
Implementing a blog system in a few days using this tool is not really surprising, at least for me, as I am very familiar with the tool.
Of course somebody that gets started now, would have to spend a few days learning about Metastorage to get up and running producing applications at a good speed.
Anyway, this is my main trick that I wanted to share. Sometimes it pays investing some time studying and using a productivity tool like this.
I expect to produce more systems with this tool soon. For now I plan to make available the source code of the forums and blog system components written with Metastorage. I am not sure when, but I expect that it will happen in the next months.
If this is the first time you hear about Metastorage, you may find more information here and also in the past newsletters:
- Improvement suggestions and criticisms
This is just the first public implementation of the blog system. As usual I am open to receive improvement suggestions and any constructive criticisms.
If you are interested to comment, please go to the blog page, enter the page about this post and use the Post comments link. Obviously you need to be logged in the site to post your comments.