Getting Started with a Real World Application on platform.sh

This is the second in a series of articles involving the writing and launching of my DurableDrupal Lean ebook series website on platform.sh. Since it’s a real world application, this article is for real world website and web application developers. If you are starting from scratch but enthusiastic and willing to learn, that means you too. I’m fortunate enough to have their sponsorship and full technical support, so everything in the article has been tested out on the platform. A link will be edited in here as soon as it goes live.

Diving in

Diving right in I setup a Trello Kanban Board for Project Inception as follows:

Project Inception Kanban

Both Vision (Process, Product) and Candidate Architecture (Process, Product) jobs have been completed, and have been moved to the MVP 1 column. We know what we want to do, and we’re doing it with Drupal 7, based on some initial configuration as a starting point (expressed both as an install profile and a drush configuration script). At this point there are three jobs in the To Do column, constituting the remaining preparation for the Team Product Kickoff. And two of them (setup for continuous integration and continuous delivery) are about to be made much easier by virtue of using platform.sh, not only as a home for the production instance, but as a central point of organization for the entire development and deployment process.

Beginning Continuous Integration Workflow

What we’ll be doing in this article:

Five Things I didn’t know about Platform.sh

I want to share some exciting things I’m only just finding out about Platform.sh (the “Develop, Deploy, Rinse, Repeat” continuous delivery cloud platform for Drupal, Symfony and PHP based projects) that look as if they might have a lot to do with folks finding a straightforward way of enabling a truly Lean process applied to website and web application projects. We’ll cover five things I didn’t know about Platform.sh:

  1. The Standard Platform Workflow is just what modern, serious PHP, Symfony and Drupal developers might expect and can easily be set up for all team members.

  2. The Standard Platform Architecture is container based and scales tremendously well for most use cases.

  3. They don’t use Varnish! They use CDNs (content delivery networks)!

  4. There’s an Enterprise Platform with its own truly scalable architecture and unique benefits

  5. A chance to get a first-hand report from someone actually using the Platform.sh Enterprise Platform.

Historic DrupalCon Amsterdam 2014 – Let’s get to the bottom of Headless Drupal

Let the Debates Begin – Part II

Other articles in this series:

Intro

Whatever it is, and in this article we are going to venture a proposal for a canonical definition, Headless Drupal seems to synthesis a heartfelt need in the context of the current Drupal problematic. It has been a hot subject for quite some time now, with an active group presence on Drupal Groups, and with a veritable avalanche of articles and presentations. Barring the obvious number one topic of Drupal 8 (which we’ll debate in the next article in this series) and successfully competing with “the new PHP” itself as a center of interest, it was really the number one topic at DrupalCon Amsterdam 2014, with training, presentations and at least one very important BOF:

Historic DrupalCon Amsterdam 2014 – Let the Debates Begin – Part I

I really think that a debate needs to continue around Keynote: Dries Buytaert for the purpose of understanding the forces at work competing for the future of Drupal and indeed all open source projects. Leaving to one side without comment the really weird Dries doppelganger designed somehow to elevate the image of one of the sponsors, it was indeed saluted by many as being very special. A glance at the tweets feed for the keynote, for example, (or this one) were by and large ecstatic, and many interpreted the talk as exceedingly progressive. “The power of the people”… #digitaldisruption… “This is @Dries most socialist #Driesnote ever.” “Applause even in the overflow room…” “Most relevant and interesting #DriesNote in a long time. Well done…” “Exciting. The best Dries keynote ever.”

DrupalCon Amsterdam 2014 – Historic Mirror on Drupal’s Future

Drupal has immersed all our lives in the web, and the biggest conclusion we can draw from this DrupalCon is that Drupal in particular and we, as creators and consumers of Drupal, are all being rocked to the core by the fast pace of change in the industry. Changes in the development, scope, architecture, process and workforce dynamics prevalent in the development and acquisition of ever-more complex web applications and systems are rocking Drupal too, and the result is a scrambling for solid footing.

The footing we all find, and the journeys we take to find it, will determine our future.

First and foremost we need to come to grips with the debates, with what is shaping up. We need to learn a lot just to fathom the consensus on what the options are now. Then we must prick up courage and make choices.

But one truth is acknowledged by all: there is no simple and straightforward path forward, from here on in we mix and match, we build on an industry-wide workbench to common standards, or we build not at all. There is no more protective balloon, the big blue bubble has burst, or worse, is in the act of bursting now.

But this is not a bad thing. We just need to keep our heads, even if Drupal cannot. If we can drive @eaton‘s Promiscuous Drupal to its logical limit, if we can Keeping it Simple with @sdboyer we can “bring that knowledge back to the community” no matter what, as @crell guides us through Managing Complexity (be sure to check out his reading list) and the portals decouple, while beset with New Wave PHP, and at every turn: Drupal in the Hip Hop Virtual Machine with the @outlandishjosh.

That’s the intoxication of sampling the key presentations from this historic DrupalCon Amsterdam 2014: let’s find out what it’s all about.

Of course, this is just my own shortlist (grouped by topics, of which, it is worth pointing out, headless is second only to Drupal 8 and way ahead of anything else as a concern), but whether or not I left out any well-deserving items from the list, it’s more than enough to be able to say “Wow, we live in interesting times”.

Keynote

Drupal 8

Headless Drupal

PHP Renaissance

Web Dev Future

Drupal 7

Check some of these out, we need to talk about this over the next few days.

And in later articles and repos, I will be sharing concrete examples of how I am dealing with all of this, and how I am planning, well, my future.

Super simple example of local drush alias configuration

So I have a folder for drush scripts _above_ several doc root folders on a dev user’s server. And I want to run status or whatever and my own custom drush scripts on _different_ Drupal web app instances. Drush has alias capability for different site instances, so you can do:

$ drush @site1 status

So, how to set up an aliases file?

(I’m on Ubuntu with Drush 6.2.0 installed with PEAR as per this great d.o. doc page Installing Drush on Any Linux Server Out There (Kalamuna people, wouldn’t you know it?)).

Careful reading of the excellent drush documentation points you to a Drush Shell Aliases doc page, and from there to the actual example aliases file that comes with every drush installation.

So to be able to run drush commands for a few of my local Drupal instances, I did this:

  • In my Linux user directory, I created the file ~/.drush/aliases.drushrc.php
  • Contents:
<?php

$aliases['site1'] = array(
  'root' => '/home/thevictor/site1/drupal-yii',
  'uri' => 'drupal-yii.example.com',
);
$aliases['site2'] = array(
  'root' => '/home/thevictor/site2',
  'uri' => 'site2.example.com',
);

Then I can do, from anywhere as long as I am logged in as that user:

$ cd /tmp
$ drush @site1 status
...
$ drush @site2 status

and lots of other good stuff. Have a nice weekend.