Jan 13 2017
Jan 13

I'm releasing a new series today!!!!!

Over the last year, I've given a talk at DrupalCon, DrupalCorn Camp, and Drupal Camp Colorado all about using Composer and Configuration Management in Drupal 8. Those sessions were around 45 minutes, which is much too short to go in depth, and explain everything thoroughly.

This series is the answer to that issue.

There is just over 1hr 15min of content in 26 videos that fall pretty well into seven parts. Here's the outline:

Part 1: Intro

Part 2: Installing Drupal 8 Locally

  • Creating a New Drupal 8 Project Using the Composer Template
  • Setting Up MAMP to Serve Your Site Locally
  • Using xip.io for Local Device Testing
  • Creating a Drush Alias
  • Installing Drupal with Console
  • Configuring settings.php and settings.local.php
  • Committing Your Project to Git

Part 3: Using Composer

  • Installing and Uninstalling Modules with Composer
  • Installing the Dev Version of Modules
  • Updating and Downgrading Modules
  • Skipping Specific Module Versions
  • Specifying Acceptable Version Ranges
  • Enabling Modules with Drush and Deciding What Version Pattern to Use

Part 4: Configuration Management

  • Setting the Config Directory in settings.php
  • Exporting Config Locally
  • Using the Configuration Installer Install Profile

Part 5: Installing Drupal 8 on a Remote Server

  • Installing the Site on a Production Server with Composer

Part 6: Overriding Settings in Code with settings.local.php

  • Setting up settings.local.php
  • Changing the Site Name and Disabling CSS Aggregation in settings.local.php
  • How to Enable Theme Debugging on Development Sites
  • Overriding Module Configuration (Like Google Analytics) in settings.local.php

Part 7: Putting it all Together

  • Configuring a Local Site and Exporting it's Configuration with Git
  • Pulling Changes to a Remote Site (And some gotchas)
  • Using Drush Shell Aliases to Make Development Easier
  • Verifying the Changes Made on Local and Reflected on Live

I'm pretty excited to finally have this series out, and hope you enjoy it! Oh... did I mention that it's ABSOLUTELY FREE?!?! Well, it is! So, check it out now, and let me know what you think.

Oct 12 2016
Oct 12
163 Easy Local Development Using Kalabox with Mike Pirog - Modules Unraveled Podcast | Modules Unraveled

Skip to main content

Kalabox

  • What is Kalabox?
  • Brief story on history Kalabox
  • Is there a plan to use the “official” Docker for mac backend instead of VirtualBox?
  • Current update on state of Kalabox
  • How does Kalabox compare with other local dev tools like Mamp, DrupalVM etc.?
    • Specifically: Speed, flexibility
  • Is Kalabox, or will it be usable with server environments other than Pantheon? Ie: Acquia, VPS, PlatformSH

Use Cases

  • Team standardization
  • Fast local dev
  • Automated repeatable tasks
  • Github workflow?
  • Composer based workflow?
  • Our three month roadmap

Tandem

  • You mentioned Tandem in the into, and you gave me a brief description before the show, but can you expand a little bit on what that is?
Jul 13 2016
Jul 13
162 Drupal 8 Enterprise Development with Allan Chappell and David Diers - Modules Unraveled Podcast | Modules Unraveled

Skip to main content

Migration

  • In D7, we used the Migrate Drupal to Drupal module, what’s the case for D8?
    • Speak on pattern of using Migrate Drupal as a basis for a migration.
    • Migration plugins and yml configuration declarations are an improvement on an already excellent module - if you are going to handle migrations like you did in 7 - which might be appropriate depending on your use case
    • Appropriate where you are significantly revising the content model, configuration or site composition.
  • What are some of the pros and cons of the way Migrate Drupal works in D8?
    • Pros
    • Migration of most Drupal settings: registration emails, site name, debug settings, etc.
    • Migration of most fields (work is ongoing to include contrib into upgrade migrations)
    • Migration of all content types with nodes and revisions
    • Cons
    • By default, fixed ids (not ideal for staged work)
    • Miss an opportunity to take out the trash

Configuration management

  • Let’s talk about configuration management. I know from working with you guys that you started out using Features...
    • Tried out a features based approach at first - because it was similar to well established patterns in 7 - but abandoned it for the project
    • Feature branch activity then confex seems to be working out well
    • Configuration import and export has inspired a lot of confidence in getting to known states.
    • The challenge is probably in managing environmental config settings - that’s where Master still might have a place.
    • Using configuration export and import committed to git repo.
    • Challenges of local configuration vs production configuration.
    • Managing code review
    • Automated removal of local configuration
    • Would like to know some other people’s workflows
Jun 30 2016
Jun 30
161 Website Audits and How to Do Them Right with Jon Peck - Modules Unraveled Podcast | Modules Unraveled

Skip to main content

Website Audits

  • What is a site audit?
  • Why would you do one?
  • Intended audience
    • New clients? Existing clients?
  • What are the goals of a site-audit?
  • How do you approach a site audit?
    • What are some other approaches you’re aware of?
  • What tools and techniques do you use?
  • How do you present the results?
  • How often should you do them?
  • What are some things to avoid?
Jun 01 2016
Jun 01
  • Jibran Ijaz ‏@JibranIjaz
    What will happen to the workflow initiative if Drupal shop(s) will stop supporting it? #MUP160

  • Jibran Ijaz ‏‏@JibranIjaz
    How can we make sure that this'll be a community driven initiative not specific to someones requirements. #MUP160

  • Steve Persch ‏@stevector
    Do you anticipate support for making/deploying configuration changes through workspaces? #MUP160

  • Steve Persch ‏@stevector
    @JibranIjaz @dickolsson I'd like part of the answer to be consensus formed around Behat-executable stories/scenarios. #MUP160

  • Justin Ludwig @jludwig89
    Can the Workflow Initiative fit into a multi-site install, where content is to be deployed to more than one site? #MUP160

  • Apr 01 2016
    Apr 01

    I’m really excited about today’s show because this is one of those topics that I know that I need to know, but don’t know where to start. So, I’m super excited that you agreed to come on and teach me what you know about regression testing!

    Regression Testing

    • What do you mean when you say “Regression Testing”?
    • Why is regression testing important?
    • Is there anything to install on your computer? (Testing server)
    • What types of regression testing are there?
      • Unit/Functional (Mocha/Chai)
      • Behavioral (WebdriverIO, Behat)
        • Authenticated/Anonymous
      • Qualitative (Sasslint, JS lint, JSON lint)
      • Performance (Pagespeed, Perfbudget)
      • Visual Regression (wraith, phantomcss, webdrivercss)
        • How does this work on pages that have dynamic content. Homepage photos, comments etc.
    • Where would you start?
      • Front-end
      • Back-end
      • Site-builder

    Where to learn

    Mar 23 2016
    Mar 23
    158 Using the Group module as an Alternative to Organic Groups in Drupal 7 and 8 with Kristiaan Van den Eynde - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Group Module

    • What is the Group module?
      • A really awesome tool to basically create subsites within one site, private content, manage groups of people or all that combined.
    • Why did you create it instead of just using OG?
      • OG DX experience...
    • There are versions for D7 and D8. Which are you more focused on?
    • How is the Group module different from Organic Groups?
      • Good question! The key difference is how the modules decide to structure their data, how that affects the user flow and how the configuration model is built.
    • What is the underlying architecture? OG uses entityreferences heavily. How does Group work?
      • Dedicated Group Entity
    • What’s the status? Is it usable now? (D7 and D8)
      • Available for Drupal 7 and 8, with the 8 version being a large improvement over D7. There’s a few minor things I need to add to the D8 version, but it looks and works great already!
    • Is there much difference between the Drupal 7 and 8 version?
      • Yes and no: the key concept remains the same, but the UX and data model was improved even further. I would really recommend going forward with D8 from now on if you have the chance.

    Use Cases

    • Why should I use Group instead of OG?
      • UX, UX, UX
      • data structure
      • DX
      • But most of all: dedicated functionality, it will all make sense!
    • Users that get something special that you can’t do with Roles
    • Groups of people
    • Groups of content
    • There are so many!!!

    Questions from Twitter

    • Michelle Lauer @bymiche
      How many subgroups can you nest? How are permissions inherited?
    • Michelle Lauer @bymiche
      Can you easily categorize roles within a group?
    • Michelle Lauer @bymiche
      If you have many roles and want to expose them to "managers" - for UX purposes, roles in categories would be easier to look at
    • Erich Beyrent @ebeyrent
      Sounds like a great UX, what about DX - is there a well-defined API as well?
    • Damien McKenna @DamienMcKenna
      Any plans to port some OG modules, e.g. og_menu or og_menu_single?
    • Damien McKenna @DamienMcKenna
      Would it be possible to create og_forum's functionality out of the box or will it require custom work?
    • Damien McKenna @DamienMcKenna
      Are the join forms configurable/fieldable?
    • Ted Bowman @tedbow
      Interested in this. Can you add fields to a membership?
    • Erich Beyrent @ebeyrent
      What doesn't Groups do? Are there features that you feel need to be added before 1.0 release?
    Mar 09 2016
    Mar 09
    157 The Drupal 8 Port of Advagg with Nick Wilde - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Advagg

    • First, can you give us an overview of what Advagg is?

    The Drupal 8 Port

    • Are you the main maintainer of the D8 version?
    • What was the porting process like?
    • What features are in the Drupal 8 version right now?
    • What's the status of the Drupal 8 version?
    • Do you know of any compatibility issues with other modules?
    • What do you have planned for the future?
    Feb 18 2016
    Feb 18

    Here's the issue

    If you're using MAMP, you might have experienced an issue where a website loads just fine in the browser, but when you try to use a Drush command, you get an error like the following:

    exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in core/lib/Drupal/Core/Database/Driver/mysql/Connection.php:146

    To be completely honest, I'm not sure what causes this issue. I think it has to do with the way Drush accesses MySQL. As far as I can tell, Drush is trying to access the system MySQL, instead of the one that comes with MAMP.

    Here's the fix!

    Luckily, this can be easily fixed by changing:

    'host' => 'localhost',

    to

    'host' => '127.0.0.1',

    and/or by adding the following line to the database credentials in your settings.php (or settings.local.php) file.

    'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',

    Example

    So, for example, if your database credentials look like this in settings.php:

    $databases['default']['default'] = array (
      'database' => 'drupal',
      'username' => 'root',
      'password' => 'root',
      'prefix' => '',
      'host' => 'localhost',
      'port' => '3306',
      'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
      'driver' => 'mysql',
    );

    Change it to this (differences highlighted for clarity):

    $databases['default']['default'] = array (
      'database' => 'drupal',
      'username' => 'root',
      'password' => 'root',
      'prefix' => '',
      'host' => '127.0.0.1',
      'port' => '3306',
      'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
      'driver' => 'mysql',
      'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
    );

    With those updates in the database settings, Drush should work as expected!

    Hope that helps!

    Feb 17 2016
    Feb 17
    156 Using BigPipe to Achieve Incredible Site Speed in Drupal 8 with Wim Leers - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Big Pipe

    • What is Big Pipe?
    • This isn’t a Drupal specific thing right? Where did the idea of BigPipe come from?
    • How does it work?
      • Builds on Drupal 8’s caching system, specifically cacheability metadata (tags, contexts, max-age)
      • Rendering system (bubbling, placeholders)
      • page cache / dynamic page cache
      • BigPipe is built ON TOP OF ALL OF THE ABOVE
    • Does it work for anonymous and authenticated users?
    • Is this compatible with reverse proxies like Varnish?
    • Does BigPipe affect the need for something like redis or memchache?
    • How does BigPipe relate to authcache?

    Use Cases

    • How can we start using it? What’s the install process?
    • What do we need to do to configure it for our site?
    • Is BigPipe ready to be used?
    • Is there anything like this for Drupal 7?

    Questions from Twitter

    • Daniel Noyola @danielnv18
      What can I do to make my site compatible with BigPipe? O what shouldn't do?
    • Daniel Noyola @danielnv18
      Is it compatible with contrib modules like panels or display suite?
    • Ryan Gibson @ryanissamson
      I may have missed it, when BigPipe is included in D8.1, will it be enabled by default?
    • TheodorosPloumis @theoploumis
      Is the bigpipe caching working with the RESTful responses?
    Feb 10 2016
    Feb 10
    155 Using the Block Visibility Groups Module as a Lightweight Replacement for Context and Panels in Drupal 8 with Ted Bowman - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Scheduled Updates

    • What is the Scheduled Updates module?
    • How does it differ from the Scheduler module?
    • What are some of the use cases? What types of updates can be scheduled?
    • Is it ready to be used?

    Block Visibility Groups

    • What is Block Visibility Groups?
    • How does it differ from Context and Panels?
    • Do you intend it to be a replacement for context?
    • When would you use it instead Panels
    • What are some example use cases?
    • How does it work with other D8 block-related modules?
    • Is it ready to be used?
    Feb 03 2016
    Feb 03
    154 Commerce 2.x for Drupal 8 with Bojan Zivanovic - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Commerce 2.x for Drupal 8

    • What has been the biggest success of Commerce on D7?
      • By starting from scratch on D7 technologies we created a solution that is intuitive to Drupal developers and easier to extend. And with 60k installs, we’ve set a record for ecommerce on Drupal in general.
    • And what do you think have been its biggest weaknesses?
      • Not prioritizing UX from the start. Took us a year after the 1.0 release to create Inline Entity Form and recreate the admin screens as a part of the Kickstart. At that point many people already had the impression that Commerce was hard to use.
      • Not providing enough direction to developers. Flexibility is important, as is having unopinionated code. But developers also need to have a clear and obvious path forward. Having an opinionated layer on top, with sane defaults, can save a lot of development time and prevent frustration.
      • Not prioritizing certain features, leaving them to contrib instead. Modules that make up the checkout ux (checkout progress, checkout redirect, addressbook), discounts. Of course, all generals are smart after the battle.
    • How has that influenced the development of Commerce 2.x?
      • With Commerce 2.x we once again started from scratch, evaluating all feedback received in the 1.x cycle. We decided to address all three of these major points.
      • Better UX means paying more attention to the product and order admin experience, as well as providing better checkout out of the box.
      • Better APIs means doing more work for the developer, especially around pricing and taxes.
      • And finally, we’re growing the core functionality. We’re expecting a dozen contrib modules to be no longer needed, as we address edge cases and add functionality.
    • What are some of the biggest new features of Commerce 2.x?
      • Multi-store will allow people to bill customers from different branches (US and FR offices, for example), or create marketplaces like Etsy.
      • Improved support for international markets means better address forms, better currency management, and significantly better tax support, the kind that will reduce the need for people to use cloud-based tax solutions, at least in Europe.
      • Support for multiple order types, each with its own checkout and workflows will allow developers to create tailored experiences for different kinds of products, such as events, ebooks, t-shirts.
      • An integrated discounts UI means more power to the store admin.
      • And this is just the beginning. Under the hood there are many small features and improvements, over both 1.x and Kickstart.
    • What has Commerce done to integrate better with the PHP and Drupal communities?
      • We’ve created several independent ecommerce libraries, attacking currency formatting, address management and taxes. These libraries are now being adopted by the wider PHP community, bringing us additional contributors.
      • On the Drupal side we’ve joined forces with the Profile2 team, creating the D8 Profile module that we’ll use for customer profiles. We’re also depending on Inline Entity Form, which is now shared with the Media team. We’re also moving some of our generic entity code into a new Entity API module, maintained together with Daniel Wehner and other community members.
      • Finally, we have been champions of Composer, the replacement for Drush Make, and required for any module that depends on external libraries.

    The Future of Commerce 2.x

    • Commerce 2.x is now in alpha2. What’s included? What’s next?
      • Alpha2 includes stores and products, as well as initial order and cart implementations.
      • It also has functional currency management and formatting, address and profile management.
      • Alpha3, to be released in the next two weeks, is focusing on completing the order and cart implementations, and adding the initial checkout implementation.
      • Post-alpha3 our focus will be on discounts, taxes, and finally, payments.
      • The best way to learn more about this is to read the drupalcommerce.org blog, where I post “Commerce 2.x stories” detailing work done so far. We have several new posts planned for february.
    • When can we expect Commerce 2.x to be production ready?
      • Our current goal is to release a production ready beta by end of march. We should also have Search API and Rules by then. Leading up to DrupalCon New Orleans we’ll be helping the community implement shipping and licensing and port payment modules. At the same time, we’ll be focusing on reaching RC status.
    • What’s the status of commerce contrib? Like PayPal, Authorize.net, etc.
    • How can the community help?
      • Each new alpha welcomes more manual testing and feedback.
      • We also have office hours every wednesday at 3PM GMT+1 on #drupal-commerce where people can discuss code and help out on individual issues.
    • Do you feel that requiring Commerce to be installed via Composer will impact adoption?
      • The average developer is already familiar with Composer and will benefit greatly from it, just like D7 developers benefited from Drush Make. Getting Drupal, Commerce, and all dependencies is a single Composer command, as is keeping it all up to date.
      • People unwilling to run Composer on their servers can run it locally and commit the result.
      • I’m also hoping we’ll be able to offer distribution-like tarballs on either drupal.org or drupalcommerce.org as we get closer to a release candidate.

    Questions from Twitter

    • howdytom ‏@howdytom
      Commerce Kickstart provides a great toolset with basic configuration. Is there a plan to do a Commerce Kickstart for Drupal 8? If not, will Commerce provide more out of the box solutions for a full featured shop?
      • Commerce Kickstart had several parts.
      • The first one was about providing better admin and checkout UX, as well as discounts. That’s now handled by Commerce out of the box.
      • The second was about providing a demo store with a developed set of frontend pages. That’s going to stay in contrib and will greatly benefit from the flexibility introduced by Drupal 8 and CMI.
      • It’s too early to plan a distribution yet. Drupal 8 has almost no contrib, and drupal.org doesn’t support using Composer to build distributions yet.
      • However, we are using Composer to provide single-command site templates, the kind that gives you Drupal core, Commerce and other modules. This will allow us to provide good starting points for different use cases, similar in nature to Commerce Kickstart 1.x.
      • Once 2017 comes around, we’ll investigate next steps.
    • Jimmy Henderickx ‏@StryKaizer
      In commerce d8, will it be possible to alter a product name dynamicly (either by hook or other solution)?
    • Czövek András ‏@czovekandras
      Any plans making iframe payment methods 1st class citizens? Thinking of running checkout form callbacks.
    • Marc van Gend ‏@marcvangend
      How did D8 architecture change the way you code your modules?
    Jan 27 2016
    Jan 27
    153 Protecting Drupal 8 Sites From Spam Using Honeypot with Jeff Geerling - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Honeypot

    • What is the Honeypot module?
    • What prompted you to contribute the Honeypot module? Why was it originally created?
      Flocknote (two employers ago) user registration
      A bunch of my blogs / comments
    • What methods or techniques does honeypot use to detect bots?
      A literal ‘honeypot’
      Time delay
    • What types of foms can it protect?
    • What’s different about Honeypot vs. other spam prevention modules like CAPTCHA and Mollom?
      Avoid punishing the user (explain)

    Drupal 8 and Future of Honeypot

    • How did the port of Honeypot to Drupal 8 go?
    • Have you started developing new sites in Drupal 8? And if so, how’s that going?
    • How have spammers adapted to tools like Honeypot, and how do you try to keep ahead of them?” “More spam getting through Honeypot lately” (https://www.drupal.org/node/2646380)

    Community Issues

    • You’re also involved a bit in other open source communities for projects like Ansible. How does the Drupal community compare? What are some things you would like to see improved?
    • Is there anything you’ve done to make sure you can continue to maintain this open source project among many others both on drupal.org and github, and not get burned out?
    Jan 25 2016
    Jan 25

    Have you started working with Drupal 8 yet? If so, you might have noticed that Drush 7 doesn't play nice with Drupal 8. And if you install Drush 8, that won't work with your Drupal 7 sites. Yikes!

    Have no fear!

    Here's how to install BOTH Drush 7 and Drush 8 AND have each project automatically use the version that corresponds to that install. It's stinkin' awesome!

    (The following is an combination and adaptation of techniques I learned from two blog posts. Both were a bit outdated when I came across them, so I've updated the techniques here. The first is a Lullabot article, and the second is on the Triquanta blog)

    Uninstall existing Drush instances

    Okay, the first thing you'll want to do is uninstall every version of Drush that you already have installed. This process varies depending on how you installed it, but for example, if you installed with homebrew, the command would be something like brew remove --force drush.

    Install Composer

    We're going to install multiple versions of Drush using Composer, so we need to make sure you have that installed first. Detailed instructions on how to install Composer globally are on their website, but here's the gist.

    curl -sS https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer

    Note: If this fails due to permissions, run the mv line again with sudo. You may also have to create the /usr/local/bin directory first, depending on your existing system.

    • To confirm composer was successfully installed, type composer --version and you should see something like "Composer version 1.0-dev (...) 2016-01-20 11:17:40"

    Install Drush 8

    Okay, let's install Drush 8!

    cd /usr/local/bin
    mkdir drush-8
    cd drush-8
    composer require drush/drush:8.0.x-dev
    ln -s /usr/local/bin/drush-8/vendor/bin/drush /usr/local/bin/drush8

    • The "composer require..." line will download the latest dev release, you could replace "8.0.x-dev" with "8.0.2", for example, to download that specific version.
    • The "ln -s..." line creates a "symbolic link" called "drush8" in the /usr/local/bin directory to the location where Drush 8 is installed. This means that we can call it from anywhere on the system by typing "drush8 --version", for example.

    Easy!

    Install Drush 7

    Now, we'll install Drush 7!

    cd /usr/local/bin
    mkdir drush-7
    cd drush-7
    composer require drush/drush:7.x-dev
    ln -s /usr/local/bin/drush-7/vendor/bin/drush /usr/local/bin/drush7

    • The "composer require..." line will download the latest dev release, you could replace "7.x-dev" with "7.1.0", for example, to download that specific version.
    • The "ln -s..." line creates a "symbolic link" called "drush7" in the /usr/local/bin directory to the location where Drush 7 is installed. This means that we can call it from anywhere on the system by typing "drush7 --version", for example.

    Create Shell Script to Automatically Select Version Based on Git Config

    Now, if you're already used to typing something like "drush --version" (without the specific version number), remembering to use it can be a little cumbersome, so now, we're going to create a little shell script that will automatically use the correct one for each project based on a git config variable that we set.

    cd /usr/local/bin
    vi drush

    • Press the "i" key to enter "insert" mode
    • Paste the following

    #!/bin/sh
    version=$(git config --get drush.version)
    if [ "$version" = '7' ];
    then
    drush7 "[email protected]"
    else
    drush8 "[email protected]"
    fi

    • Press "esc", then type ":wq" and press "enter" to save and quit this file
    • Type chmod +x drush (This makes the "drush" script we just created executable.)

    Now, when we type a command like "drush --version" it will use Drush 8 by default. In order to use Drush 7, we need to set a configuration variable in the git repo of the project that should use it.

    Set Drush 7 as the Required Version for a Project

    cd /path/to/project
    drush --version
    git config drush.version 7
    drush --version

    • The first time you run "drush --version" it should return something like "Drush Version : 8.0.0-rc3" showing that you're using Drush 8
    • The "git config..." line declares that you want to use Drush 7 for this project
    • The second time you run "drush --version" It should show somethign like "Drush Version : 7.1.0". If so, you're all set!

    YAY!!!

    You might want/need to close and re-open all terminal windows to make sure it takes effect.

    If you have any questions about, or issues with, this setup, let me know in the comments!

    Jan 20 2016
    Jan 20
    152 What to Do About Drupal 6 End of Life on Feb 24th 2016 with David Snopek - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Drupal 6 End of Live

    • What does Drupal 6 EOL mean?
    • When is Drupal 6’s End-Of-Life (EOL)?
      • February 24th
    • Why is support for Drupal 6 being dropped by the Drupal project in the first place? (ie. why does our community even do this?)
      • What makes Drupal 6’s End-of-Life (EOL) different than previous ones (ie. Drupal 5)?
    • What, specifically, will happen after February 24th?
      • All D6 modules will be marked as “unsupported” on Drupal.org - which will mean the ‘update’ module will start telling you that ALL your modules are out-of-date
      • Also, the status information that the ‘update’ module uses could go away at any time - so, you’ll no longer be able to rely on that in general (myDropWizard or another vendor MAY create a replacement for the ‘update’ module…)
      • The Drupal security team will no longer be making Security Advisories (or coordinating security releases)
      • In general, most module maintainers will no longer pay attention to Drupal 6 issues and will stop making new releases
    • What should people with Drupal 6 sites do?
      • Archive the site, or
      • Plan upgrade, and
      • If you can’t upgrade by February 24th, buy Drupal 6 Long-Term Support from one of the “official” vendors:
        • https://www.drupal.org/node/2646980
    • What makes the “official” vendors special (vs. any other vendor)?
      • Get confidential information from Drupal security team
      • Agree to follow security team processes and release all security patches publicly
      • Were vetted by the Drupal security team
    • How will the Drupal 6 LTS work?
      • Same process as security team - but work done by vendors rather than security team
      • Will publish patches on the D6LTS project:
        • https://www.drupal.org/project/d6lts
      • Likely, but not 100% decided:
        • Announce new patches on the D6LTS issue queue
        • Make new Pressflow 6 releases with the Drupal core patches
    • So, can the community get this without working with a vendor?
      • Yes!
      • But each vendor only supporting those modules their customers depend on
      • And what about security issues that hackers find first?
    • What does myDropWizard.com do? And how is your offer different than the other vendors?
      • “myDropWizard.com provides 24/7 support and maintenance from Drupal experts for a fixed monthly fee. We keep your site online, up-to-date and secure!”
      • Our Drupal 6 Long-Term Support offer:
        • http://www.mydropwizard.com/drupal-6-lts
        • making security fixes
        • fixing bugs
        • performing one-off maintenance and support tasks on request
        • getting your site back online in the case of an outage, and
        • remediation if your site gets hacked.
      • Basically, keep your site online and secure until you’re ready to upgrade - and we can help with a D7 or D8 upgrade as well
    • Technical questions about how we do what we do?
    • Your offering includes a whole bunch of stuff! Why don’t you have a “security updates only” offering?
    Jan 13 2016
    Jan 13
    151 Using Composer to Build Drupal Sites Fast - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Composer

    • What is composer?
      • Dependency Manager for PHP
    • How does it relate to Drush Make?
      • Surprisingly similar
      • “Getting off the island”
    • What can you do with composer on a Drupal site?
      • download dependencies, drupal modules, themes, profiles, drush, external libraries etc
    • How do you download contrib modules?
      • https://packagist.drupal-composer.org/
    • How do you download contrib themes?
    • Can you specify where to download project? ie: modules/contrib and modules/custom?
      • composer/installers & davidbarratt/custom-installer
    • Where do you store custom modules/themes?
      • Two methods: Committing to your repo or creating separate repos
      • Reference repo in you composer.json
      • Toran Proxy
      • davidbarratt/custom-installer
    • How can you specify and download a library to go with a module?
      • module should specify it in composer.json
      • if not submit a patch, and add to your composer.json for now
    • Patches
      • cweagans/composer-patches

    Use Cases

    • drupal/drupal vs drupal/core
      • http://cgit.drupalcode.org/drupal/tree/composer.json
      • If you want to use the project-repo/web
      • composer create-project drupal/drupal
    • Composer template for Drupal Projects
      • https://github.com/drupal-composer/drupal-project
    • Build sites from scratch with composer install
    • Update drupal/modules/themes/etc. with composer update
    Oct 14 2015
    Oct 14
    150 What You Need to Know About Theming in Drupal 8 with Lewis Nyman and Morten DK - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Project

    • Drupal8 theming - why we did it
    • Plan for the unknown (responsive 2.0 how can we make D8 move forward & not break everything.
    • Seven theme & usability improvements in Drupal 8
      • Were you involved with Seven in Drupal 7?
      • What are your thoughts on alternate admin themes like Adminimal?
    • CSS architecture in Drupal 8
    • Classy & Stable theme
      • Why you should always use a base-theme

    Use Cases

    • How do the changes affect people who want to create custom themes and base themes?

    Questions from Twitter

    • Eric J. Gruber
      Everything, really.
    • Dragan Eror
      How to remove query string from the end of CSS link, so I can enable browser's live reload? #MUP150 #drupal8
    • Eric J. Gruber
      What are some common hooks have changed from D7 to D8 that we need to be aware of?
    • Tamás Hajas
      Example about how can the new Stable theme help the work of frontenders. #MUP150
    • Tamás Hajas
      Status and future of core themes. #MUP150
    • why isnt seven called 8 ;)
    Oct 12 2015
    Oct 12

    In order to produce training and informational material on Drupal 8, I'd like to know what's keeping you from using Drupal 8 right now.

    Please answer this ONE QUESTION survey to explain the biggest issue, concern or other reason you're not using it already.

    Thanks!

    -Brian

    Sep 23 2015
    Sep 23
  • For people who might not know, what is a Drupal distribution?

    • Out of the box, vanilla Drupal doesn’t do much - you have to install modules and mold it into what you want
    • A distribution is Drupal prepackaged with contrib modules and themes, pre-configured for a specific use case (OOB, X+Y)
  • What is Panopoly?

    • A “starter site” distribution (replacement for vanilla Drupal)
    • A “base distribution” on which to build other distributions
    • A set of Features modules that can be used outside of Panopoly
  • Why would someone want to use Panopoly instead of vanilla Drupal?

    • Improved blank slate
    • Includes some the most popular modules and configuration that almost everyone is using anyway
    • Hide Drupal-isms from site managers and users
    • WYSIWYG, Media, responsive layouts, edit in place, live previews, improved search, UX improvements, a11y improvements
    • Include a bunch of stuff backported from D8: toolbar, responsive bartik, etc
    • Unified content/layout management system built on Panels eco-system
    • Rather than learning all that community knowledge over, re-use a well thought out, tested approach to doing Drupal
  • Some people love Panels, but others hate it. Why would someone who isn’t a “Panels lover” want to use Panopoly?

    • Best of Panels eco-system
    • You build with Views, Entities/Fields, custom code, whatever - the Panels bits tie those things together and allow users to customize them
    • We hide the nastiest bits (page_manager UI) from users and site managers
  • Why would someone want to create their own distro?

    • Boilerplate, build once / deploy lots, maintenance of lots of sites
    • Even small organizations can benefit
  • What advantages do you get by build your distro on Panopoly?

    • Like “base theme” shared work (like WYSIWYG, responsive, etc) and defined approach
    • Focus only on the unique stuff in your distro (by fitting into Panopoly’s architecture)
  • Why would someone want to use one of Panopoly’s Features modules outside of Panopoly?

    • [Quick background on Feature]
    • Dozen or so features
    • If like just a piece of Panopoly (ex. panopoly_wysiwyg) you could steal it!
    • Lots of thought into buttons to enable, filtering for control/security, additional features like Media/Linkit
  • Updating distributions can be hard. What does Panopoly do to help with this?

    • [explain why hard]
    • Docs
    • CI
    • distro_update
  • Security updates in particular can be hard, because you have to wait for the distro to make its own update. How does Panopoly handle them?

    • [mention how handled in the past / security team]
  • What are the plans for Panopoly in Drupal 8?

  • Sep 09 2015
    Sep 09
    148 Getting Up to Speed with Drupal 8 with Michael Marzovilla and Nick Selvaggio - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Drupal 8 from a site-builder’s perspective

    • What makes Drupal 8 different from Drupal 7 and other previous versions?
    • What about Drupal 8 are you most excited about?
    • What contributed module(s) are you most excited to see for D8?

    Drupal 8 from a developer’s perspective

    • What makes Drupal 8 different from Drupal 7 and other previous versions?
    • What about Drupal 8 are you most excited about?
    • What’s making developing contributed modules better from your perspective?

    StackStarter and TryDrupal8.com

    • What is StackStarter?
    • What is TryDrupal8.com?
    Sep 02 2015
    Sep 02
    147 - Using Drupal Console with Drupal 8 with Jesus Manuel Olivas - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Drupal Console

    • What is Drupal Console?
      • It is a suite of tools that you run on a command line interface (CLI) to generate boilerplate code and interact with a Drupal 8 installation.
    • How is it different from Drush? And are there overlapping features?
      • There are many similarities between these two tools, but the main difference is how it was built, using an object-oriented architecture and Symfony components.
    • Will we continue to use both? Or will Drupal Console replace Drush?
      • I think we will keep using both at least for now and maybe at some point we can merge both tools.
    • What are some of the things that you will keep using Drush for in Drupal 8?
      • Site alias (sync, backup), download modules, installing the site.
    • Are you planning to introduce those features into Drupal Console?
      • Yes we are actually working on site alias.
    • What are some things that Drupal Console can do that Drush can’t?
    • Who is the intended audience of Drupal Console?
      • You can use Drupal Console to help you developing faster and smarter with Drupal 8
      • Developers and SiteBuilders since you can Generate code and files required by a Drupal 8 module and Interacting with your Drupal installation (debugging services, routes) you can put your site in Maintenance mode or Switch system performance configuration.
      • But you can use this tool to Learn Drupal 8.
      • We are also working on a GUI so if you are afraid of CLIs we will provide a web site you will be able to use and select what you want to generate (module, controller, services, blocks, entities, etc…) and generate and download the generated code.
    • Would it be fair to say that right now, it’s most useful to developers who are actually writing code, while later, it will also be useful for sitebuilders who are used to using Drush to create site, install modules and themes, and perform routine tasks?

    Use Cases

    • What are some things you can do with DrupalConsole?
      • Drupal Console help you developing faster and smarter with Drupal 8.
      • Generating the code and files required by a Drupal 8 module.
      • Interacting with your Drupal installation.
      • Learning Drupal 8.

    Updates and Future

    • You were on the Drupalize.me podcast back in February talking about Drupal Console, what are some of the improvements that have been made since then? (Especially with Drupal 8 progressing the way it is.)
    Aug 26 2015
    Aug 26
    146 Drupal Update Automation and Drop Guard with Manuel Pistner - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Update Automation

    • I’d like to talk a little bit about automation processes in general before we jump into Drop Guard, if that’s okay. What types of things are we talking about updating? Server configuration? Drupal projects? Deployment?
    • What are some of the technologies you were using before developing Drop Guard? Maybe the underlying pieces that make up the Drop Guard architecture.

    Drop Guard

    • What is Drop Guard?
      • Simply put, Drop Guard is a service to automate Drupal updates with seamless integration into development and deployment processes. Drop Guard helps Drupal shops and other Drupal support and service providers to automate their update work. In case of critical security updates Drop Guard will update the site automatically within 1 hour. This makes the operation of a site more secure and reliable and makes Drupal updates a full part of the development process.
    • You said it’s “integration into development and deployment workflows.” What do you mean by that?
      • Drop Guard works simply as a dedicated team member that is responsible for applying updates in the development as well as in the maintenance and support life-cycle of a project. You can configure Drop Guard to work with any hosting provider and with any team workflow. Drop Guard can execute different Rules-Based commands to trigger deployment actions just as a real team member would do it on manual update work.
    • How granular can you get with updates? Security only? All updates?
    • How does Drop Guard actually work? Is there a module to install? Server setup?
    • What happens if a bug is introduced with an automatic update? Is there a process to notify the developer?
    • Who is Drop Guard designed to be used by?
      • Drop Guard is designed to help Drupal agencies and freelancers to deliver Drupal update services automatically. Every Drupal shop can use Drop Guard as a white label service to deliver update services to their clients as part of support contracts. For end users that don’t understand the processes behind deployment and developement deeply enough, the service is too complex but Drupal shops will definitely benefit from additional developer time that they can save for their project business.
    • What prompted you to start building the Drop Guard service? And when was that?
      • We started with the base technology in 2012 to build a system for our internal support contracts. We had the need to automate recurring things and ensure that our SLAs for security patches are processed reliably. When Drupalgeddon shocked the Drupal world and many sites had to be patched in a very short period of time, we already had the benefit of automated updates for our supported projects. At this point I realized that the system might have a benefit for other Drupal shops. So Drop Guard has its birthday with Drupalgeddon :-)
    • Do you have any insights of the roadmap of Drop Guard?
      • Sure! Currently we are in an internal Beta phase. That means we harden the service with some trusted users and we will add more beta users each week till the end of September.Then we will open Drop Guard for a public Beta version where everybody that is interested can start using the service with the help of our support team. I am sure that there are many usability issues we will face as the high flexibility results in a more complex configuration processes. But thanks to our current beta users we were able to address and fix many of them till now. Also the Feedback from Drupalcon Barcelona visitors will be an important milestone for us.
    • Does this work with all hosting providers? (VPS, Pantheon, Platform.sh, Acquia cloud etc.)
    • What does the pricing structure look like after the beta period?
    • You mentioned there’s an incentive for people to get involved with the beta now. Do you want to talk about that?
    Aug 19 2015
    Aug 19
    145 Project Workflow and Drupal Issue Queues with Joshua Mitchell - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Drupal.org

    • Prioritizing work on Drupal.org Drupal.org Roadmap
      • Unblock Drupal 8
        • DrupalCI - testing infrastruture for Drupal code
        • Localize.drupal.org upgrade to D7
      • Improve search
      • Implement new documentation section and tools
    • Two Factor Authentication
    • Issue Credits
    • Funding work
      • D8Accelerate
      • Ongoing Funding

    Work that is coming later

    • Work that is coming later

    Questions from Twitter

    • hussainweb
      I think a hierarchical menu system has it's place - Gives a continuity and mark progress if you want to read a topic. #MUP145
    • hussainweb
      Can you attribute different patches in a single issue - some to the organization and some as a volunteer? #MUP145
    • hussainweb
      Some issues get abandoned after some work. Is that never counted? #MUP145
    • Paulius Pazdrazdys
      How much Drupal.org forums are being used? Maby you are thinking to more question -> answer model as stackoverflow has? #MUP145 (Issue about the subject - Petition to move forums to Stack Exchange)
    Aug 12 2015
    Aug 12
    144 Using the Open Sourced Red Test Framework Instead of Simpletest for Faster Drupal 7 Testing with Neerav Mehta - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Automated Testing

    • Before we actually get started talking about Red Test, can we take a step back and talk about what automated testing is in general?
      • I am sure you are all aware of manual testing and QA. Once you build a site or a feature in the site, you go to the browser and test it out. As an example, you added a workflow to your blog post. You will go to the browser and test whether the blog you create gets the draft state. Then you will log in as an editor and you will move it to published state. Now you will log out and check whether the blog post is visible to anonymous users. What you are doing is manual testing. It works very well for smaller projects.
      • For bigger projects, and especially for projects with multiple developers, what starts happening is adding a feature may break an older feature. Let’s take the example above. Earlier all the blog posts used to be published by the writer directly as soon as he saved the form and an email used to go out to all your blog subscribers that a new blog has been created. Now after adding the functionality to save the blog post as a draft state, you want the email to go out only after the blog post has been published. Suppose the developer changed and tested the workflow functionality without changing the email sending rule and pushed the feature to live site. You will soon be flooded by complaints from your blog subscribers.
      • This is a very simple example but such problems increase exponentially when the software grows in size over time. Such problems can be prevented by having automation testing in place. For each feature in your software, you write test code and you run all these tests often, and especially after working on a feature. You push your new feature to production only after all the tests pass. This way, as long as you have ample test coverage, you minimize your chances of finding a bug on the production site.
    • Who generally does this testing, the developer? site-builder? site-owner?
      • There are different schools of thought here. In practice, I have seen two different approaches:
        • If you are following test-driven development, then the developer writes these automated tests. In fact, he writes the tests before he even writes the code for the feature and makes sure that the tests fail. Then he implements the feature and makes sure that all the tests pass. In our company, our developers write the tests but that’s usually done after he has implemented the feature. We are experimenting with test driven development as of now.
        • The other approach I have seen in having a separate QA team for testing. They write automated tests as well as do manual QA. The advantage of this approach is that you can hire QA person, who is usually much cheaper than a developer. The problem I have seen in this approach is miscommunication between the developer and tester. Because of the delay due to communication and also since tester writes the tests after developer has completed the task, as compared to in parallel, it takes more time for a feature to get out of the door.
    • What do these automated tests test for?
      • Ideally everything but practically that’s not possible. As everything in life, this follows pareto rule. 20% of tests will cover 80% of the functionality and you should definitely write these 20% tests. In addition to that, we follow a rule that no bug should appear on production twice. So if a bug is found on production, we write an automated test for it so that it doesn’t appear on production again. What these tests should cover is very dependent on your application. If you are building an information blog site with a beautiful theme and you are making changes mostly to the theme, then you should write regressions tests for your CSS and JS. On the other hand, if your site has a lot of custom business logic, access permissions and rules, then focus on testing the logic.
    • I always assumed tests were for functionality, can you give me an example of something you would test on the theme layer?
    • I have to admit that I haven’t ever written an automated test for any of the sites I’ve built. I did have an experience a little over a year ago where the videos on my site (that were supposed to be behind a pay-wall) weren’t because I made a change to panels that messed up the access control. I didn’t realize it for two months! So, if I had had tests in place to check the access to those videos, I would have been in better shape. So, even though my site is a small site in the grand scheme of things, even I can bennefit from writting appropriate tests.

    RedTest

    • Red Test, as I understand it, is an open source integration testing framework for Drupal that you developed at Red Crackle. Can you tell us briefly what it does and why we should use it?
      • Red Test is an open-source integration testing framework for testing your Drupal applications. If you have multiple developers working on a big Drupal application stretching into months, you know that you need automated testing to keep adding more and more functionality without breaking old code. Red Test is ideal for testing:
        • Site structure and configuration
        • Custom business logic of your application
        • User access, roles and permissions
        • Rules
    • Drupal 7 supports Simpletest by default. Simpletest has unit testing and functional testing. Why do we need another automated testing solution? How is Red Test different from Simpletest and why should people use it?
      • You correctly mentioned that Drupal 7 supports Simpletest by default. In real life, when you are working on a big project, there are quite a few challenges when you test Drupal sites.
        • Drupal assumes that there is a persistent database connection available so any hook or function is free to access the database at will. This means that any function that accesses the database, unit testing is not possible. You can obviously refactor your code but that takes a long time. Also since Drupal stores all the configuration in the database, most of your custom code will need to access the database anyway.
        • For every test, simpletest creates a new test environment that has only minimal modules enabled. So if you want to test your current site with all the configuration, you have to first set all that configuration in code and then run the tests. That is too much of an overhead.
        • Functional testing in Simpletest is very slow because it uses a headless browser and every request needs to bootstrap Drupal. It’s not uncommon for a test suite on a large site to take multiple hours to finish.
      • Red Test alleviates these problems. It is an integration testing framework so it tests your site with the current configuration. It actually depends on the database so there is no need to refactor your code to make it work with Red Test. In fact, Red Test code is totally separate from Drupal code. We have created Red Test so that it runs in parallel on multiple processors of your machine and bootstraps Drupal only once at the start so it is 60 times faster than Simpletest.
    • A lot of Drupal developers have started using Behat which helps in testing your site functionally through a browser. With Behat gaining traction, is there still a need for Red Test?
      • Behat is an excellent tool and in fact, we use it in addition to Red Test. Since Red Test is an integration testing framework written in PHP and resides on the server, it can’t really test the javascript. So wherever JS functionality needs to be tested, Behat is the right tool. On the other hand, for testing all the other business logic in the application, we use Red Test. If you have used Behat on a big project, you will know that creating and especially maintaining Behat tests takes a long time. Every time an HTML id changes, Behat test needs to be changed.
      • Similarly, when you add a new required field in a form, Behat test needs to be updated to fill that field in the form. Red Test, on the other hand, knows about Drupal and its entities, nodes, people, roles and permissions. So it does a lot of tasks automatically in the background. As an example, if you added a new required field to a node form, Red Test will automatically fill suitable values in that field without you having to change anything in your tests. This makes it very easy for you to create and develop tests on Red Test.
      • In fact, we have done some measurement over the last couple of months and found that with the latest version of Red Test, creating and developing automated tests takes about 12% of total development time.
    • Is it easy to get started with writing automated tests using Red Test?
      • Yes, we are using all the standard PHP tools so it’s pretty easy for a developer to get started. Red Test uses Composer for installation and is based on PHPUnit. In fact, we measured how much time it takes a newbie to create the first integration test using Red Test and it comes to be a little less than 15 minutes. Below is the blog post you can follow to get started: http://redcrackle.com/red-test/documentation/first-integration-test

    Use Cases

    • What are some concrete examples of what you should test?
      • Red Test is ideal for testing:
        • Site structure and configuration
        • Custom business logic of your application
        • User access, roles and permissions
        • Rules
      • If you are building just a basic informational site on Drupal without much functionality, you may not want to use Red Test. Use it only if you are building a large Drupal application.
    • What’s in the future for Red Test? Do you have improvement plans, or plans to integrate with D8?
      • Currently a developer needs to create tests using Red Test. We are considering whether enhancing it so that it works using Gherkin language makes sense. The next obvious step is to migrate it to Drupal 8.
    Aug 05 2015
    Aug 05

    Features

    • Let’s start off with the basics, if you don’t mind. Can you give us the 30 second pitch for what Features is? I’m sure there are people listening right now that don’t use Features regularly.
    • What kind of data or configuration can you package into a feature?
    • What does Features do well?
    • Where does Features fall short?
    • What are some of the things people currently use Features for, that perhaps it wasn’t intended? Are there issues as a result?

    Configuration Management in Drupal 8

    • If you don’t mind, I think it’d also be helpful if you could explain what CMI is in Drupal 8 so that when we compare the two, everyone knows what we’re talking about.
    • What does CMI do well?
    • Where does CMI fall short?

    When to Use Features in Drupal 8

    • With CMI in core, where does Features find its place in Drupal 8?
    • How will we use Features differently in D8 as compared to D7?
    • Talk about config packager

    Developing in Drupal 8

    What was your experience building Features in Drupal 8? Did you get to port code from D7, or was it all from scratch? Is Drupal 8 as “hard” as some people are claiming?

    Questions from Twitter

    • Thomas Svenson
      Just want to say I like the direction #Features is taking for Drupal 8. Especially that it is not needed on live site. #UXwin
    Jul 29 2015
    Jul 29

    So, Doug Vann emailed the two of us a while ago and said that I should have you on because

    "I'm on the record as a huge fan of Tom's for his well educated and well rounded perspective on proprietary and Open Source software solutions. ... I'd be excited to hear Tom interviewed on the topic of how Drupal 8 will continue to erode into the proprietary market."

    I thought that sounded good, so here we are!

    Web Content Management

    • When you replied, you said that Drupal 8 is the most important product release in the history of the WCM market. Can you start out by explaining what WCM stands for and what qualifies software as a WCM product?
    • You also mentioned that the 2nd most important release was Day Software’s CQ5. What is that?
    • When I hear about Drupal’s competitors, I generally hear about Wordpress and Joomla. Why aren’t either of those number two?

    Drupal’s Place in the WCM Market

    • How has Drupal faired in the WCM market so far?
    • What do you see Drupal 8 bringing to the table that sets it apart from other products?

    Questions from Twitter

    • Jacob Redding

      • How does Drupal 8 change the comparison with AEM? Specifically what are the features with Drupal 8 that bring Drupal to a more level playing field with AEM? Is there a single specific feature that Drupal does hands down better than AEM?
    • Doug Vann

      • MY MOST IMPORTANT QUESTION
        • Drupal promotes an "Ownership Society" where Universities, Media Companies, Governments, etc. hire in ?Drupal talent and build sites inhouse. How does D8 impact that trend? Is D8 more for shops and agencies and less for DIYers or is that just F.U.D. talking??
      • Any Drupaler would state that Drupal has been "disruptive" insofar as we have allowed highly visible sites to ditch their proprietary CMS in favour of Drupal.
        • To date, has that success been "truly disruptive" by your definition?
        • With the astounding advancements baked into D8, are you looking forward to an even more disruptive presence in the CMS playing field?
      • Shops
        • Is Drupal 8 ushering in a new era which will see a fundamental shift in how Drupal is delivered in the areas of customer procurement, engagement, and delivery?
        • To reword that. Are Adobe CQ5 and Sitecore shops operating significantly different than Drupal shops today AND are we going to see Drupal shops retooling and reshaping to a more enterprise looking organization?
        • In The past 18+ months, it seems that more people are willing to ?admit that Drupal 8 is moving Drupal "Up Market." Agencies are often the vendor of choice in those deep waters. Should we expect some more mergers and acquisitions which will ultimately empower agencies to deliver Drupal services inhouse??
      • ?The little guys
        • Where are the little guys in the D landscape?
        • Do you still see the $10K and the $45K range websites feeding the smaller end of the Drupal ecosystem?
    Jul 13 2015
    Jul 13

    Hey everyone,

    Super exciting news this week! I've secured sponsors for the next two months to provide EVERY video on ModulesUnraveled.com absolutely FREE for you!

    It's a bit of a long story, so if you don't care, just go learn some Drupal. But, I thought you might be interested in the back story, so here goes...

    (P.S. If you're not a reader, I recorded this as an 8 minute podcast just for you.)

    Why Modules Unraveled is now FREE for everyone

    Late last year, there was a moment when I realized that it had been a long time since I had thought about why I started Modules Unraveled in the first place, and whether or not I was still on course with that original vision. I decided that I wasn't.

    For reference, Modules Unraveled started with a video demonstrating how to setup Organic Groups in Drupal 7, back in 2011, when Amitai took over development, and did a complete re-write. Nothing was the same, and there were support requests all over the internet from people who didn't know how to use the new version.

    I wanted to use it in a project I was starting at the time, so I went through the twisted, and difficult process of figuring out how the new module was supposed to be used. When I finally did, I recorded a video showing exactly what I had learned, so that others could skip the hours (and let's be honest, days!) that I had spent figuring it out, and just use the module the way it was intended.

    Basically, I wanted to help everyone use Drupal to do amazing things.

    At the time, I was teaching in the public schools full-time, but had the desire to do more web development and create videos like the one for Organic Groups. So, I started getting up at 3am... yes. 3:00 in the morning... and during that time I worked on videos until 6am when I would get ready to go to my full-time job.

    Then, I started to charge for some videos. I figured, if I was saving people time, it was worth the $29 investment to learn how to use something like the Simplenews module, which has its own complexities. People apparently agreed with me, because the orders started coming in. Then I created more series' and put those up for sale, and everything was on an upward trajectory.

    In the spring of 2012, I looked at what I was making between the hours of 3:00 and 6:00 in the morning, and extrapolated that to see what I could make full time. Based on that, I decided that it would make sense to quit my full-time teaching position, and focus on developing sites, and videos full time. (Too early as it turned out, but I'll explain that later.)

    So, I was working for myself, from home, and everything seemed to be going great. The income was incredibly irregular though, so eventually, I switched the site from a pay-per-series model, to a subscription model. That was nice, because it provided a bit more predictable income, but though there were good months, on average, it still hadn't ramped up to what I was making as a full time teacher.

    Because of this, I started to focus more and more on the money that I needed to make, instead of providing amazing quality videos that could help thousands of Drupal developers create their sites more quickly, and with less headache, like the original Organic Groups series did.

    So, in December of of 2014, when I re-evaluated whether or not I was fulfilling my original mission, the answer was a resounding "No." I saw the thousands and thousands of site visitors in Google Analytics, and the meager handful that were actually signing up as a paying subscriber to access the videos. And the interesting thing is that it wasn't the lack of subscribers that hurt the most, it was that such a broad audience was coming to my site, because I had something they needed, but then immediately leaving because of the subscription requirement.

    These were the exact people I had set out to help. And I was turning them away. I had reached a wide audience of people who didn't know what I was saying, because I was charging them to listen.

    So, I wasn't making enough on the subscriptions alone to provide for my family, but I kept churning out new videos in the hope that eventually, the snow ball would roll in my direction, but it wasn't happening.

    I eventually came to grips with that fact, and started trying to figure out other ways to produce an income, but still help the people that I had originally set out to help. I knew if I just got another job, I'd stop making videos. Because they take time. A LOT of time. You see this evidenced all over the web. YouTube is littered with Drupal tutorials teaching you how to do this or that, but there are rarely more than a handful done by any one individual. And, because video production, and teaching are not generally their areas of expertise, the quality is widely varying (to put it nicely.)

    The obvious monetization strategy was advertising. I had never had third party ads on my site, and really didn't like the idea, but I had to try something new, because what I was doing wasn't working. (And one definition of insanity after all, is doing the same thing over and over, expecting a different result. I didn't want to be insane.)

    So, I immediately started to contact businesses that I had some form of personal connection with. Some were ones that had products I used, some were ones where I knew someone(s) personally within the business, and others were ones that close friends of mine had personally recommended.

    I wanted to see if anyone would be interested in advertising on my site. Some said yes, and some said no (one even suggested buying me outright, but after thorough discussion with my wife, and time in prayer, it didn't align with my life goals.)

    The ones that said yes had a hard time nailing down a dollar amount (which is understandable, since I didn't have metrics to give them, having always been subscriber only), and for four or five months, I felt strung along, and didn't know if it was ever going to work out.

    Then, I went to DrupalCon in LA. I wasn't planning to go, but then I won a conference ticket from the amazing people at Four Kitchens (thank you again!) and then just had to figure out a way to pay my room and flight. The only way I could convince my wife (who would be left alone with a two year old, and five month old) to let me go, was to convince her that I resolved to make something happen while I was there and that it would be a good investment.

    I followed through. To give you an idea, I went to one (1) session the entire week, and spent the rest of my time in the expo hall, and hanging out with people who might be interested in becoming a sponsor (as well as a few old friends, that I don't get to see except at DrupalCons).

    This was MUCH more fruitful than my previous, online-only, attempts. The net result was that six sponsors agreed to advertise, and combined, they would replace the existing membership income, and a little more. It wasn't much more, but was enough to let me run a two month trial to see how it would go, since I have absolutely no idea if it will be beneficial to anyone. My hope though, is that it will be beneficial for everyone, and I can sign additional sponsors, and/or charge higher rates.

    One of those sponsors let me know that, after reviewing their budget, they would not be able to advertise, but the other five are still on board. You can see them, and (please!) thank them on the "Sponsors" page.

    So, here we are! The site is completely free for anyone that wants to learn what I teach, and I get to find out if advertising will work on Modules Unraveled.

    I'm happy!

    If you want to learn Organic Groups, Search API, Simplenews, Git Basics, or anything else, check out the videos on this site. They're all FREE!

    Want to become a sponsor?

    I'd be a fool to leave it at that, and not mention that if you're interested in becoming a sponsor of the site, or the podcast, contact me, and I'll get you the information you need.

    You MUST be able to legitimately serve my audience, and prove your worth in order to be a sponsor. But, if you meet that criteria, I'd be delighted to talk to you!

    Thanks for taking the time to read this. It means a lot to me! And if you have any further questions, please don't hesitate to ask!

    -Brian

    Jul 10 2015
    Jul 10
    141 Using the Wysiwyg Fields Module to Use any Field Type as a CKEditor Plugin with Stuart Clark - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Wysiwyg Fields

    • What is the Wysiwyg Fields module?
      • Discussed three years ago on episode 35… Finally a stable release :|
    • Why did it take so long to release a stable?
    • What’s new since we talked about it last time?
      • Re-architected, focusing on splitting out major components into separate modules for re-usability and sustainability:
        • Field Tokens
        • Token replace AJAX
      • As well as leveraging existing modules insto to re-inventing the wheel:
        • Icon API
        • Token filter
      • Now based on CKEditor module instead of Wyswiyg API module.
      • Beta release available and it works!
    • What types of fields can be used?
    • Is the field still a separate field, but just inserted into the wysiwyg field? (So, if I were to disable the module would it be outside the wysiwyg text area?)
    • Can you use something like Panels to display the field in another region?
    • What kind of control do we have over the output of the field? Can it be styled and positioned with css? Or is it fully controlled by the content editor when they create the content?
    • Does this integrate with the Quick Edit module to provide the quick edit feature like Drupal 8?
    • How does this relate to Media or Scald?

    Use Cases

    • Insert Images:
      • Using ImageField widget
      • Using Media widget
      • Using Picture formatter for responsive images
    • Insert Text
      • For quotes that can be referenced via a View
      • For headlines that can be used in a ToC view embedded in a region on the same page
    • Insert Entity Reference
      • Insert user inside a form
    • Insert scald atom with atom reference field.
    • Insert youtube field
    • Insert Embedded Tweets with a textfield and a Custom Formatter.
    • Insert multiple field items at once
    • Insert all the fields
    • Paragraphs?
    • Use with Custom Formatters to allow updating formatting without need of re-editing content (Adjust Picture responsive image styles on redesign, etc).
    • Newspaper site
      • Ad - Entity Reference field. Then select which ad, and which view mode.
        • Every time the ad is updated (image) it’s updated everywhere it’s displayed inline
      • Views - List events related to that content.
      • Table Field - Tabular data

    Questions from Twitter

    • Jarkko Oksanen
      Is there an example video somewhere online we can see the functionality?
    Jun 24 2015
    Jun 24
    140 Using the Math Field Module to Compute Values Without the PHP Filter with Caleb Thorne - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Math Field Module

    • What does the Math Field module do?
    • Why did you develop it? What hole does it fill?
    • You mentioned EntityForm...
    • How does it compare to the Computed Field and other modules?
    • What are the limitations? When wouldn’t you use it?
    • You mentioned before we started recording that you actually rewrote the entire module to use core’s AJAX framework instead of custom jQuery. Why was that? and how did it go?

    Use Cases

    • What types of sites do you see this being of most use?
    • I might be using this on an upcoming project

    Future

    • What are your plans for D8?
    • What other general features are planned? I saw the note on the project page about issues with multiple parameters and multivalue fields.

    Questions from Twitter

    • Rick Nashleanas
      Any performance implications using the Math Field module? drupal.org/node/2484065 (Yea, I know, this is a plant!)
    • David Csonka
      Is there a practical limit to how many Math Field fields you can have calculating in a piece of content? Performance?
    • Rick Nashleanas
      What's the most complicated implementation you've done with the Math Field module?
    Jun 17 2015
    Jun 17
  • Where is the DrupalCon going to be?
    • New Orleans convention center
  • When is it?
    • May 9-13 2016
  • Why New Orleans?
    • We are seeing an incredible rebirth of a Great American City. Hurricane Katrina was such an unbelievable disaster, 80% of the city was flooded. Surrounding Parishes even worse, (we have Parishes instead of Counties), St. Bernard Parish, just down river, 99% was flooded. In the last 10 years we have overcome seemingly unsurmountable rebuilding, and have plenty more in the works. DrupalCon coming to New Orleans is great affirmation of progress we have made. It has a vibe like no other city, you can feel the life.
  • Why were you so driven to bring DrupalCon to your town?
    • It’s such a great place to be! Growing up 5 miles from Bourbon Street, we tend to take our City for granted. We do things that are rarely seen in the world! Food, Festivals, Family activities, Music, and of course you can drink in public! The general attitude across the whole city is very inviting and laid back. Really, a perfect place for a crowd like the Drupal Community!
  • What does the tech community look like there?
    *Growing in leaps and bounds. The entrepreneur landscape is one of the top in the country – we lead the nation in startups per capita by 64%, and we have a growing network of capital, which is important for startups. Game Loft, GE Capital, High Voltage Software have all chosen New Orleans because of our deep incentives, unique culture, and low cost of living. And our tech community is coalescing with the formation of TechNO, a coalition of local tech companies who meet regularly to promote the presence of the industry, New Orleans Entrepreneur Week hosted by the Idea Village, and NOLA Tech Week, which attracts national speakers and provides a great opportunity to showcase the industry. Finally, many local community colleges and universities are developing curricula to meet new digital workforce demands. There is no better opportunity in the country for tech companies than New Orleans. (from GNO, Inc. can be summarized)
  • What does the Drupal community look like?
    • We just had our Second camp! :-) Small but dedicated! We have had Meetups Monthly since 2010.
  • How important is the local community with the regards to putting on a DrupalCon.
    • I think now that the Drupal Association has taken the reigns of the Cons, the local community plays a part, but not like say, 2010, when we were in San Francisco. The local community had to shoulder the brunt of the work. And frankly, it was a lot, plus we probably had a limited number of cities with that size local community. That’s one of the great things about the Association, organizing DrupalCons!
  • What’s the Drupal adoption look like in New Orleans?
    • Growing, like everything else down here! The larger Universities have adopted Drupal, Tulane, Loyola, LSU up in Baton Rouge, plus the WWII museum, WWOZ (a great radio station, you should listen online), Cafe Du Monde, The Chef John Besh Restaurant Group, Audubon Nature Institute, Dr. Tichenor’s, maybe more….(or we keep it short??)
  • Who’s going to be the “boots on the ground” in New Orleans playing “host”?
    • Hopefully, us! We are both born and raised in the New Orleans area. I am involved in the local civic and business community and the entire Tech community are excited to host Drupalers!
  • How is it organized compared to years past? (Level of community and association involvement)
    • Again the Drupal Association has done a great job of spearheading the Cons. We worked closely with them to develop the logo and overall branding of the Con. In the coming months, we will work with them to look at venues and locations for events. Sponsors have reached out to us to help them organization of their specific needs for parties and meeting.
  • How will you be choosing who is selecting sessions

    • Each Con we put together the Track Team which is comprised of global track chairs (people who have evaluated and selected sessions for a Con at least once before) and then we work to assemble the Local Track Chairs who work in conjunction with the globals. We get these people from recommendations from within the community, people reaching out to volunteer and people expressing interest to Global Track Chairs. They go through an interview process with the Drupal Association and then the team is assembled and starts working to get out the call for content. It’s quite a ways away planning-wise but the Drupal Association will start putting together the New Orleans Track Team in the late fall, so if you’re interested or know someone who would be a great addition please reach out to [email protected].
      You can read all about the session selection process here: https://events.drupal.org/barcelona2015/session-selection-process
  • For those that want to have a future Con in their community, do you have any advice?

    • We heard interest from the Drupal Association in having a New Orleans Con about five years ago, but we didn’t have a local community to support it. We started up a small meetup in Baton Rouge in 2010, then it slowly migrated to New Orleans. We didn’t lobby anyone to win the conference for the city. We just tried to establish a community and show consistent interest over the years, and trusted that New Orleans is a destination that the community would want to visit. Eric: you were at that first meetup and have helped to coordinate the growth of the group, what are your thoughts?
    • Have a consistent Meetup! We decided at our first Meetup we would meet on the First Thursday of the Month, even if it was only two people. And barring that occasional conflict with a carnival parade we have done that. Then organize a Camp, start small and be consistent!
  • Before we started recording, you mentioned that you wanted to talk about possible afterparty locations. Do you want to do that now?
    • Everywhere!
    • Crawfish season
  • Jun 10 2015
    Jun 10

    Dropfort

    • What is Dropfort?
      • Dropfort is a suite of tools to develop and manage Drupal applications.

    On the development side, it integrates with GitHub and GitLab to track commits, issues and tags. It then packages releases based on those tags and lets you share those releases with your Drupal sites. Same way you tag and create releases on Drupal.org. The only difference is the released modules are private. Meaning a site that wants to use those modules needs to authenticate to download them.

    For example, if you want to download a custom module to your site from dropfort, you can just do a “drush dl mymodule --source=https://app.dropfort.com/fserver/release-history”. Dropfort generates the same XML data for its modules as does Drupal.org for contrib modules. Meaning the Update module works with Dropfort, all your Drush commands work and Drush make works too. It’s all pretty seamless. The only difference with our XML is that it's not publicly available. Your site has to be allowed to see the update feed which is what you configure in the Dropfort web app itself.

    The other half of Dropfort are the operations or “ops” tools. You connect your sites to Dropfort using the Dropfort Update module (which is available on Drupal.org) and it will start doing a few things. The most obvious is tracking the update status of your site. Being a Drupal shop, we monitor a few dozen Drupal sites at once and so logging into each site to see what modules need updating and the status of those sites is time consuming. What Dropfort let’s us do is see all those sites in one dashboard. I can login and see the update status and status report data from all the sites in one place. Dropfort then uses this data to generate some graphs about your sites. For example it can tell you how many dev modules you’re using across all your sites, it shows you a list of what sites have security updates and it does some fancy calculations to grade your site’s health as well. Lots of metrics to know what’s going on and how things are changing over time.

    The last part, and this is what I’ve been working on mostly these last few months, is an Environment manager. It’s still pretty fresh and there are some rough edges but it does work. You can create a set of environments (dev, testing or production) to store machine configurations to both do your development and run your Drupal applications. You can say “I want a server running apache, with MySQL and the Commerce Kickstart distro” on it. Then you can either download a Vagrant file which will provision a vm, or you can download a docker container which will do the same. Or you can run a bash script on an existing machine to link the server to Dropfort and have that configuration deployed. It’s pretty neat stuff. Basically any server anywhere can be turned into a managed Drupal cloud.

    Like I said, there’s a whole suite of stuff in here.

    • Why did you create Dropfort? Where did it start?

    It all really came from using Feature Server for Drupal 6. When we incorporated Coldfront in 2011 and really turned it into a full time job, we wanted a way to distribute code to all our clients (even though at the time I think we only had one). We setup FServer to deploy code to your client sites. But manually creating the releases and the pages and stuff was kind of a pain. So we came up with a special commit syntax we could add to Subversion (this was before Git was a big thing). So could make our svn commit and in the message we’d write [release:full] and some post-commit scripts would run on the svn server. They’d look at the commit message and then take the code, create a tgz file, create a tag, commit the tag and then upload the tgz file to FServer using some REST web service endpoints we create on a Drupal 6 site with Services. That would create the release page, the release notes, add the files and generate the update XML. It was pretty well a mini Drupal.org but with Subversion (instead of CVS which D.O was still using at the time). It actually worked really well. So well in fact that the University of Ottawa asked if we could install a version for them to manage their Drupal stuff (which they’re actually still using today until their git migration is done). That’s when the lightbulb went off I guess. We had built this stuff for us but as it turns out, other people want to deploy custom modules too! Who’da thunk it?

    And that’s when the idea for a more “web app” version of our SVN workflow came to be. At the time I thought “Yeah we can totally rewrite this in no time, I give is 6 months and we’ll have a web app ready to go”. That was 3 years ago I think? It took a bit longer than expected. Mostly I kept adding features… Yay scope creep. But now we’ve got a pretty awesome suite of tools and we’re focusing on the polish now. I’ve been told I’m not allowed to make feature requests for at least a month. We’ll see how that goes.

    • Can this be used to compete with Drupal.org? Meaning can people share public releases here instead of on d.o?

    Nope. Public modules should be on Drupal.org. No module can be downloaded from Dropfort without authenticating first. We don’t want to supersede d.o in any way. We actually looked into writing a feature to automatically move a project from bieng private to a public one on d.o but since Drupal.org doesnt’ have an API we couldn’t do that. But yeah, this is for privately distributed modules only.

    The original SVN workflow using Subversion, CLI PHP, Drupal 6, 2 custom modules and some REST / Services stuff.

    Dropfort uses Git, Drupal 7, Services, about 20 or so custom modules, Puppet and our Drupal 7 port of FServer. So Dropfort is a Drupal application itself. We actually use Dropfort to manage Dropfort. Meaning we track it’s own updates and status using itself, and it packages releases for itself. A little inceptiony but it works.

    Most of the parts which make up Dropfort are open. Some of the custom modules aren’t openly available. But that’s mostly because we don’t have the bandwidth to help and support the distro on D.o. Especially the stuff involving setting up a Puppet master. We’d spend more of our time debugging that than actually making things work. Doesn’t mean we won’t share everything eventually, just not right now.

    • What’s the plan for Dropfort? Is it a paid service or is it free?

    Right now it’s free to use. The main reason for that is we haven’t written the commerce component yet so we can’t actually charge for it so… yeah. But we’re looking at different ways of monetizing. It’s tricky cause we want people to use it but at the same time we don’t really know what people will use. There’s such a variety of things in there it’s tough to decide what should be charged for. For example Github is pretty straightforward in their pay structure. If the code is open, your repo is free. If your code is closed, you pay for the repo. For us, I think it’s a question of usage. We’re leaning towards all tools are free to use with any account, it’s just a question of how much storage or how many sites you’re using. But regardless, anyone who uses it now is free to use it as much as they want. And we’ll have some special plans for early adopters as a thanks for their feedback. More than likely a bunch of free stuff.

    • How does this compare to other tools like Platform.sh, Pantheon, Acquia Dev Cloud?

    The big difference is that they’re primarily a hosting platform. Dropfort is a management platform. You can connect a Pantheon site or an Acquia Dev cloud site to Dropfort and use most of the features no problem. You’d probably skip the release packaging stuff and environment management (for now) but the stats tracking and collaboration tools would work just fine. Dropfort doesn’t care where or how you run your Drupal site. As long as it can reach the internet, you can use Dropfort.

    But you can use Dropfort with GitHub or GitLab or neither. You can use Vagrant or Docker or both. We do our best to integrate with anything which might make building Drupal application easier. It’s all about choice.

    As for the hosting side of things, we give you tools to deploy your own server or cloud of servers. Meaning you can run an optimized network of Drupal web servers on whatever provider you want. It’s a philosophical difference. We let you host your code and sites wherever you want whereas with others you live on their machines. Which can have a lot of advantages and for the majority of folks out there, that’s fine with them.

    But for us we’ve found it difficult for some enterprises here in Canada to get hosting on services in the US which are bound by the Patriot Act. We have FIPA, the Freedom of Information and Privacy Act which states that we can’t share information about users unless the user has explicitly allowed that agency access. The Patriot Act is pretty much the exact opposite of that. So we figured we’d bring most if not all of the advantages of a cloud solution (the optimized configuration, automated deployments / scaling, generated environments) to anyone’s infrastructure. You just supply the hardware, Dropfort does the rest.

    I see it as just another option in how you can host your Drupal site. You can choose how much or how little you want to be involved in managing the hosting environment. Whichever way works best for you is the one you should go with.

    • How does this handle dev/staging/live scenarios?
    • How about local?

    Use Cases

    • Let’s talk about the current use cases for Dropfort.
      • Managing several sites in one place
      • Create custom, shareable development environments
      • Create releases of projects destined for more than one application
    • Why would you use Dropfort instead of just Git to manage deployments?
      • We use Drush Make for just about everything. We control our releases using Drush make. We apply patches with Drush make. We really like Drush make. And we really don’t like merge conflicts. The number of times I’ve come into a project where the entirety of Drupal core and all the contrib modules are in a single repo with a team of people trying to all work on it at once has taught me that’s not the way to work. Treat your projects like d.o does, as self contained sets of functionality. Use make files to build your application and drush to manage updates. This is how Drupal is designed to work. Drupal is a collection of modules. When you all of a sudden lump it all together into a single repo you’re breaking how Drupal was meant to be managed.
    • Can you explain a bit more about how Drush Make works?
    • You just mentioned automated updates.
    • What’s in the near, and far future for Dropfort?
    Jun 03 2015
    Jun 03

    Training

    While at DrupalCon recently, someone mentioned my recent podcasts about training and hiring Drupal talent, and mentioned that Cameron had been a part of a somewhat unique program to train new talent through a two month training program, with the intent to hire some of them. I was intrigued (and based on the great response of recent episodes on similar topics) I decided to get ahold of him, so here we are.

    • What company were you working for when you did this? And what was your role there?
      • ProPeople (Now FFW)
    • How did the idea come about?
      • We were inspired by a similar program they did in the Moldova office.
    • Who were you targeting?
      • Current college students, and recent grads
    • What did you hope to accomplish?
      • There were two goals. One: We wanted to be able to hire people in the Boise area. Two: To get our name out there, to university students, as well as the broader tech community in the Boise area so that when people were looking for work in the future, they’d look at ProPeople.
      • We weren’t looking for Drupal experts, we wanted them to come out with the minimum ability necessary to become a competent member of a team within ProPeople
    • How many people did you have participating at the beginning?
      • 70-80 applied
      • 12 were accepted (2 dropped out)
    • How many did you end up hiring?
      • 1 full time junior developer
      • 1 contractor
    • How did you promote it?
      • Craigslist, Boise State University CS department, Random encounter at the coffee shop
    • What did they participants do?
      • Clone Netflix and Basecamp
      • Wanted them to work as a team
      • Learn Features (getting config into code - turns out it’s more difficult than we thought)
      • Issues lead to Skype calls to talk about how something might be done better
    • What kind of interaction did you have with the participants?
      • Daily checking call with each member
      • Weekly check-in call with each team

    Should others do this?

    • Was there enough of an ROI that you think Drupal shops should be doing more of this?
      • Fairly expensive in number of dollars spent (About $4,000 - from that came one junior developer, and one consultant, who have been there ever since). Compare that to a recruitment agency, where you can pay well over $4,000 each.
      • Great to see who is actually going to go out and learn what they need to know in order to accomplish their project vs. someone you might hire, and then later find out that they’re not a good fit.
    • Do you have any suggestions for companies that are interested in looking into running a program like this?
      • If you’re going to do this, you need to have someone committed to running the program. It’s not a no-commitment project. Having more than one would be even better.
      • One reason we chose to go the training route, is because ProPeople didn’t have a standard classroom style training program. I’d recommend having more structured content: What knowledge we want them to come out of the program with. The hands on stuff is great, but throwing someone into the deep end is a bit hit or miss. (Use Blink Reactions stuff)
    May 27 2015
    May 27
    136 Details on the NodeSquirrel Acquisition by Pantheon with Drew Gorton and Ronan Downling - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    NodeSquirrel

    • What is NodeSquirrel?
      • Backup and Migrate (over 300,000 sites using it)
      • Only cloud backup-as-a-service for Drupal
      • Backup database and Files
      • Every site should have automatic off-site backups configured.
    • That leads great into the pantheon acquisition, because now everyone can create free off-site backups with NodeSquirrel.

    Pantheon Acquisition

    • How did the aqcuisition come about?
      • Drew - BadCamp October 2014. Sitting at a Pantheon party, ended up talking to Zack about running a services firm and product at the same time. The excitement, issues etc. involved with that. And it happened.
    • Did you pitch it to him? Did he pitch it to you?
    • So, what’s in it for them? Why did Pantheon buy NodeSquirrel?
      • They want to build great tools that developers can love and trust and use.
    • What’s new now that it’s been acquired by Pantheon?
      • It’s FREE! (There’s a new free tier)
      • It’s not a trial. It’s always free.
      • It’s not just for Pantheon customers.
      • We have access to Pantheon’s resources to further the development and continue improving support.
      • It’s been a side project from the start, but now that it’s backed by a real product company, we’re officially here for the long-haul. So, if you’ve been holding off because you didn’t want to risk storing your backups with something that might not be there in a year, you can rest assured that we’ll be here.
      • (Ronan) Now I’m able to dedicate more time and effort to the Backup and Migrate module (instead of only using my free time), which helps the community as a whole.
    • What happens to current users?
      • Higher storage limits
      • Might even be able to downgrade and pay less.
      • Won’t lose any features. Still use local backup, etc. (except maybe email)
    • What’s in the future?
      • Drupal 8
      • Wordpress
      • More features for both Backup and Migrate and NodeSquirrel
      • Bringing Pantheon features to NodeSquirrel and NodeSquirrel features to Pantheon (Notes)
    May 27 2015
    May 27
    136 Details on the NodeSquirrel Acquisition by Pantheon with Drew Gorton and Ronan Dowling - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    NodeSquirrel

    • What is NodeSquirrel?
      • Backup and Migrate (over 300,000 sites using it)
      • Only cloud backup-as-a-service for Drupal
      • Backup database and Files
      • Every site should have automatic off-site backups configured.
    • That leads great into the pantheon acquisition, because now everyone can create free off-site backups with NodeSquirrel.

    Pantheon Acquisition

    • How did the aqcuisition come about?
      • Drew - BadCamp October 2014. Sitting at a Pantheon party, ended up talking to Zack about running a services firm and product at the same time. The excitement, issues etc. involved with that. And it happened.
    • Did you pitch it to him? Did he pitch it to you?
    • So, what’s in it for them? Why did Pantheon buy NodeSquirrel?
      • They want to build great tools that developers can love and trust and use.
    • What’s new now that it’s been acquired by Pantheon?
      • It’s FREE! (There’s a new free tier)
      • It’s not a trial. It’s always free.
      • It’s not just for Pantheon customers.
      • We have access to Pantheon’s resources to further the development and continue improving support.
      • It’s been a side project from the start, but now that it’s backed by a real product company, we’re officially here for the long-haul. So, if you’ve been holding off because you didn’t want to risk storing your backups with something that might not be there in a year, you can rest assured that we’ll be here.
      • (Ronan) Now I’m able to dedicate more time and effort to the Backup and Migrate module (instead of only using my free time), which helps the community as a whole.
    • What happens to current users?
      • Higher storage limits
      • Might even be able to downgrade and pay less.
      • Won’t lose any features. Still use local backup, etc. (except maybe email)
    • What’s in the future?
      • Drupal 8
      • Wordpress
      • More features for both Backup and Migrate and NodeSquirrel
      • Bringing Pantheon features to NodeSquirrel and NodeSquirrel features to Pantheon (Notes)
    May 20 2015
    May 20
    135 Writing the Book Drupal 8 Configuration Management with Anja Schirwinski and Stefan Borchert - Modules Unraveled Podcast | Modules Unraveled

    Skip to main content

    Writing a Book for D8

    • What’s it like writing a book for a piece of software that isn’t even officially released yet?
    • How long did the writing process take?
      • Packt publishing sent us a proposal to write this book in December of 2013. We got started quickly, sending them an outline of the chapters and an estimated page count in the same month. The original estimated page count was 150, it turned out to be around 120. We received a pretty strict time line, having to finish a chapter every two weeks, starting in December of 2013.
      • We managed to finish most chapters in two weeks, but some of the longer ones took a little longer since we also started one of our biggest projects we had had until then, also in January. That was pretty tough because that project took up way more than a regular full time job, so we ended up having to write all of the chapters late at night and on the weekends. In May, all of our chapters then went to the editors and we didn’t hear back from the publisher for a really long time.
      • We also told them that we will have to rewrite a lot of the chapters since there was so much work in progress with the Configuration Management Initiative and they were changing a lot about how it worked, like going from the file based default to the database default. I think it was in January of 2015 when chapters came back with some feedback and we started rewriting every chapter, which was pretty painful at the time. We were able to update some of the documentation at drupal.org with the changes we found. It felt good to contribution at least a small part, when with our project and the book we had no time left to contribute code to Drupal 8 like we usually do.
      • We spent around 40 days on the book between the two of us.
      • In December, Packt asked the first publisher to review the book. We had recommended them one of our team members at undpaul, Tom, who has a similar amount of Drupal knowledge as Stefan. We really wanted to have someone from CMI to review the book, like Greg Dunlap. They had turned down reviewing the book after the first chapters were written, because too much would still change. Then after the changes went in we kept recommending Greg but I never heard anything back, maybe he was busy or they didn’t bother to ask. At the beginning of this year they told us the book was planned to be published by March. We recommended waiting because we didn’t expect a release candidate before the European Drupalcon and we would have rather had someone like Greg take the time to review, but Packt had another opinion :) Since most of CMI changes were finished, we didn’t feel too uncomfortable about the time of publishing, and it was also kind of nice to finally be done with this thing :) So it took a little over a year from start to finish. It was published on March 24th.
    • Do you expect to need to rewrite anything between now and when 8.0 is released?

    The Book: Drupal 8 Configuration Management

    • What do you cover in the book?
      • We start of with a basic introduction to what Configuration Management in Drupal means, because it is a thing in Software development in general, that doesn’t usually refer to what it is in Drupal, where it basically just means that configuration is saved in files which makes deployment easier. In the first chapters, we make sure the reader understands what Configuration Management means and why version control is so important. We mention some best practices and then show how to use it for non-coders as well, since there’s a nice backend non-technical folks can use, even if you don’t use version control (which of course we don’t recommend). We also have a part that describes how managing configuration works in Drupal 7 (Features!) and then dive into code examples, explaining schema files, showing how to add configuration to a custom module, how to upgrade Drupal 7 variables to the new system and cover configuration management for multilingual sites.
    • Who is the target audience of the book?
    • Why did you decide to write about Configuration Management?
      • We have used Features to deploy configuration changes for a very long time, I don’t recall not using it since we started the company 5 years ago. We have talked about it at several DrupalCamps and Drupal User Groups and always tried to convince everyone to use it. We were really excited about the Configuration Management Initiative and thought it was a very good fit for us.
    • Before we started recording, you mentioned that there is a companion website to the book. Can you talk about what content we’ll find there, and what purpose that serves?
    • Are you building any sites in D8 at Undpaul?
    May 08 2015
    May 08

    The Installing Git series is a free series that walks you through the process of installing Git for the first time and/or updating Git to the latest release on both Windows and Macs.

    Installing Git on Windows is pretty straight forward, you just download the "Git for Windows" installer, and step through the process.

    On a Mac though:
    * You might not have any version of Git installed
    * You might have the version that comes with Xcode or the Command Line Developer Tools
    * You might have the version from Apple as well as an official install
    * Or, you might just need to update an existing official install

    This series covers all of those scenarios to get you updated to and running on the latest release.

    It also covers the basic Git configuration options you need to set in order to use Git effectively.

    So, what are you waiting for? Watch them now! They're free!

    Apr 29 2015
    Apr 29
    Photo of Kristof Van Tomme and Peter KohanDownload this episode

    d8upgrade.org

    • What is d8upgrade.org?
    • When did you put the site together?
      • Today
    • How were you offering the service before the site was up?
      • Talk about MVP
    • Why did you guys create this service?
      • Build a more direct communication channel for module maintainers - Mailing list (module devs talk to people using module
      • Initiative to get out the catch 22 - modules aren’t ready, so you can’t upgrade, you don’t upgrade so the modules don’t get money to be upgraded.
    • Does it cost anything?
      • Nope - it’s free
    • Are you planning to monitize the site in any way?
      • We expect a lot of site owners will be looking for a way to upgrade their website, if they don’t yet have an agency, we can help them find a good agency. If this evolves how we imagine, this could fuel the sales pipeline for our consultancy and a few selected partners. We are not going to go hardcore salesy on this, but put in links for module work and 2for1 discounts and hopefully some of those will convert into customers for us or our partners.
    • How does it work? What do I have to do to track a site?
      • As simple as possible, conscious choice to not make it a module - just copy paste your module page
    • How many people have signed up so far?
      • We’ve got a total of 73 sites now, some from the same people - after Drupalcon LA we expect that to become a few hundred.
    • What do you have planned for the future of the site?
      • The community misses a permission marketing channel for module developers. We would like to let site owners sign up for important information about the modules they use through a push communication channel. There is a lot of talk in the community that we are not getting any support from site owners for the development of D8, but we’ve made it almost impossible for them to stay up to date. There is no way they are going to start reading the issue queues of modules on regular basis.
    • I took a look at the site and saw something called 2for1 - Give to Get. What’s that?
      • This is part of the strategy we want to use to monetise the platform: we offer our customers a 2 dollar discount on their future D8 project for every dollar they invest in helping Drupal 8 get out of the door. This gets us more business and brings outside funding into the community. For too long we’ve been giving money from one developer’s pocket to the next developer’s pocket. We hope we can change that this way. We are inviting other consultancies to join us in this campaign, if you want to join, you can become a partner in the campaign.

    Special Thanks!

    Thank you FourKitchens for the DrupalCon Ticket and Kalamuna for helping offset my travel expenses! You guys (and gals) are all awesome!

    Episode Links: Kristof on drupal.orgKristof on TwitterKristof on Skype - kvantommeKristof on LinkedInPeter on drupal.orgPeter on TwitterPeter on LinkedInPeter on Skype - kenya1hud8upgrade.orgTags: Drupal 8Upgradingplanet-drupal
    Apr 23 2015
    Apr 23
    Photo of Ted BowmanDownload this episode

    How to Select Modules

    • So, let’s start out by talking about the genesis of your session. What made you think this topic needed to be covered?
    • What’s the problem with just installing another module?
    • What if I don’t program?
      • Reuse modules
      • Push back on requirements
      • Make sure the cost of adding another module is not just the cost of the time it takes to install it
      • Simple modules really aren’t programming
    • What are the potential problems with custom code?
    • How do you determine if you should install a module or write some custom code?

    Specific Modules You Can (or Should) Avoid

    Not really telling people to avoid specific modules more about thinking twice when they select them.
    * Entityform vs. Webform
    * Entity View Modes
    * Page title
    * Commerce Custom Order Status

    Episode Links: Ted on drupal.orgTed on TwitterExample project (Minimalist Entity View Modes)Six Mile Tech on TwitterSix Mile TechTags: PerformanceSite Buildingplanet-drupal
    Apr 08 2015
    Apr 08
    Photo of Amy ParkerDownload this episode

    AcquiaU

    While this episode might end up sounding like a giant advertisement for AcquiaU, it’s really not intended to be. I wanted to have you on to talk about the concept of, how a company that hires Drupal developers, can and should go about training them before they are hired.

    In order to set the backdrop for the rest of our conversation, I’d like to quote a bit from the AcquiaU website:

    The challenge the community is facing is one of supply and demand. Simply put, there just aren’t enough people to fill the needs. At any given time in the past 6 months, job aggregator Indeed.com has over 2,500 open position across the US for Drupal talent.

    How do we close the gap? Find the people with the right passion and grow their talent from the inside-out. We're not looking for people with years and years of Drupal experience. We're looking for people who are curious, motivated, determined, and who can inspire a little crazy in us all. At Acquia, culture and a person's POTENTIAL to contribute and grow with us matters. A lot. These are the underpinnings of a successful candidate.

    What I love about that is that you’re not looking for senior level developers with 5+ years experience. Because you’re not going to find them. They all already have jobs.

    Mike and I ranted about that in the last podcast, so I won’t rehash it here, but what we boiled it down to is that Drupal shops need to create a talent pipeline for recruitment, which, as I understand it, is essentially what AcquiaU is for Acquia.

    Ok, with all that said, I’ll shut up now, and let you do the talking.

    • Can you give us your description of what AcquiaU is?
      • The program is 14-weeks of hands-on training in Drupal, Acquia Products, related web technologies, and professional development skills like team building, leadership, and communication skills. We spend the first 6 weeks in a classroom environment, which is a combination of lecture, group projects, individual assignments, and self-paced learning. The most recent graduates’ project was to redesign the program’s website, u.acquia.com Each participant is assigned an Acquia Mentor who is there to not just be a buddy, but to help from a technical perspective. The next 8 weeks are spent with job rotations where they work with our customer facing Professional Services developers and customer support. Each person is assigned a client team and works side-by-side on real projects. You might think it is like any other tech bootcamp out there but we differentiate ourselves in a couple of key areas. First, we make sure we have an open job opportunity for each person who joins the program and second, we pay people to learn. Many other bootcamps have a high cost- on average up to $10,000 and while they help with job placement, I can’t say how many have jobs lined up for graduates BEFORE they join the program.
    • How do you select your candidates? Or can anyone join the class?
      • We have a rigorous screening process and look for people with 2-3 years of technology experience, but who might not be able to get a job with a development shop. A lot of times, this level of talent is overlooked because companies don’t have the internal mechanisms to train, mentor, and coach junior level talent. They are already stretched thin and want new hires to hit the ground running at a fairly high level of proficiency.
    • What types of skills do you teach?
      • We dive deep into Drupal and other web tech skills like Drush, GitHub, and Agile and a dive into our own products and services. Helping people become well rounded also means that we do workshops in team building, communication skills, and presentation skills. The next session will have an engineering focus so we will be digging into LAMP stack and web architecture.
    • Do the students have any obligation to Acquia at the end of the program? (Like they have to work for you for a given time period after the program?)
      • People are hired on as temp employees and we really hope they have had a great experience and want to stay on. The program’s goal is to hire them at Acquia or with one of our partners.
    • What percentage of students would you say you hire on average?
      • So far we have a 90% hire rate. The goal for 2016 is to expand the program and hire more people into other Drupal shops
    • Do you have information about those that you don’t hire? Do you know if they’re employed somewhere else? Or did they decide Drupal wasn’t for them?

    Expanding the Concept

    • Now that you have a few classes under your belt, is this something you think other shops should look into doing?
      • People have asked me this and I think they should think about what the end goal is. Our program is not to just train more people for Acquia, but to give back to the Drupal community by creating a long-form drupal training program with learning paths and a structured hands-on curriculum.
    • We were talking before we started recording about this idea. Mike had mentioned that shops should create a talent pipeline. And while I agree with that in theory, what that means is that the shops first have to develop a training program, and one or more people who are skilled at both Drupal and teaching in a way that doesn’t alienate the trainee. From your perspective, how would you respond to that?
      • Having a talent pipleline means that you have a people development strategy that aligns to your business strategy, and that you have launched that people plan long before you launch the business strategy. Most companies play catch-up and are more reactive than proactive. Being proactive means you’re looking ahead 2-4 years out and making plans for your people.
    • If there is a shop owner out there listening right now, what would your advice be on how to go about creating a program like this?
      • I think you really have to be prepared to commit. Budgets need to allow for hiring junior talent, the business needs to be ready to bring in this level of need. It takes a lot of planning to launch a program like this. For companies that can’t support hiring 5-10 junior level talent, they should start out with a smaller number. A really strong learning program doesn’t just focus on the skills, but on different ways that people will need to learn and being able to translate really complex ideas into ways that different people will relate to. If you’ve ever heard about the adult learning cycle and experiential learning, we know that people tend to be most successful learning new skills when they can reach back into their own experience and apply them to the new content. Being a really strong developer doesn’t always mean that you can tap into other peoples’ experiences and make it relevant to them now. So when you look at creating that pipeline and having junior level talent come on board, you also have to figure out the most effective way to do it.
    Episode Links: Amy on TwitterAcquia on TwitterAcquiaU on TwitterAcquiaU WebsiteTags: JobsCareersHiringplanet-drupal
    Mar 25 2015
    Mar 25
    Photo of Mike AnelloDownload this episode

    The current job market in Drupal

    • What does the job market look like in the Drupal space?
    • Let’s talk about the pipeline idea.
      • Experienced developers vs. Junior developers

    What to do to start your career

    • If you’re completely new what do you do?
    • If you’re a hobbyist, what do you do?
    • How do you get experience?

    From the employers perspective

    • What should job descriptions look like?

    Questions from Twitter

    • Paul Booker
      How should a small business, non-profit, charity, .. find a drupal developer when they need something doing?
    • Damien McKenna
      For someone who knows nothing about web development, what's their best path forward?
    • Chris Hall
      When do you know to ask for/be a Drupal Dev vs a PHP Dev with Drupal experience? Should/is there be a difference?
    Episode Links: Mike on drupal.orgMike on TwitterDrupal Easy WebsiteDrupal JobsTags: JobsCareersHiringplanet-drupal

    Pages

    About Drupal Sun

    Drupal Sun is an Evolving Web project. It allows you to:

    • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
    • Facet based on tags, author, or feed
    • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
    • View the entire article text inline, or in the context of the site where it was created

    See the blog post at Evolving Web

    Evolving Web