Since we started our long-form Drupal Career Starter Program in 2011, we've always struggled a bit trying to find a single local Apache-MySql-PHP stack that is powerful enough for day-to-day Drupal development, easy to set up, and that works for a wide range of people new to local web development.
We're always on the lookout for a local Drupal development stack that will help to reinforce the lessons and best practices that we strive to instill in all of our students. It's pointless to teach students methods and processes that aren't typically found in the community, so being able to bring students up-to-speed as quickly as possible with things like Drush, Git, and commonly-used workflows is of the utmost importance.
Until recently, we've always had more Windows users than Mac or Linux users (combined!), and usually didn't run into any problems until we introduced Drush, Git, and other Linux-y command line tools, at which point Mac and Linux users spent a lot of time attempting to help Windows users get Drush installed.
When Acquia Dev Desktop 2 was made available, the list of features definitely piqued our interest. Integration with Acquia Cloud is nice (similar to what Kalabox does for Pantheon), but what we were really excited about was the Drush integration.
Since we are using Acquia Dev Desktop 2 for the first time with our 2014 Fall Drupal Career Online program, we thought it would make sense to run through the pros and cons from a training perspective.
The following list of pros/cons is based on Acquia Dev Desktop 2 Beta (Aug 15, 2014).
Holy cow, this is a game-changer for us. Acquia Dev Desktop 2 includes Drush 7.x integration for both Mac and Windows pre-installed. Integration on the Mac is independent of any other Drush installation that already exists on the machine. Integration on Windows isn't perfect (it uses the DOS command window rather than a Linux-style shell), but it is more than adequate for people new to Drupal. In both cases, a Drush prompt can be brought up from the site you're working with in the Acquia Dev Desktop interface.
Easy setup for new site builders
Being able to point someone to a single download link and say "install this" and having a local Drupal site up-and-running in a matter of minutes is a huge advantage when working with students new to Drupal. The ability to jump right in to adding content, exploring Drupal's "big five" fundamentals, and installing new modules before having to describe the parts of an *AMP stack is a huge advantage for instructors. We've experimented with giving all students a Drupal install on a remote server somewhere, but nothing beats a local site (especially where fast, reliable WiFi is a variable).
Easy site importing
The ability to point Acquia Dev Desktop to a local codebase and SQL dump file and have everything "sucked in" and a virtual host record created is also a big advantage when dealing with students new to Drupal. It is vitally important to keep students' confidence levels high, and having to dive deep into the weeds of httpd.conf files in order to import a site can bring a classroom's "flow" to a grinding halt.
No more multi-site
One of my big complaints about the first version of Acquia Dev Desktop was that it used Drupal's multisite capabilities by default for all sites created using the "New site" functionality. While technically fine, I found it to be counter-intuitive for students and not really in-sync with the way that Drupal professionals generally work. Thankfully, this is no longer the case in Acquia Dev Desktop 2.
Acquia Cloud integration
Acquia Dev Desktop 2 (smartly) integrates with Acquia Cloud hosting, allowing site builders the ability to push and pull databases, files, and code between a local site managed by Acquia Dev Desktop 2 and dev/stage/production sites hosted on Acquia Cloud. While this feature requires Git (which doesn't come with Acquia Dev Desktop - it must be installed separately), it does make it quite easy to sync a local site with a dev/stage/production site. From a developer standpoint, this is all good.
Acquia Cloud integration
See what I did there? I actually only have one "con" for Acquia Dev Desktop 2's Acquia Cloud integration from a functionality standpoint - and that is that there are no warnings when a user attempts to push data and/or files from their local up to the dev/stage/production Acquia Cloud sites. Most Drupal developers I know work with a "code flows up, data flows down" mentality, and pushing a local database up is generally not a good practice. It would be nice if Acquia Dev Desktop provided a little "are you sure?" nudge in these situations.
The other issue I have for Acquia Cloud integration is that, from a teaching standpoint, it is too easy to use (stay with me here for a minute). I find that when I teach students the manual way of doing something before the automated way, the students are a lot less likely to get into trouble with the automated way. For example, I always have students download, uncompress, move, and enable contrib modules and themes manually for a couple of weeks before showing them "drush dl" and "drush en". Similarly, when teaching how to move sites around from their local to a server, we'll talk about doing it via FTP (which tends to be the lowest common denominator that everyone understands), but then teach it using basic Git commands with a single branch. So, is this actually a knock on Acquia Dev Desktop 2? Probably not, but as a Drupal trainer, I'll need to be extra-sure that our students learn what is going on under the hood before clicking the "Local workflow" options.
So far, there's a lot to like from a training standpoint in Acquia Dev Desktop 2. I don't use it for my day-to-day consulting work, but for introductory training, I'm not sure there are any other options that are as easy to get set up for such a wide range of users.
Thanks for the great feedback!
I'm Chris Brookins and I run engineering at Acquia. Glad you found Dev Desktop 2 so useful. We are constantly improving it so keep checking for updates. Totally agree we should provide warnings when pushing files or databases up to cloud - we will add that in a future update. Keep the feedback coming and let us know what else we can do. Our aim is to make Dev Desktop 2 the best Drupal local and cloud development stack possible.
Nice summation Mike. As one of your DCO2014 students I feel the minimal time required to get up and running allows for more focus on the "Big Five"
Keep up the great support Acquia.
The Drupal Window users have written detailed instructions for installing Drush 5, 6, and 7 on Windows. Here are three articles that should be of great assistance:
- Installing Drush on Windows
- Installing Drush 7 on Windows 7 and 8.
- Installing Drush 6 on Windows XP, 7, 8 so it runs in a Git Bash Window.
Quite a few people have tested and refined the instructions since they were written. We have installed Drush on XP, Vista, 7, and 8 with little or no problems using the above instructions. The only issue I've run across is sometimes the DOS Path variable does not get updated, but you can fix that manually. For instructions, please see the third article above - Installing Drush 6 on Windows.
The one issue with Drush on Windows is the Window Installer and updates lag behind the Linux releases. However, the above instructions tell you how to manually upgrade Drush on Windows so you too can have the latest release!
And once you have install Drush 7, drush updates are as simple as: