Jan 02 2019
Jan 02

The Drupal we all know and love is evolving. The learning curve is shifting, the development paradigm is different, and the community, not only the software, is more ambitious. We felt it was time to build Drupal.tv as a thank you to the wider community. Drupal.tv is live as of January 1st, 2019!

Kevin Thull

From the community spotlight on Drupal.org: “He's the fellow that is dashing from room to room before the first session begins to set up the AV equipment and checking in with presenters making sure they all "push the red button". Because of him, we are all able attend the sessions we miss while busy elsewhere. He is personally responsible for recording over 800 sessions and donating countless hours of his time.”

Hear his thoughts on the unofficial Drupal recording initiative ( https://www.drupal.org/association/blog/introducing-the-unofficial-drupal-recording-initiative ).

Thank you, Kevin!

A Tweet to start it all

In Oct 2018, Rachel Lawson (@rachel_norfolk) tweeted: “It strikes me that creating a “DrupalTV” site, collating all YouTube session videos, would be possible in Drupal core these days. Tagging, searching, the lot. Could be a fun project? I’m sure one of our hosting providers would help…”

As fate would have it, Ashraf Abed (@ashabed) of Debug Academy was looking for the upcoming semester’s class project and came across the tweet. Debug Academy always does a real, new project in class as it’s the best way to learn programming and to build credibility.

Yes, newbie Drupalers built this site.

Drupal’s learning curve is shifting. The focus of many ongoing core initiatives is improving developer experience, and not only for senior programmers.

This project was built (& continues to be built) by a team of new Drupal developers, led by one Acquia “Grand Master” certified Architect (Ashraf Abed, Debug Academy’s CEO).

The backgrounds of the team include (but are not limited to):

  • 4 experienced backend developers with 0 Drupal experience
  • 1 experienced front end developer with 0 Drupal experience
  • 2 self-taught web developers with 0 Drupal experience
    1. Former career: Library and Information Science
    2. Former career: Teacher (PHD in history!)
  • 2 self-taught with light site building experience in earlier versions of Drupal
  • 1 Drupal Grand Master / Architect (Ashraf)

To illuminate this a bit more: Ashraf was not allowed to contribute any code on the project during the semester, which ended on December 22nd, 2018 (1 week before this site’s launch). That is to ensure that the new developers gain proper experience building the project. So the majority of this project truly was built by non-Drupal developers. We’ll share more about those developers in an upcoming article, with their permission.

And if you’re thinking “the experienced backend developers did most of the work”, that simply is not the case. The majority of the work on the project was contributed by the rest of the group.

Furthermore, as is the naturally occurring case with most Debug Academy semesters, the development team was highly diverse. Over 70% of the team members come from backgrounds that tend to be minorities in our field, and we were lucky to benefit from their ideas and expertise. 

What’s now and what’s next?

Video Coverage

Kevin Thull provided us with a list of DrupalCamp videos, of which we’ve imported 100%. Thanks to Wendy Abed, Kevin, and Ashraf for importing the DrupalCamp and DrupalCon videos. We’re at over 3,500 videos!

In the near future, we will also add free Drupal training videos created by various providers. All videos on this website will always be free.

Conferences

You may have noticed some videos are tagged with conferences. In fact, all videos are tagged with conferences, but you can only see the published ones.

We ask DrupalCamp organizers to reach out so that they can populate their own conference pages. Debug Academy’s next cohort will built out the conference (meetups, Drupal Camps, Drupal Cons) functionality on the website to make conferences (past & future) easy to find.

Searching / Sorting / Filtering

The site’s search is powered by the Search API module(s). The plain text search actually works quite well - search for a conference name, a topic, etc, and you will find all videos from that conference/topic.

As part of next semester’s project, we will be tagging talks with topics and speakers, which will enable us to use faceted search on the website.

Wider accessibility

We want this site to be globally useful. We plan to import video captions as well as and enable the multilingual features available in Drupal core. And if you are recording Drupal conferences in your country, reach out to us with your youtube playlist!

Submitting videos

Video submissions are open to the public! Approved content administrators will have the ability to import entire playlists from youtube, but anyone can import an individual video! Anonymously submitted videos will be created as “Drafts”, and our team of alumni and approved moderators will approve appropriate videos (thanks, Drupal core content moderation!)

Ongoing maintenance

Debug Academy students and alumni will continue to build and maintain the website as a non-profit project for the Drupal community. We will periodically share articles about what new Drupal developers were able to build using the website.

After next semester’s project, we may reach a point where smaller Drupal Camp events do not need to create/maintain their own website. Instead, they could simply create a conference page on Drupal.tv and use their time on higher value initiatives, like running a great conference, as usual! :)

How can you help?

At the moment, we have plenty of development capacity for the project, and we would like this project to continue to enable graduates of Debug Academy to land their first full time jobs as Drupal developers. You can help by spreading the word!

Follow us on twitter @drupaldottv, sign up for our newsletter (in the footer) to hear about new videos and articles, and simply share this website to the wider Drupal community! 

Also, follow a few of the team members who helped create or populate the site: @kevinjthull, @ashabed, @jackg102@cotterpinx, and @DebugAcademy for sponsoring the project.

We'll be reaching out to our alumni to do a separate piece on them with their inputs and permission. We launched on New years, but it turns out that's an inconvenient time for many contributors. Who would've known?!

And I’d like to give a special shout out to the founder of Drupal, Dries Buytaert, for allowing us to use the domain drupal.tv for this project!

Happy new year, everyone!

Dec 19 2018
Dec 19

Developers and organizations alike continue to use Drupal for large-scale projects due to its modular architecture, solid data model, community, security team, stability, and good-fit for many “ambitious” projects. However, historically, Drupal has caught considerable flak for its unintuitive development process - that might finally be changing.

I have been teaching Drupal development at Debug Academy ( https://debugacademy.com ) for over 4 years now. One recent development piqued my interest, especially in regards to teaching newcomers how to build sites using Drupal, and that is the new layout builder in Drupal core. The layout builder was released as an experimental Drupal core module in Drupal 8.6.

Drupal 8.6, and the layout builder (experimental at the time), were released on September 5, 2018, and our summer semester was scheduled to end on September 9th. Due to a combination of excitement and a desire to teach what I firmly believe to be the soon-to-be standard technique for building Drupal websites, we did not wait to use it. We built the entire website except for internal landing pages themselves before September 5th, the day the layout builder was released and 4 days before the conclusion of our semester. We combined custom block types with the new layout builder to finish building the website.

And my, it was easy to understand and to teach. Since then, we’ve integrated the layout builder more deeply into our subsequent semester and the results bode well for Drupal’s future. The client loved the new layout builder functionality, and the students who were newest to programming felt more comfortable than ever when laying out our custom landing pages. But don’t take my word for it, let’s take a look at the data.

How pages are built in Drupal

Common use cases for page creation include:

  • Advanced custom pages

  • Standardized pages as content

  • Pages with custom overrides

  • Semi-structured content

  • Drag & Drop content placement

Drupal’s solutions for these use cases

  • Advanced custom pages

  • Standardized pages as content

    • Create pages using the UI. Similar to creating a blog post.

    • Without writing any code, site builders can also create pages featuring different types of fields using Drupal’s content type system.

  • Pages with custom overrides

    • Create pages using the UI. Similar to creating a blog post.

    • Pass additional variables (such as a newsletter block) to the page with PHP

    • Render variables using Twig

    • Write any markup (HTML) directly in the Twig file

  • Semi-structured content:

  • Drag & Drop content placement (the new layout builder!)

    • Create pages using the UI. Similar to creating a blog post.

    • Use drag & drop to place / remove layouts, sections, fields, blocks, and more!

    • Can be done per content type and (optionally) overridden per page

Comparison of the content creation options in Drupal

Drupal provides an abundance of solutions to problems content editors face. Different tools require different skillsets, so although Drupal has solutions for everything, let’s do a deeper comparison of the Drupal 8 content editing options to see what is available, what it can do, and how accessible it is to you and your team. The new layout builder is highlighted in the rightmost column:

 

Advanced custom pages

Standardized pages as content

Pages with custom overrides

Semi- structured content

Drag & Drop content placement (new layout builder!)

How to: initial set up

  • Git

  • PHP

  • Twig

  • YML

  • Site building

  • Site building

  • Git

  • PHP

  • Twig

  • YML

  • Site building

  • Site building

  • Site building

How to: add'l pages w/same layout

Depends on implementation

Content editing

Content editing

Content editing

Content editing

How to: add'l pages w/custom field layouts

  • Git

  • PHP

  • Twig

  • YML

  • Site building

N/A

  • Git

  • PHP

  • Twig

  • YML

  • Site building

*Content editing

*

pre-grouped sets of fields must all be displayed sequentially

Content editing

How to: add'l pages w/custom layouts, including mixing & matching blocks, fields, & more

  • Git

  • PHP

  • Twig

  • YML

  • Site building

N/A

  • Git

  • PHP

  • Twig

  • YML

  • Site building

N/A

Content editing

How to: Component-based design support using Drupal blocks within content area

Custom code only

N/A

Custom code only

“Pre-grouped” fields can be designed as components, but placement is very restricted

Fully supported

Uses core/contrib

Core

Core

Core

Contrib (paragraphs)

Core (experimental - full release expected in 8.7!)

In practice: what do the numbers show?

Through our courses we have been able to collect data about how the switch from other approaches (namely PHP / Twig & paragraphs) to the new layout builder has impacted the learning curve, productivity, and ongoing maintenance of projects. Debug Academy’s Jack Garratt ran the numbers for us. For the sake of our analysis, a “task” refers to the smallest unit of work assigned to a developer (Debug Academy student, in this case):

The data: before the layout builder (“Tasks to homepage”)

Let’s take a look at the data following the number and type of task from the start of the project until the completion of the frontpage and set up of internal pages. In the first data set, we’ll look at our projects before use of the layout builder.

We assigned our students to implement PHP pre-process hooks to create Twig variables for Views blocks, blocks provided by contrib modules (e.g. newsletter), as well as extracting other non-block data from the website.  Note: There are alternatives in Drupal’s contrib space to using PHP, such as the contributed module Twig Tweak; we do not encourage using Twig Tweak in our projects. The project builds are a success; however, it is also not the most readily grasped by non-web developers and clients.

The breakdown is below:

Task Type

Pre-layout Builder

Up to & including homepage (without layout builder)

Twig

17 (task per section per page)

Site Building

14

Configuration in Code/Site installation and setup)

7

CSS/SASS

6

PHP/Custom Module

10

Initial Theme setup

3

Set up reusable inner page layouts (4 content types)

Twig

8

PHP

4

CSS/SASS

4

PHP and Twig tasks constitute a significant number of the total amount of work completed by our students.  Out of the 17 Twig tasks, we deemed that 10 required using PHP to pass various blocks to the homepage for a variety of use cases, such as embedding Twitter or a Donately form within the page’s content.

On subsequent projects, our students are constructing the pages in the Layout Builder.

The data: using Drupal’s new layout builder (“Tasks to homepage”)

The Layout Builder UI has access to the aforementioned block types.  If there is a specific need that cannot be readily replicated with custom block types with the requisite fields, developers can still use Twig to add that functionality.  However, we found that creating and styling custom block types in Drupal 8 core as reusable components (see component based design) greatly streamlined our process and eliminated the need for many higher complexity tasks. 

What we soon realized was that writing PHP and Twig was less needed in terms of individual page construction, but still rather helpful in crafting custom blocks (components).

Task Type

With layout Builder

Up to & including homepage (with the new layout builder)

Twig

5 (task per component type)

Site Building

18

Configuration in Code/Site installation and setup)

7

CSS/SASS

6

PHP/Custom Module

0

Initial Theme setup

3

Set up reusable inner page layouts (4 content types)

Twig

1 (we’re reusing component types)

PHP

1

CSS/SASS

1

One of the consequences of the de-emphasis on using Twig to create basic pages with custom HTML in favor of the layout builder is allowing a more beneficial division of labor.  Teams may create more tasks that involve basic page building to get their newer developers familiar with the Drupal UI. Moreover, companies can train their clients in how to create basic pages with customized blocks (video block, stylized quote block, or a button block to name a few), which minimizes the instructional curve.  Essentially, the tasks to create highly customized pages no longer require coding. One consequence of using the layout builder for basic page creation in this manner is that it will free up more experienced developers to focus on other tasks or minimizing oversight of newer developers.

The data: full comparison, beyond the homepage

The above charts compare “time to homepage” and “time to generic inner page”. Where you really start to see the benefits are when you’re creating a website with many pages. Let’s look at the combined charts, calling special attention to the newly added last row(s) “Creating additional pages with custom layouts”:

Task Type

Pre-layout Builder

With Layout Builder

Up to & including homepage

Twig

17 (task per section per page)

5 (task per component type)

Site Building

14

18

Configuration in Code/Site installation and setup)

7

7

CSS/SASS

6

6

PHP/Custom Module

3

0

Initial Theme setup

3

3

Set up reusable inner page layouts (4 content types)

Twig

8

1 (reusing component types)

PHP

4

1

CSS/SASS

4

1

Creating additional pages with custom layouts

Twig

37

2

PHP

16

4

Content Editing

47

69

Site building

45

17

Thanks to a combination of component based design and the new layout builder, content editors can create truly custom layouts without writing a line of code. They can, for example, drop a video embed in between the body field and the author field, move the author field to the footer, and arrange other fields in 3 columns without writing a line of code.

Summary & Conclusion:

This specific project built with the layout builder required:

  • 88% fewer PHP tasks

  • 64% fewer site building tasks

  • 87% fewer Twig tasks (thanks to component based design)

  • 46% more content editor tasks

The numbers are clear. Drupal’s layout builder has the potential to bring down the cost of ownership of Drupal websites significantly by enabling content editors and less senior developers to build more of the website. Because of which, the new layout builder will make Drupal more accessible to newer developers and smaller organizations with ambitious goals for their web-powered presence.

It’s time to get up to speed in Drupal 8!

Debug Academy's real projects are the source of the above data, and we encourage you to take a look at our programs. There has never been a better time to add Drupal to your skillset.

We will continue to incorporate cutting edge tech in our courses, including the new layout builder, Composer, Drush, Drupal Console, Object Oriented Programming with PHP7, and much more, all applied to a real, unique, team project! At the end of it all we help students continue to the next phase of their careers! Visit https://debugacademy.com to sign up for one of our free info sessions - our next semester begins January 27th!

P.S. thanks to Dries Buytaert for providing feedback on this post!

Aug 18 2018
Aug 18

JavaScript Frameworks have been taking the web by storm for years and ReactJS has become a clear frontrunner. With React, you can implement fast, slick, interactive web components without excessive complexity.

Additionally, ReactJS is the perfect fit for Drupal - the JavaScript initiative team is already working on building a ReactJS app for Drupal Core. Wouldn't it be cool to join their initiative and help them modernize Drupal's administrator UI with React? We can show you how.

Key Benefits of React w/Drupal Include:

  • Faster rendering when responding to user interactions
  • Easier development for more complex apps
  • Friendlier JS syntax (similar to SASS for CSS)
  • Fewer clicks
  • Fewer page reloads
  • and more!

Interested in learning more? At Drupal Europe, Debug Academy will be hosting a training, Elevate your Drupal 8 application with ReactJS, on Monday, September 10th. This training is an updated version of the most popular training which sold out at DrupalCon Nashville 2018, and profit from the training will be used to help support the volunteer-run Drupal Europe!

Attendees who will gain the most from this training are Drupal developers looking to gain hands-on experience with decoupled development and developers looking to learn how to use the popular JS Framework, ReactJS. Must Know JS or PHP to participate. Code & Training formatted to be accessible to developers, not exclusively for JS developers.

The first 8 people who register will receive a significantly discounted registration price of €250.00 + VAT tax (normally €400.00+).

Register for this training at Drupal Europe below!

This training is an updated version of the most popular training at DrupalCon Nashville 2018. It sold out there, so we encourage you to secure your spot soon! The first 8 people who register will receive a significantly discounted registration price of €250.00 + VAT tax (normally €400.00+).

  • Training date: Monday, September 10 from 9AM to 5PM
  • Training location: Drupal Europe in Darmstadt, Germany 

Learning Objectives: 

  • Learn to create a React Web App
  • Learn to set up Headless Drupal using Drupal 8
  • Create a React web app which communicates with a Drupal 8 task management website

Syllabus/Agenda: 

  • Learn when & why to use decoupled Drupal 8, and why React is a great choice
  • (initial set up) Install pre-built Drupal 8 website
  • Modify Drupal 8 website to prepare it for headless integration 
  • Note: Website will not be 'fully' decoupled, will only decouple one content type
  • Create React App
  • Integrate React App with Drupal 8 website (displaying data)
  • Post data to Drupal 8 website from React App

Who Will Gain the Most From This Training?: 

  • Drupal developers looking to gain experience with Decoupled development
  • Developers looking to learn how to use the popular JS Framework, ReactJS
  • Note: Must know JS or PHP to participate. Code & Training formatted to be accessible to developers, not exclusively for JS developers.
Aug 17 2018
Aug 17

JavaScript Frameworks have been taking the web by storm for years and ReactJS has become a clear frontrunner. With React, you can implement fast, slick, interactive web components without excessive complexity.

Additionally, ReactJS is the perfect fit for Drupal - the JavaScript initiative team is already working on building a ReactJS app for Drupal Core. Wouldn't it be cool to join their initiative and help them modernize Drupal's administrator UI with React? We can show you how.

Key Benefits of React w/Drupal Include:

  • Faster rendering when responding to user interactions
  • Easier development for more complex apps
  • Friendlier JS syntax (similar SASS for CSS)
  • Fewer clicks
  • Fewer page reloads
  • and more!

Interested in learning more? At Drupal Europe, Debug Academy will be hosting a training, Elevate your Drupal 8 application with ReactJS, on Monday, September 10th. For more information, click here. This training is an updated version of the most popular training from DrupalCon Nashville 2018, and profit from the training will be used to help support the volunteer-run Drupal Europe!

Attendees who will gain the most from this training are Drupal developers looking to gain hands-on experience with decoupled development and developers looking to learn how to use the popular JS Framework, ReactJS. Must Know JS or PHP to participate. Code & Training formatted to be accessible to developers, not exclusively for JS developers.

The first 15 people who register before midnight CEST on Saturday, August  18th, will receive a significantly discounted registration price of €250.00 + VAT tax (normally €400.00+). Register using the form below!

Aug 16 2018
Aug 16

JavaScript Frameworks have been taking the web by storm for years and ReactJS has become a clear frontrunner with its ability to implement fast, slick, interactive web components without excessive complexity.

With ReactJS, you will be able to improve websites with app-like components that are better and faster than what Drupal could do on its own.

Check out a preview of a Drupal site benefiting from the addition of ReactJS!

Key Benefits of React w/Drupal Include:

  • Fewer clicks
  • Fewer page reloads
  • Faster rendering when responding to user interactions
  • Sleek
  • App-like
  • and more!

The JavaScript initiative team is working on building a ReactJS app for Drupal Core. Utilize the latest technology on your projects.

Interested in learning more? Drupal Europe is hosting a training, Elevate your Drupal 8 application with ReactJS (taught by Debug Academy) on Monday, September 10th from 9am-5pm in the Darmstadtium venue. For more information, click here. This training is an updated version of the most popular training that was sold out at DrupalCon Nashville 2018.

Attendees who will gain the most from this training are Drupal developers looking to gain experience with decoupled development and developers looking to learn how to use the popular JS Framework, ReactJS. Must Know JS or PHP to participate. Code & Training formatted to be accessible to developers, not exclusively for JS developers.

The regular training price is €400.00 + VAT tax, however, the first 15 people who register by midnight CEST on Saturday, August  18th, will receive the early bird registration price of €250.00 + VAT tax. Register @ https://debugacademy.com/course/drupal-europe-elevate-your-drupal-8-application-reactjs .

Aug 02 2018
Aug 02

Do you manage a Drupal site? You are likely to have heard about today's moderately critical security update: https://www.drupal.org/SA-CORE-2018-005

There's no time to spare - what now?

This update is has one key difference from the other recent security updates. Those security issues resided within Drupal core's code, whereas this update is in an external vendor package which Drupal core relies on. I'll spare you some of the details - the tl;dr is that makes it harder for us to provide a single patch you can reliably apply. Knowing the version of Drupal core you're running does not necessarily give us enough information to generate a patch.

Here is how to apply the security updates to your website if you are already on Drupal 8.5:

  • SSH into your website
    • Git add and commit all files
    • Create a database backup with drush:
      • drush sql-dump > ../../2018-08-01-pre-sa-core-2018-005.sql
  • Using Composer, and on Drupal 8.5.x?
    • composer update drupal/core --with-dependencies
    • Unsuccessful? Try: composer update webflo/drupal-core-strict drupal/core --with-all-dependencies
    • Still no luck? OK - this should work:
      • composer require symfony/http-foundation:~3.4.14
      • composer require symfony/http-kernel:~3.4.14
  • Not using composer, but are on Drupal 8.5.x?
    • I strongly recommend using composer in the near future. Until then, manually update the two packages:
    • ​Now that we have the new versions of the two packages, we need to replace the unsecure versions of those packages in our project:
      • Open your project
      • Within your project, find for these folders:
        • http-foundation
          • This can usually be found in: YOUR-PROJECT/vendor/symphony/http-foundation
        • http-kernel
          • This can usually be found in: YOUR-PROJECT/vendor/symphony/http-kernel
      • Those are the two unsecure folders. Note their location, and delete those folders
        • ​This step will break your website until the remaining steps are completed. Because of which, you should always perform development work on a dev environment, not on the live website.
    • Remember the zip files we downloaded earlier? Find those on your machine now.
    • Unzip the two zip files. You should now have these two folders on your computer:
      • http-foundation-3.4.14/
        • Rename this folder to http-foundation
        • Then move the renamed into your project, replacing the old http-foundation folder
          • This is normally YOUR-PROJECT/vendor/symphony/http-foundation
      • http-kernel-3.4.14/
        • Rename this folder to http-kernel​
        • Then move the renamed folder into your project, replacing the old http-kernel folder
          • This is normally YOUR-PROJECT/vendor/symphony/http-kernel
    • Save (git add and commit) the updated folders on your website
    • Clear your websites cache
    • Test your website thoroughly
    • If everything looks good, you should be able to deploy these changes to the live website before clearing its cache

These steps come with no warranty, implied or otherwise.

Those steps will allow you to patch your site, not fully update it. Once the patches are in, you can rest assured that your site should now be secure. Take 24 hours off, then schedule fully updating your website to the latest version very soon. Future patches are not guaranteed to be applicable to earlier versions.

Aug 01 2018
Aug 01

Drupal 8 is a stellar CMS which is more than capable of standing on its own. But when it comes to building app-like websites, JavaScript frameworks have taken the web by storm, and React is leading the pack.

In this course, we will give a section of our Drupal 8 website a boost by building a ReactJS App.

We'll modify an existing Drupal 8 website to prepare it for integration with a decoupled application. This portion of the training provides you with knowledge applicable to a variety of external frameworks: React, Vue, Angular, even Alexa and Google home.

We'll then build and launch a React app from start to finish. We will set it up to display data from our existing Drupal 8 website as well as to create (and POST) data back to our Drupal 8 website.

We don't want to lose many of the benefits that Drupal core and contrib provide us with, so we will only decouple select pages and functionality using the React app we will build.

Learning Objectives: 

  • Learn to create a React Web App
  • Learn to set up Headless Drupal using Drupal 8
  • Create a React web app which communicates with a Drupal 8 task management website

Syllabus/Agenda: 

  • Learn when & why to use decoupled Drupal 8, and why React is a great choice
  • (initial set up) Install pre-built Drupal 8 website
  • Modify Drupal 8 website to prepare it for headless integration 
    • Note: Website will not be 'fully' decoupled, will only decouple one content type
  • Create React App
  • Integrate React App with Drupal 8 website (displaying data)
  • Post data to Drupal 8 website from React App

Who Will Gain the Most From This Training?: 

  • Drupal developers looking to gain experience with Decoupled development
  • Developers looking to learn how to use the popular JS Framework, ReactJS
  • Note: Must know JS or PHP to participate. Code & Training formatted to be accessible to developers, not exclusively for JS developers.
Jul 09 2018
Jul 09

Occasionally, someone will forget their password and ask me how to get into their local Drupal 8 website. There are a few different techniques, depending on your set up:

  1. Site is online, you have access to the user account's e-mail address
  2. You have access to drush
  3. You only have access to the database

Case 1: Site is online & You have access to the user account's e-mail address

This is the simplest case.

  1. Visit your-site.com/user
  2. Press "Request new password"
  3. Enter your user account's email address

Case 2: You have access to Drush

drush is a Drupal developer's best friend (with a proper IDE being a close second for Drupal 8 developers). If you have drush installed and working, getting into any account is easy.

Drush uli is a command which generates a 1-time login link to your website. Simply SSH into your server, cd into the website, and run: drush uli USER_ID -l your-website.com

If you do not specify a USER_ID, drush will assume you are logging in to the primary administrator account: user 1.

Case 3: You have DB access, but no drush and no e-mail

This case seems to be especially common with non-Drupal developers who are trying to get a Drupal site set up locally for the first time. It also seems that drush does not work in the current version of Acquia Dev Desktop, which has been the case for many months now. Luckily, you can still access the DB to run queries directly as a last resort. The below is written as of Drupal 8.5, but I expect it to work for later versions of D8 as well.

This is only recommended for local development. Run these 3 queries on the appropriate DB to change user 1's username to "admin", and to change user 1's password to "admin": 

  1. update users_field_data set pass='$S$Es0uz.1p9qSQ91BmIiFQcbBNvGaGKGbucBfDhFCTh59bfBoC83cL' where uid=1;
  2. update users_field_data set name='admin' where uid=1;
  3. delete from flood;
    • This query clears drupal's "flood" table, which could prevent a user from logging in if they have had too many failed attempts.
  4. delete from cache_entity;
    • This clears the cached user entity, to ensure Drupal recognizes the updated username.

I hope this helps someone, someday!

May 07 2018
May 07

DrupalCon is the largest Drupal event of the year. It’s where the Drupal community comes together, where ideas and experiences are shared with one another, and where business connections and friendships are developed.

You get to hear keynotes, attend trainings and sessions, attend BOFs and sprints, and of course, attend the fun after parties! Oh and I can’t forget, it’s a chance to hear from the person who started Drupal itself - Dries Buytaert!

Female Graduates Representing at DrupalCon

While Debug Academy did offer a sold out training on ReactJS at DrupalCon, what we are most proud of are the four alumni (all female) who each attended DrupalCon not only as attendees, but as presenters and trainers sharing their expertise with the wider Drupal community! They were:

  • Amani Mansour (my little sister!)
    • Software Engineer at Beaconfire Red
    • Session: Crazy Tricks With Views
  • Farah Sabbagh
    • Drupal Developer at Booz Allen Hamilton
    • Session: Extending The Abstract Class Of Privilege: Outcomes And Lessons Learned
  • Kirsten Burgard
    • Web Developer at U.S. Dept. of State
    • Sessions(!):
      • Community Convos: Camp Organizing
      • Enforcing Your Code of Conduct
      • How Women Spearheaded Drupal Adoption In Government
  • ​​Lisa McCray
    • ​Co-trainer at DA's DrupalCon ReactJS training
    • Led multiple BoF's at DrupalCon
    • Drupal Developer at Bixal

We are especially pleased that we were in a position to help contribute to create a diverse group of speakers. All four of our Alumni that presented at the most recent DrupalCon are female, and two had not even heard of Drupal before enrolling in our course! On top of that, two were scholarship recipients to courses of ours. And look at how far they’ve come!

As evidenced by their selection as speakers at the largest Drupal event of the year, increasing diversity within Drupal is within reach.

Check out their sessions:

  • Crazy Tricks With Views
    • Speakers:
      • Amani Mansour (DA alumna and Software Engineer at Beaconfire RED)
      • Krystee Dryer (Technical Lead at Beaconfire RED)
    • Description: Dive into the more complex ways the Views module can be used to create content lists with robust functionality. Amani and Krystee showed attendees the creative techniques they used to blow through the limitations of Drupal 8 Views.
    • Click here to see the full video.
  • Extending The Abstract Class Of Privilege: Outcomes And Lessons Learned
    • Speakers:
      • Ashraf Abed (DA Founder)
      • Farah Sabbagh (DA alumna and Drupal Developer at Booz Allen Hamilton)
      • Description: Drupal has the power to be a tool for pulling people out of poverty and into a better life. Where does Drupal succeed / fail at being accessible to all backgrounds? How can we do better? Is this based on logic or some bias that needs to be overcome? Crucially, not everything is a technical problem.
      • Click here to see the full video.
  • How Women Spearheaded Drupal Adoption In Government
    • Speakers:
      • Kirsten Burgard (DA alumna and Web Developer at U.S. Dept. of State)
      • Jessica Dearie (IT Specialist with the EPA)
      • Nneka Hector (Director of Web Development at DSFederal)
      • Virginia Nguyen (Senior Director - Product Operations at Akamai Technologies)
    • Description: [..] what you probably didn’'t know, is that a group of women have been at that bleeding edge of [Government Open Source] adoption while staying mostly under the radar. Who are these women? They’'re some of the women behind Drupal4Gov.
    • Click here to see the full video.
  • Enforcing Your Code Of Conduct
    • Speaker:
      • Kirsten Burgard (DA alumna and Web Developer at U.S. Dept. of State)
    • Description: Over the years of building the Drupal4Gov community I've seen the DrupalDrama and invariably, it has come from tolerance of the intolerable and our inability to communicate what does seem paradoxical. [..] Drupal4Gov writes, re-writes, communicates and enforces a Code of Conduct for all of our events. There have been a few violations and in this session, Kirsten discusses how we communicate and enforce our Code of Conduct at all our events.
    • Click here to see the full video.
  • Community Convos: Camp Organizing
    • Speakers:
      • Kirsten Burgard (DA alumna and Web Developer at U.S. Dept. of State)
      • Avi Schwab (Senior Engineer and Project Lead at Palantir.net)
      • Kaleem Clarkson (Director of and Strategic Initiatives Kennesaw State University)
      • April Sides (Lead Drupal Architect at Mediacurrent)
    • Description: A community conversation is a space for community initiatives to discuss what they're working on with the community.
    • Click here to see the full video.
  • DA's full-day ReactJS for Drupal Class
    • Trainers:
      • Ashraf Abed (DA Founder)
      • Lisa McCray (DA alumna and Drupal Developer Bixal)
      • Farah Sabbagh (DA alumna and Drupal Developer at Booz Allen Hamilton)
    • Description: Attendees were able to create & launch a React app to display data  & POST data to a Drupal 8 website. We only decouple select pages and functionality so we retain the benefits that Drupal core and contrib provide.

We are so proud of all of our alumnae for sharing their expertise at DrupalConNA! And we are excited about our role in shaping what the Drupal community looks like. To ensure they could all attend, we provided DrupalCon tickets to two of the attendees. Additionally, two of the presenters were scholarship recipients to our Drupal course, and now they're presenters at DrupalCon - how cool!

If you're interested in web development, our welcoming and diverse classrooms are a great place to start or grow your careers. The next part-time 3 month Drupal 8 Web Developer course starts on June 3rd! We also teach ReactJS for Drupal. View our course offerings.

Not sure? Feel free to reach out to us via our contact page. We will candidly discuss whether our courses are in-line with your goals.

Want to help increase diversity in Drupal? Look no further than hiring talented individuals from diverse backgrounds. We can help with that, too.

Apr 25 2018
Apr 25

Do you manage a Drupal site? You are likely to have heard about today's highly critical security update: https://www.drupal.org/sa-core-2018-004

There's no time to spare - what now?

Note: in the below examples, the patches are tested when 'x' in the version number is the highest available number. It is likely to work at slightly lower versions as well, but that is not guaranteed. That's why updating to the latest version is important, and why we will back up our sites as part of these steps before updating.

Here's the quick & dirty way to patch your site:

  • If your site is running Drupal 8.x
  • If your site is running Drupal 7.x
  • If your site is 6.x
    • Coming soon..

This comes with no warranty, implied or otherwise.

Those steps will allow you to patch your site, not fully update it. Once the patches are in, you can rest assured that your site should now be secure. Take 24 hours off, then schedule fully updating your website to the latest version very soon. Future patches are not guaranteed to be applicable to earlier versions.

Mar 28 2018
Mar 28

Do you manage a Drupal site? You are likely to have heard about today's highly critical security update: https://www.drupal.org/sa-core-2018-002

There's no time to spare - what now?

Note: in the below examples, the patches are tested when 'x' in the version number is the highest available number. It is likely to work at slightly lower versions as well, but no guarantees either way. That's why we back up our sites before any update.

Here's the quick & dirty way to patch your site:

  • If your site is 8.5.x
  • If your site is 8.4.x
  • If your site is 8.3.x
  • If your site is 7.x
  • If your site is 6.x

This comes with no warranty, implied or otherwise.

Those steps will allow you to patch your site, not fully update it. Once the patches are in, you can rest assured that your site should now be secure. Take 24 hours off, then schedule fully updating your website to the latest version in the near future.

Feb 13 2018
Feb 13

Drupal is an Open Source project originally built by a community of hobbyists. Today, its code is publicly visible, publicly maintained, and publicly built. Do you find the documentation to be unclear? Anyone can fix it! Do you find the user interface for Drupal unintuitive? Anyone can fix that, too!

With Drupal’s popularity and the number of Drupal developers out there, surely most Drupal developers have contributed something, right? Not quite. According to Dries' blog post titled "Who Sponsors Drupal Development (2016-2017 edition): "the top 30 contributors (the top 0.4%) account for over 17% of the total credits, " Note: That quote only factors in counts code contributions; this article discusses both code and documentation contributions.

30 developers accounting for over 17% of all contributions in a calendar year would not happen if half of the users of Drupal were contributing something, even something relatively minor, when using Drupal. Why isn’t that happening?

Contributing to Drupal for the first time is not easy. Users attempting to contribute to drupal.org for the first time experience some so much friction. How much are usability issues when contributing code or documentation costing the community in terms of lost contributions?

One study showed that a badly designed checkout experience cost a single company upwards of 300 million dollars in revenue per year. That refers to lost sales after the user already selected the product and decided to pay for it. The site's password reset functionality on their log in form caused over 300 million dollars of purchases to be aborted in one year.

Compare that situation to contributing to Drupal. In that situation, the user already selected the product, would have received something tangible that they chose, and their only ‘hurdle’ was overcoming a standard login form with a reset password link.

When contributing code to Drupal, you must:

Item 2 in each of those lists is likely to kill the motivation of a first-time contributor looking to edit documentation. They want to edit the documentation now. They don't want to make a request to edit the documentation in the future. I know this is true because I have seen it happen.

How many times have people started contributing a patch or documentation, only to give up?

How much better would Drupal be today if that barrier were much lower?

What can we do better?

Implementing UX improvements on Drupal.org is the ultimate goal, but that will be quite an undertaking. In the meantime, we will be testing "Barrier-Free Contribution Sprints".

A barrier-free contribution sprint is a live event featuring the following:

  • Clutter-free, detailed, concise issue summaries
    • This can be done in the drupal.org issue queue, requires time investment to prepare each issue
  • Ability to submit their contributions as soon as they're ready
    • For example, in a shared Google doc open to the public. Changes can be saved here initially, and when they're ready, someone can go through the steps to formally submit the edits on drupal.org 

At Debug Academy, we’re starting locally (in the Greater Washington DC area) by hosting regular drupal.org Documentation & Contrib module/theme sprints specifically geared towards beginner contributors. The first one is planned for March 11th ( https://www.eventbrite.com/e/barrier-free-drupal-sprint-great-for-new-contributors-tickets-43245622822 ).

To simplify contributing, we will provide fully summarized issues with clear instructions. We will target 2 main areas: Documentation on Drupal.org (such as improving the Form API documentation for D8) and a contrib theme (or module) which we are maintainers of. We will remove all barriers to contribution by using our own task management system before and during the sprint, and then we will update the corresponding issues on Drupal.org after the work has been contributed. 

We will ensure all attendees are properly credited for their work on drupal.org, and that the drupal.org issue statuses reflect the latest work complete. Ultimately, we want the contributions to be easy to create and easy to submit. That’s it. That is how we will maximize the number of people contributing to Drupal. After the contributions are received, we will deal with the red tape on drupal.org ourselves, because expecting that of a first-time contributor may result in never receiving their contribution at all.

Feb 08 2017
Ali
Feb 08

Common perception is that Drupal has a steep learning curve. Others, colleagues included, find the statement misleading and detrimental. I find myself somewhere in the middle. I think that Drupal development can be unintuitive to someone new to Drupal. However, I believe that any motivated, interested individual can 'conquer' Drupal development, regardless of prior experience.

I decided to test the theory by teaching a pre-school teacher, a used car dealership manager, a Java developer, and five others, Drupal 7 development.

Why the Reputation?

Drupal allows you to change almost anything at all, without editing any of Drupal’s core code. Let that sink in for a minute. Bear in mind, Drupal built its name on older versions of PHP with little Object Oriented support. This required pushing older versions of PHP’s limits using creative techniques, which led to coining the phrase doing things ‘the Drupal way’. It also led to the well-known idiom that Drupal is ‘on an island’ of its own. Unfamiliarity with ‘the Drupal way’ is where the steep learning curve comes from. Note: Drupal 8 goes a long way towards moving from unique solutions to solutions which are "Proudly found elsewhere."

Once I finally wrapped my head around all of the Drupal-isms, I knew the learning process could have been much simpler with an experienced Drupal developer to show me that I didn’t have to jump over the hurdles, there was a simpler path around them. 

Motivation

Before working at Acquia, I began Debug Academy, which previously operated as Debug Society. Through Debug Academy, I taught motivated individuals to be web developers one-on-one. They learned HTML, CSS, Drupal site building, and Drupal theming. They were then hired to build Drupal websites by Debug Society under my guidance, which often led to career changes.

After repeated successes, I decided to build a proper curriculum and expand the material taught. Git, Drush, Command line, HTML5, CSS, Advanced Drupal Site Building, managing updates in code, and more formed the newly assembled curriculum. It included all of the skills needed to be a successful member of an enterprise Drupal development team.  But, if the learning curve is really so ‘steep’, could even non-developers really learn Drupal development?

Eight Students. Three Months. One Goal.

After developing the curriculum, I decided to test it on a full, diverse classroom at no cost to students.

I ensured the individuals in the class spanned a wide array of experiences and education. The only criteria for enrolling were an interest in learning and a willingness to attend. Classes took place on Wednesday evenings and Saturday mornings, to ensure the working professionals could participate.

The students' backgrounds were:

  • Pre-school teacher (English degree)
  • Tutor (Neuroscience degree)
  • Non-technical Entrepreneur (N/A)
  • Engineering Ops (Two Information Technology masters degrees)
  • Civil Engineer (Civil Engineering degree)
  • Java Developer (Mechanical Engineering degree)
  • Dealership Manager (Associates degree)
  • Recent High School graduate (N/A)

The learning experience consisted of PowerPoint presentations, written lessons, online tutorials, at-home assignments, pair-programming tasks, debugging, patches and so much more. When a topic was deemed too hard to follow for a majority of students, graphics were created to help explain.

Class Projects

During the class, we worked on projects the students could be proud of.

  1. Re-built craigslist using Drupal
    • Updates were managed in code, using Git (all projects)
    • Each student built a category, (Jobs / Housing / Community, etc)
    • Using enterprise development workflows, students’ work was combined
    • Each student created a version of the theme
    • We were left with a functional copy of craigslist, built as a team
  2. Built http://debugacademy.com
    • Students researched and made cases for different distros
  3. Created a new responsive theme for http://debugacademy.com
  4. Created a new responsive theme for http://debugsociety.com
  5. Built a new homepage for a paying customer
    • Payment went to involved students
  6. Built a new responsive theme for a paying customer
    • Payment went to involved students

Every website was built to be responsive, as is expected of all modern websites. A distribution was used for Debug Academy, while the rest were built from vanilla Drupal installs.

No decision was made in private, and no steps were skipped. Students chose which modules we used, and which distribution to use. It was a great experience for all of us, and students can still see their work online today.

Reactions to the Drupal Development Class

The diverse group of students, most of which with no development experience at all, were each tasked with learning web development using Drupal 7. With Drupal’s supposedly ‘steep’ learning curve, let’s see what their reactions were:

  • Pre-school teacher (English degree)
    "I would definitely take it again. I learned so much and I feel that there is so much left to learn. I enjoy working with HTML and CSS and getting the hang of these languages as well as Drupal has been very rewarding."
  • Tutor (Neuroscience degree)
    "Web design is the future. My favorite project was DebugAcademy.com, seeing it go live is exciting. I learned the basics of Drupal and feel that I now have a good foundation to continue with."
  • Non-technical Entrepreneur (N/A)
    "It is empowering to know how to work the technical side of things, especially if you are thinking of starting (or have already started) a web based company. In such a company, the reality is that the non-technical founder (or co-founder) can be more of a liability than an asset to the team. The classes at Debug Academy gave me real experience and a real start to coding."
  • Engineering Ops (Two Information Technology masters degrees)
    "I'm going to use Drupal to build a website for my business. It's fascinating how much we can do with it already."
  • Civil Engineer (Civil Engineering degree)
    "This was an eye opening experience. I never programmed before but it makes sense. I'm impressed with Drupal and plan to do more freelance work before working with it full time."
  • Java Developer (Mechanical Engineering degree)
    "This class is more than your typical 3-hour lecture with a lengthy slide-deck. It covers real-world problems in web development and best practices that will have you ready to join a development team in a short period of time. After a few weeks you'll be working on real work that will NOT be thrown away. The best way to learn Drupal and web-development is by completing hands-on, useful work, and this course ensures that you are doing just that."
  • Dealership Manager (Associates degree)
    "This has opened so many doors for me."
  • Recent High School graduate
    "I am not yet responsible enough to be doing assignments, projects on my own yet. But it was really interesting to see the amount of effort it takes to build a website from scratch. The class is only good if you are willing to put in the time and effort. "

Where are they now?

The paths taken as a result of taking the class varied, but not for the reasons you may have expected. The primary indicators of success were showing up to class on time and successfully completing the required assignments.

Let's break it down by person:

  • Pre-school teacher (English degree)
    • Timely Attendance: 95%
    • Homework Completion: 80%
    • Now: Working as a front-end Drupal developer, received a 50% Salary increase.
  • Tutor (Neuroscience degree)
    • Timely Attendance: 90%
    • Homework Completion: 75%
    • Now: Working as a front-end Drupal developer, received a 50% Salary increase.
  • Non-technical Entrepreneur (N/A)
    • Timely Attendance: 60%
    • Homework Completion: 60%
    • Now: Migrating web-based business to Drupal for its flexibility.
  • Engineering Ops (Two Information Technology masters degrees)
    • Timely Attendance: 80%
    • Homework Completion: 30%
    • Now: Building Drupal-based small business website to pursue a personal business goal, and to learn Drupal better.
  • Civil Engineer (Civil Engineering degree)
    • Timely Attendance: 70%
    • Homework Completion: 60%
    • Now: Studying PHP and MySQL with the intention of changing careers.
  • Java Developer (Mechanical Engineering degree)
    • Timely Attendance: 95%
    • Homework Completion: 100%
    • Now: Working as a Senior Drupal Developer at Acquia. Received a 40% salary increase.
  • Dealership Manager (Associates degree)
    • Timely Attendance: 80% 
    • Homework Completion: 80%
    • Now: Became an IT Consultant, then Director of IT, after adding Drupal Development to the small business' services. Now employed as a Security Engineer for MicroStrategy.
  • Recent High School graduate
    • Timely Attendance: 65%
    • Homework Completion: 40%
    • Now: Pursuing a degree in finance, but having an easy time in his intro to web development course.

    Conclusion

    “Drupal has a steep learning curve” is the claim in question, and I readily refute it. It is not that the curve is steep, but that it can seem steep without guidance. The path to understanding is murky, and without a guide, it may seem more treacherous than it really is. After a three month, part time Drupal course provided through Debug Academy, ZERO students’ reactions were ‘Drupal is too hard’. Not even the students with no web development background at all!

    On the contrary, 7 out of 8 students plan to use Drupal professionally. The former Java developer is currently working at Acquia as a Senior Drupal Developer. The former used car dealership manager was able to completely change career paths, and is now a Security Engineer at a large software company. These students earned it with their perseverance, hard work, and decision to enroll.

    So if you are interested in learning Drupal, but are worried that the learning curve is too steep, take heed of the former pre-school teacher, the former car salesman, and the former Java developer. If you have the right attitude and have an experienced Drupalist to make you aware of the Drupal-isms as you get started, you can use Drupal to change your career as well.

    The students in this article learned at Debug Academy, which is accepting applications for upcoming classes in the Northern VA / Washington D.C. area on its student-built website, and is accessible to individuals of any experience level. An option in Boston, Acquia U, pays you to learn, and is accessible to individuals with at least 2-3 years of technology experience. Find the right solution for you, and embrace the career changing opportunities! 

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