If you want to use SSH or SFTP with PHP you need the SSH2 extension. Unfortunately MAMP doesn't come with it out of the box. Moreover, it comes with no PHP sources making it a bit complicated to use pecl to install the extension. So here I document it, mostly for my future self and in the hope that I'll spare a poor soul the trouble. The middle part of the instructions is a prerequisite for installing any other PHP extension, so here's another utility to this.
If you want to start developing PHP applications, or merely work on your PHP-based site off-line, on Mac OS X you can easily do so. In this how-to we'll see how you can set up NginX, a high performance web server, with the PHP version shipped with Mac OS X itself to create a local web server. In case you're wondering, you can of course use it in parallel with MAMP, XAMPP or even the multi-PHP version server I've described in an earlier post.
In the previous two installments of this series we discussed the target audience for Joomla! 4 and beyond and the vision for the end user. In this third installment we'll see things from the developers' perspective, defining a vision for the PHP code's architecture and design goals.
In the first post of this series we explored the unified marketing message for Joomla! 4 and beyond. Armed with this result let's see how we can turn this into an actionable vision, starting with the improvements that affect our end users. The common theme behind all the improvements in this vision can be summed up as "Don't make them think".
Over the last year I've collected my thoughts on Joomla! the CMS, the project and the community. We've finally all come to the conclusion that Joomla! needs a revamp. The time is ripe to discuss the future. This is a very big subject so I'm going to present this as a series of blog posts. In this first installment we'll talk about Joomla!'s target audience and a unified marketing message to frame our vision.
A few months ago Jisse Reitsma of Yireo told me about a book he had just written, called Programming Joomla! plugins. He asked me if I was interested in reviewing it. I did, mostly because I was curious what a book on plugins would look like. Once I started reading it I couldn't put it down. By all accounts, it's one of the best Joomla! development books I've read and one I highly recommend to anyone who's serious about doing heavy customizations in Joomla! or writing extensions for it.
Debugging email sending can be notoriously difficult. There are too many moving parts: the extension you are using, Joomla!'s mail setup in Global Configuration, your web server, your mail server, the other party's mail server and their mail client. Between them it's nigh impossible to know where a problem occurs. It would be of immense help being able to isolate just the code running on your web server when debugging email. This is done with MailCatcher.
I am the happy owner of an Intel NUC dual booting Windows 8.1 and Ubuntu, hooked up to a great-looking Apple LED Cinema Display. The only problem is that the Apple display comes with no physical controls for brightness and Ubuntu doesn't seem to be able to adjust it either. Being a geek I was anything but content with this situation. I finally found a solution to control the brightness using keyboard shortcuts.
Updated December 2020: Using a maintained fork of the acdcontrol tool, removing the need to run acdcontrol with root privileges and a much simpler Bash script for the integration with the desktop environment, documented how to modify acdcontrol to support other monitors.
As much as I love Joomla!, there is a shortcoming compared to the other two major Open Source PHP CMS, WordPress and Drupal: it doesn't come with a command-line interface like wp-cli or drush. This is a bit of a problem when you're in need of mass-provisioning sites with extensions or updates in an unattended manner. Using a CLI tool is the only way to provide a scriptable, efficient and unattended method of doing so. In this post we'll see a practical way to overcome this limitation.