Coding + Development

Using the Javascript Module Pattern, and more modern JS practices, with Drupal

The JavaScript Module pattern uses immediately-invoked functional expressions (IIFE) that return objects, that include closures. This provides a way of wrapping various public and private methods and variables in a "module". This prevents them from "leaking" into the global name scope and cluttering it up or worse, colliding with other code. With this pattern only a public "API" is returned, while maintaining privacy on everything else. Additionally, I'll discuss how to split up and organize your js files for maintainability and reuse.

Ionic & Angular to make the Pantheon and other Headless Drupal Mobile Apps

Ionic & Angluar are javascript libraries that work with PhoneGap/Cordova to create really fast mobile apps that are compatible both with iOS, Android, and Windows.  I recently built an Ionic/Angluar mobile app to interact with Pantheon development servers that I'll be using to demonstrate throughout this session.  In this session you can expect:

Configuration Collaboration

The Drupal community is great at collaborating on code; we're not so great at collaborating on configration. We've struggled with both the tools and the community processes necessary to work together on configuration as effectively as we work on code. Drupal 8 gives us a solid configuration management platform on which we can build better collaboration tools. With a common configuration API in both PHP and YAML, we now have a shared vocabulary for configuration.

Now we need to build better collaboration tools and also adjust our community process.

Git, beyond the basics

You've been storing your development work in git version control as long as you can remember, but have you learned more than the basics? Time to learn about rebasing commits, using feature branches, and creating pull requests. It's all coming to and is already supported by many SaaS hosting environments. Learn how and why to not commit to master, why you almost never want to use "git pull", and how to avoid those terrible messy merge commit conflicts.


HHVM: Upgrading PHP for Fun and Performance

HHVM is a drop-in replacement for the PHP runtime, initially built by Facebook but now sporting a wide community of contributors as an open-source project. HHVM greatly improves performance and scalability and introduces the possibility of new code features to PHP. Written in C++, HHVM uses a just-in-time compiler to optimize the performance of normal PHP code -- leading to performance gains of anywhere from 50-75% in concurrent requests per second.

Learning Drupal From Scratch - 1yr later

In this session, I will navigate through my journeys starting as an experienced PHP developer not knowing what Drupal was, to working on frontend/backend development on very complex, mission critical sites without freaking out. This session is geared toward developers who have just entered the Drupal ecosystem and are wondering what they’re getting in to and how to start off on the right foot.

Some highlights will include:

Static site migrations: Using Guzzle to scrape an HTML site and prepare it for Migrate

The Drupal Migrate module makes moving into Drupal from another database backed system as easy as it can be.  But what if the site you're coming from doesn't have a database, or doesn't provide access to the database?  In this session, we'll walk through building a static site crawler to scrape structured data off of an existing site and put it into a database for processing with the Migrate module.  The tools I'll be focusing on are:


Subscribe to RSS - Coding + Development