Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Jul 22 2020
Jul 22

Last week the community had its first online DrupalCon Global. It was a great experience for our team--better than many of us expected it to be. We posted daily summaries of our session notes and comments on the event last week for Day 1, Day 2, and Day 3. Our team also took part in the Friday Contribution Day as well, with most of our work focused on preparing contributed modules for Drupal 9, the Help Topics project, and documentation.

Now that we've had a bit of time to recover from the flurry of last week's activities, we want to share our overall impressions of DrupalCon Global.

Contribution Day

While the sessions for the main conference were hosted on the Hopin.to platform, the community contribution work was managed using the Drupal-based Open Social platform. This let different groups manage their communication and organize in one, central location so attendees could browse through the various contribution options.

Blake spent time working on preparing contributed modules for Drupal 9, and he said "I was really impressed with the tooling that's available to help module maintainers with the process (the Upgrade Status tool in particular)."

Amber is a lead for the Help Topics project,

It was really great to work on some Help Topics issue triage and writing on Friday. I had fun playing cheerleader and recruiting help. And I also got some writing in! It's been hard to make time for the module this year and it was great to set aside a day to work on it. Incidentally, I feel recharged and more motivated to work on community tasks after DrupalCon. (One of the benefits of DrupalCon in general, I think.)

How did this compare to other conferences?

Most of our team has attended in-person DrupalCons in the past, and some people have attended other online conferences, especially this year. It's interesting to look at the pros of cons of DrupalCon Global in that context. We really liked that we could attend from the comfort of home and while we missed the intense socializing, we also appreciated getting a break and being able to recover our energy for each day of sessions. It has a different energy from in-person events, but different isn't bad.

Philippa summed it up,

No matter how good, conferences can be exhausting. While I would have preferred the opportunity to socialize more with the community face to face, I really liked the digital session format. It enabled me to attend more sessions and absorb more information than a live conference where I struggle with feeling overwhelmed.

Another advantage of the online event is that you didn't have to worry about overcrowded sessions where you can't get in, and switching back and forth between sessions was super easy. It made it easier to attend more sessions and find a session that grabbed your interest in a given slot. That led to us attending more sessions than we normally would have in-person.

With the socializing and networking requiring more active effort, there was also a feeling of this being easier at an online conference where you already know some people. While this is also true at in-person events, the extra work to meet new people felt like a much bigger barrier at other conferences, and was less likely to happen. Running into people we knew from the community or other events in chat rooms made this event feel more comfortable from the start.

We also liked the Hopin.to platform. While few of us were brave enough to click on the Networking button (which puts you into a direct message with another attendee who wants to chat too), we found that the platform was easy to navigate and the addition of the chat to each session, as well as the event in general, was a nice perk. It allowed participants to engage with each other, ask and answer questions, provide links, and generally add to the experience. It could be distracting at times, but you can close the chat window in those instances. The chats were beneficial enough that we wouldn't mind seeing something like this added to in-person events as well.

One thing that was notably missing at this DrupalCon was access to the recorded sessions shortly after they were presented. At a regular DrupalCon, the session would be uploaded to the Drupal Association YouTube channel very quickly. We understand that given the nature of this conference, it made sense to not "give it away for free" so quickly. That said, as paying attendees, we expected to be able to watch sessions that we missed. Given the time zone issues and scheduling, many (most?) people missed sessions because it was simply not a good time locally. The lack of quick video availability made it feel like the entire conference was not accessible. With all that said, we'll note that the videos from the sessions will be made available on YouTube for the community, just not until September.

Our favorite sessions

There were a lot of good sessions and we all enjoyed ourselves at the conference. Here are some of the favorites from the team.

Philippa

The Olivero theme: Turning a wild idea into a core initiative and Designing for Chaos: The design process behind Olivero

What I liked most about these back-to-back sessions was the storytelling format that brought substance to abstraction in a way that proved very illuminating for me. Explaining how Olivero was conceptualized - from its beginning as a passing conversation at a previous DrupalCon to its current place as a core initiative was super compelling. Specifically, and from a content strategy standpoint, I was very interested in learning about how they defined the scope of such a large project, and how accessibility and simplicity were major conceptual drivers to reign the project in.

Blake

The Performance & Scaling Summit was a really good refresher on some of the tools and techniques I should be using on a regular basis as a status check on our sites. I'm guilty of not being as proactive as I could in this department, so it was nice to see how I could do a better job of integrating profiling into my development process on a more consistent basis.

Amber

Shift Left: Addressing Digital Inequity for the Black Community contained a lot of good food for thought. It's a session I plan on re-watching when the recording becomes available. (See our notes and impressions in DrupalCon Global Day 3.

Addi

I was really happy with the number of sessions that specifically addressed diversity and inclusion, and in general the human part of technology. I liked the groundwork laid in How to improve psychological safety in your organization, which had lots of good resources for teams of different sizes. In addition to Amber's pick of Shift Left, I also learned a lot in the Software for a diverse community starts with a diverse team and Trans Drupal: Designing with transgender users in mind sessions.

Summary review

This was a great conference. It was well run and had high quality sessions for a very wide range of interests and skills. We're impressed with the quality of the event, especially given the circumstances for it coming about online, and the short timeline that the Drupal Association and volunteer team had to pull this off.

While in-person conferences tend to be more about socializing and networking for many of us, the online venue drew us more into the sessions themselves. We all managed to consume and be able to engage with the material better at DrupalCon Global. We do miss the social time and the serendipity of in-person events, but there's not reason that both kinds of events can't become part of the community's event list.

Jul 17 2020
Jul 17

Well, day 3 of DrupalCon Global delivered again. It's been a whirlwind 3 days full of good content and meeting lots of people new and old. Blake captured the general feeling of this 'con,

I was very skeptical of a virtual DrupalCon (especially as someone who didn't attend at all last year). Although I missed the first day, I'm really glad I had the time and opportunity to engage with the event. Seeing so many new faces presenting was also wonderful. DrupalCon Global was a great way to reconnect with folks in the community, and still be able to have dinner with my family in the evenings. Two thumbs up, would attend again.

Contribution Day

While sessions are over, don't forget that today, Friday, is the traditional contribution day. You'll need to sign up on the DrupalCon Global Contributions Room site, and it's open to everyone--no DrupalCon ticket required. There are many different kinds of groups that require a wide range of skills, with plenty of space for non-coders. If you're not sure how to get started, there is a page that explains how to take part in Mentored Contribution, which will walk you through the whole process.

Sessions

We were definitely starting to feel some brain overload on the third day of so many sessions. There were some really good ones though on this last day of the session schedule. We also had 2 of our team, Amber Matz and Joe Shindelar, presenting on Thursday, so make sure to check those out when the videos come up.

Amber's session: Deep dive: state of Drupal (Link to slides with presenter notes)

Joe's session: Altering, extending, and enhancing Drupal (Link to session resources)

And here are the random notes from the sessions we attended yesterday.

The Olivero theme: Turning a wild idea into a core initiative

  • Drupal core ideas is a great place to find collaborators, and share ideas for potential projects
  • Documentation, identifying stakeholders, and having diverse skillsets on the team were key to the projects success.
  • Building a static POC on Netlify, and using Tugboat allowed folks to get involved and contribute earlier than if they had gone straight to a Drupal theme.
  • Drawing the line between must haves and nice to haves was important to maintain project momentum and contributors' mental health

Designing for Chaos: The design process behind Olivero

  • The main motivation for Olivero: to create a better first impression with Drupal
  • The team named the theme in honor of Rachel Olivero, who worked at the National Federation of the Blind, and who was committed to making tech accessible to all people
  • Validating the design: "The first draft of anything is shit"- Ernest Hemingway
  • The "flaw of averages" (if you want to design something for an individual human being, the average is completely useless) and how the designers worked to avoid it.
  • Spectrum analysis that was used to establish voice and tone (formal, bright, approachable, high contrast)
  • In order to be able to iterate more quickly defined a core set of stakeholders to help with initial designs before showing to the general community. This helped eliminate low hanging fruit issues (e.g. broken accessibility) that would have been blockers no matter what. This allowed the broader community to keep the discussion focused on bigger picture things.
  • Cool use of Invision app to allow stakeholders to rank things on a scale. They created an image with lines and good ---------------- bad and then people could leave their comments in Invision somewhere along the line. Since comments show as little red circles you could clearly see ranking. And discussions could take place in the comment threads.

(Philippa) As a non-tech person, what I liked about these both Olivero presentations was how they laid out the thought processes linking the idea to the core initiative, and how they advocated for the idea that led to the new default front-end theme for Drupal 9.

Intermission: Desk yoga with Gabrielle Rickman

Sooo good. While some people on the team opted for a breakfast intermission, others of us got a very nice break of stretches to do in your chair. Useful for any conference, but extra refreshing at an online event.

Driving today's CMS with tomorrow's artificial intelligence

  • What is artificial intelligence (AI), machine learning(ML)? ML is a subset of AI. ML is not smart enough to evolve itself.
  • Uses in business:
    • Advanced automated interaction with customers
    • Identifying patterns in behavior
  • Where can Drupal use this?
    • Content moderation
    • Analyze customer mood
    • SEO
    • Chatbots
    • Personalization
    • Visual search
  • How do you do this? Are you ready? Do you have a plan for this in your org?
  • APIs to use
    • Azure Cognitive Services API (multiple APIs: vision, speech, etc.)
    • Google Vision API (this is much bigger than the Azure Vision API)
    • Drupal modules exist for these APIs
  • Really neat to see examples of how this can be used for content management. Nice live demo and some really cool things you can help automate.

Open source belongs in school--Let's put it there!

A presentation by a teacher and his students, The Penguin Corps, about how they are using Open Source. Led by the students.

Software for a diverse community starts with a diverse team

Highly recommended. Really great session that addresses a lot of questions about diversity AND inclusion, and looks at how to create inclusive work agreements with clients and vendors.

MagMutual.com: On the JAMStack with Gatsby and Drupal 8

  • Decoupled architecture
    • volatility based decomposition of feature requirements
    • Drupal (CMS) / Gatsby (Website) / Serverless (AWS Deployment) / Bus. Logic (Lambda) / Apollo GraphQL (User Data) / ElasticSearch (Search) / Auth0 (User Identity)
    • Briefly walked through the features and benefits of each of these components
    • (notes for our potential future use: Drupal Elasticsearch AWS connector module, AWS lambda rate limiting, Gatsby searchkit plugin)
    • Serverless framework: not really used on live code, but helped with (by allowing folks to avoid using AWS console)
      • deployment
      • mocking
      • testing
      • logging
      • local development
      • project structure
    • Living with it - ongoing support
      • harder to debug integration points, more things to support, onboarding
      • Apollo GraphQL is a huge win (helps set up data structure schema, and force thinking about it), improved performance, adding new design assets is faster

Shift Left: Addressing Digital Inequity for the Black Community

Another highly recommended session. We'll be watching this again when the video goes up.

  • Designing tech for people without a detailed and rigorous study of people makes the kinds of tech designs that we see come at the expense of people of color and women (rough quote from Algorithms of Oppression)
  • Understanding the effects of systematic dehumanization of Black individuals
    • Sylvia Wynter (No Humans Involved)
    • Aime Cesaire (Discourse on Colonialism)
  • Hegemony's role determines which products are created, and which problems are prioritized
  • The continued exclusion of Black people from technical creation
    • Blackness as an afterthought (film)
    • Black input is consistently missing from product development (2.5% of employees at Google 2018, 3.3% of technical employees at Microsoft 2019)
    • Double Consciousness
  • The Digital Divide
    • Having less access to technical skill development enhances the divide, and makes being part of solving the problem through product creation more difficult
    • Beware software, PredPol algorithmic biases & flawed training data in machine learning systems leading to systemic injustices
  • How can we move forward?
    • Reframe perspectives (equitable and fair predictive algorithms)
    • Actually address the issues
    • Intentionally Carve Space - tokenism and quick fixes won't solve lack of equity

Hacking live! A realtime look at website security

  • Don't trust user input, even admin form input.
  • Use Form API. It provides XSS cleanup on output by default. (Drupalize.Me tutorials: Forms (Form API))
  • Avoid using the raw filter in Twig. (Twig auto-escapes strings and the raw filter removes that safety net.) (Drupalize.Me tutorials: Twig Filters and Functions)
  • XSS exploits can be stored both in cache and database. (Sanitize output that is coming from a cache.)
  • DDOS (Distributed Denial of Service). Hitting a page with a slow function at a large scale (relatively speaking) can take the site down.
    • Limit form submissions to prevent flooding.
    • Move slow functions to asynchronous queues.
  • Access Bypass
  • Use PHP CodeSniffer to Find Errors.
  • Module plug from the chat: Content-Security-Policy
  • Dries attended the session and he shared this link to his site: HTTP Headers Analyzer

Altering, extending, and enhancing Drupal

  • Check out Joe's resources
  • Don't hack core. (Alter and extend instead!)
  • Let others change your module, without hacking it. (This is super powerful!)
  • Ways to alter, extend Drupal:
    • Respond to an event (a user is logging in)
    • Drupal wants to a question (does anyone have a block they want to add to this list?)
    • Add code that adds new functionality
    • Make a change to existing functionality (change fields on a login form, for example)
  • Don't hack core. Instead use one of these systems.
    • hooks
    • plugins
    • services
    • events

Adapting your DE&I efforts to the reality of the crisis

Importance of creating safe spaces for people on your team to talk about their struggles and/or to get to know one another better. This could be through one-on-ones or regular online social events. (Physical distancing, not social distancing.)

Inclusive content strategy

"People want to be seen as equal participants and not afterthoughts."

  • (Philippa) LOVE that she called out hiring language that speaks to whether people are a good "culture fit" in businesses and organizations - because people shouldn't have to conform culturally - and how content that communicates aligned values is a great alternative.
  • Some of what inclusive content means:
    • Predictable structure, (like nesting and heading orders) for easy navigation
    • Color contrast/font/distinguishable links
    • Short sentences (9th grade reading level) and plain, jargon-free language
    • Bullets and number lists
    • Imagery with captions, subtitles, text alternatives (which also helps those with poor internet connections)
    • Closed or open captions - which also helps those whose first language isn't English
    • Minimizing or avoiding emoticons, which are hard for screen readers

We'll be posting a wrap-up of the overall DrupalCon experience for our team, including today's contribution day, some time next week. We hope you've had a great 'con and hope to see you at the contribution day. If you see anyone from our team, please feel free to say "Hi!".

Jul 16 2020
Jul 16

Day 2 of DrupalCon Global was chock full of great presentations, and we also attended the 2 summits, Community and Performance & Scaling. Everyone has settled in to the platform and rhythm of the conference now, and it's been great catching up with friends and community colleagues.

As Amber says,

I'm enjoying DrupalCon Global more than I thought I would, to be honest. (Still bummed about missing a trip to Minneapolis!) But I'm learning a lot and reconnecting with what is going on with the project and in the community.

Here are our notes from day 2, which again, are not fully fleshed out, but highlight the things we found interesting or want to follow up on.

Sessions

Drupal Initiatives Plenary

  • Great community initiatives to participate in. Quick overview of each one with some info about how to get involved.
  • Drupal Diversity and Inclusion (DDI) -
    • They have a booth in the Hopin Exhibit Hall if you want to learn more or chat with someone
    • Ideas for ways to take action
      • Read the Code of Conduct and understand it
      • Consider being an official CoC Contact
      • Speak up when you see a problem, prepare to disrupt harassment
      • Notice who is present; who's missing? Sponsor marginalized individuals
      • Management: Fix hiring, recruitment and pay gaps
      • Update your language

Single sign on across Drupal 8

  • Slides
  • A good walk through of the presenter's medium article on the same topic. Did a good job explaining the different components of a single sign on system, their role, and how to integrate Drupal at each point in the process.

Trans Drupal: Designing with transgender users in mind

  • Gender 101 and history
    • What is (personal) gender? The easiest answer is that it's whatever a person says theirs is
    • Social gender is a social organizing principle (e.g. men's and women's bathrooms)
  • All work is biased in some way - none of it is perfectly neutral
  • Words and images, be aware (find images on https://genderphotos.vice.com/ and https://getavataaars.com/)
  • Let people change their data, make sure it updates everywhere, and don't keep the old values (avoid deadnaming). Transition means a lot of different things and can happen at any time/over time. You want to get rid of old data completely so that it can't be resurfaced later.
  • Do you really need to track gender on your site? Why? If so, it's complicated to do.

Unit tests in Drupal: The road to test-driven development

  • Introduction to TDD
  • Live demo of the Red > Green > Refactor feedback loop using PHPUnit
  • Unit Test fundamentals & vocabulary

Dries Q&A

  • Make DX of Drupal better for devices with less power/RAM to increase adoption among students and others.
    • Any change we make to improve Drupal's DX/performance in this respect will both help lower end devices, but also benefit all sites. e.g. sidewalk curb cuts
  • Is there still a sizeable market for small businesses? Or are they moving to site-builder tools.
    • On the lower end of the market there are lot of competing technologies, and while Drupal can be used it's harder to convince people. vs. high end of the market there's less competition and more opportunity for Drupal to stand out.
  • Do you see online conferences becoming a permanent mix for the Drupal community going forward?
    • Dries: Likes that it lowers the travel barrier, and makes it more accessible to people
    • Dries: Misses seeing people in person, and misses human interaction. Which Dries believes is an important part of what has made Drupal successful.
    • Heather: DA is committed to in-person, and doesn't see the desire for that going away. But, is open to exploring how virtual events can supplement in-person ones.
  • What unexpected things, positive and negative, have you observed about yourself and the community as a result of the COVID pandemic
    • Good leadership is important in moments of crisis
    • Value of cooperation
  • How can we answer the criticism that Drupal is not popular and has a poor perception amongst developers in general
    • Drupal is so far ahead of the competition in a lot of ways that people just don't know about. e.g. caching and big pipe ... most devs have no idea about these things and their importance but benefit from them when they use Drupal. Also, Drupal is a model OSS community.
  • 3 biggest goals you have for the future of the product?
    • adoption, ease of use, low cost of maintenance
    • Increase adoption to a point it can be used as a wedge issue to promote the open web
    • See Drupal grow by making it easier to use, and lower the maintenance burden

Drupal.org panel

  • New Contributor Guide that aims to make it easier for contributors to on-board themselves and find things to work on
  • Lots of changes to packaging and stuff that happens behind that scenes that as an end user you probably don't care much about as long as it works but make a big difference for module maintainers and the security team
  • Issue Forks & Merge Requests - new tools for maintainers open for opt-in beta now, a Drupal.org implementation of something akin to GitHub pull requests. A bit improvement over the current .patch based workflow and will lower barrier to contributing to Drupal.org hosted projects. Mostly working on trying to iron out UI/UX issues before enabling it for all of contrib. And then core as well.
  • Future projects:
    • Federated login
    • Better telemetry
    • Upgrade Drupal 9
    • Packaging related to auto-updates initiative
    • Preparation to support the release of Drupal 10.

Drupal 9: New initiatives

A working session to discuss next steps for D9 initiatives. One major challenge for all initiatives is the need for people to help with project management and just general organizing of things. There was some talk about the proposed JavaScript menu component idea that was proposed in the Driesnote. Mostly recognizing that it requires better definition. Lots of agreement that keeping it limited in scope to something small and attainable is important. And, one of the primary goals is to create/demonstrate an on-ramp for JavaScript developers into the Drupal core community.

Looking to Drupal 10. Move everything to PHP8, and help/pressure upstream libraries to do the same. CKEditor is EOL, need to either update to new version or remove. jQuery related, it's probably time to convert to vanilla JS. Which also means removing jQuery UI, an maybe Backbone too? [meta] Release Drupal 10 in 2022

Easy out-of-the-box initiative needs a leader. And combines efforts from at least three other ongoing projects like Claro, and Olivero. Needs someone who can help with accessibility and focus on accessibility related issues within the initiative. Someone who cares about day-to-day users of Drupal and beginner experience.

Improving your onsite search

  • Making sure your Drupal site is optimized for both organic and onsite searching
  • Why onsite searching is important:
    • It presents your site as a reliable resource
    • It blocks out competitors, which may show up in a Google/Bing search
    • It increases a customer's satisfaction by validating the decision to be a customer.
  • How to make onsite searching a priority: Basically, you apply the same SEO/tagging/taxonomy/metadata/keyword principles that help optimize a site for organic searching.
  • Finally, you can use Google Analytics to learn what people using onsite search are looking for, and how they're phrasing those searches. This learning can be applied to future content creation.

Mind-blowing content planning in native Drupal

  • A great presentation from Lukas Fischer from Netnode about the nearly-released 1.0 version of the Content Planner module, a tool suite that helps plan editorial content calendars.
  • Lukas demoed how to download it, showed the module's flexible and configurable dashboard, (walking us through what types of views and widgets you could add), and made a strong case for why it should replace Google/Microsoft sheets and Trello (yup, that's us) for planning and managing content.

Drupal Security Team Q&A panel

  • Great info about what the Drupal Security Team does.
  • Highlight was Portland Drupal community member Sam Mortenson (https://twitter.com/mortensonsam) explaining how he, as a security researcher, finds bugs.

Sharing is caring: Don't hold your knowledge hostage

From squiggles to straight lines: Sketching discovery & UX

  • Marissa Epstein shared how she uses sketching in discovery and UX processes. In a world of perfectionism and over-engineering prototyping solutions, Marissa demonstrated how sketching is a great way to quickly flesh out ideas and get clients (and the whole team) on board and confident in the direction the site design is going.

Drupal Automatic Updates in action and in depth

  • This was my first time seeing a live demo of the Automatic Updates module. Really promising work here and there's a lot of work still to come in "Phase 2". This is one of the priorities for Drupal 10, as Dries explained in his "Driesnote", so expect some great progress on this front.

Summits

Community Summit

15-minute talks:

  • Events Organizer update - Baddy Breidert
    • Some history on this working group and where they are now, how to get involved.
  • Cultivating the Drupal Community Mindfully - Matthew Tift - mindfulness is not for solving problems, but to rethink our relationship to problems; how mindfulness can help our community based on our values and principles; cultivating an intentional community by being present
  • If you want to cry, watch Mario Hernandez's presentation, Why teaching someone else is the best way to learn.
    • And a meaningful way to both lift others up and contribute to the community
  • The ROI of a Dedicated Community Person - Anne Stefanyk
    • Having a dedicated community person makes it easier for the rest of the team to make impactful contributions with the "short" amount of time they get on a weekly basis to contribute to OSS. The community person on the team can help the rest of the team keep up with what's going on, and allow them to jump in and contribute without having to spend a tone of time figuring out what's happened since I was here last week.
  • Be a good boss: How to support your marginalized colleagues - Tara King
    • Cute animal pics for a hard topic.
    • This topic has real, material impact on people's lives; it's not about looking good.
    • Be kind isn't good enough. What does "kind" mean for different people?
    • Actions to take:
      • Reflect on yourself
      • Slow down (speed and spontaneity is not inclusive) - "Go fast and break things might work for software, but it's never good for people."
      • Make space (for processing experiences)
      • Ask (don't assume, just ask)
      • Practice (being uncomfortable)
      • Culture add, not culture fit
      • Educate yourself (use the Googles)
      • Increase pay equity and transparency

Performance & Scaling Summit

  • Mike Herchel - front-end performance audit
    • WebPageTest is a useful (low overhead) tool to get started testing your site.
    • Lighthouse is another useful tool for profiling your site.
    • Continuously profiling your site, and being aware of where the slow parts are is 80% of the battle.
  • Janna Malikova - load testing your Drupal website before it's too late
  • Shane Thomas - Decoupled Performance
    • Decrease your JS bundle size
    • pay attention to your images
    • make use of browser cache (progressive web app)
    • JSON:API Boost module
    • Optimize your API
      • Optimize GET requests using includes
      • Subrequests module
      • JSON:API Extras module
      • filters to explicitly filter out content
  • Michael Schmid - How to survive COVID-19 as a hosting provider

Let day 3 begin!

Day 2 was great and we're excited to dig into day 3, which is the last day of presentations. Don't forget that Friday is the community contribution day and everyone can participate. You don't need to be registered for DrupalCon to take part. So sign up for the DrupalCon Global Contributions Room to get involved and hang out with lots of great people.

Jul 15 2020
Jul 15

DrupalCon Global kicked off of this week and the Drupalize.Me team was there to participate. The originally scheduled DrupalCon North America in Minneapolis was canceled earlier this year due to COVID-19 and the great team at the Drupal Association worked magic to create a new DrupalCon experience with DrupalCon Global, the first online DrupalCon.

Almost everyone on our team has attended in-person 'cons in the past, so it was interesting to feel the differences between in-person and online. Philippa has never gone to a 'con before, so it was awesome that she could experience DrupalCon for the first time. We've gathered all of our notes from day one, along with links to videos of sessions to check out if you are registered. (Note that the session videos will be available on YouTube for the entire community in September. In the meantime, you must be a registered attendee to access the recorded sessions on Vimeo.) We'll keep a daily commentary going all week.

The Hopin.to platform

DrupalCon is using Hopin.to to manage the conference. The live sessions are delivered here, along with the ability to chat with other attendees in chat rooms, as well as randomly meet others one-on-one through a networking feature. The exhibit hall is also managed here, and you can "visit" an exhibitors booth either by expressing interest so someone contacts you directly or by entering their chat room to talk with them and other visitors.

We found that the platform worked pretty well and it was pretty clear where things are. Besides being online of course, the big difference in sessions with this is that there is a chat room for each session so attendees can talk and ask questions during the presentation. This ended up feeling like both a plus and minus for many of us. On the one hand it was neat to see people engaging at the sessions and be able to "talk" while the session was in progress. This can really add to the session with interesting comments and conversations, and people helping each other out with questions. On the other hand seeing the back-channel chatter can be distracting or overwhelming, especially when there are large groups of attendees. You can close the chat window while you watch though, so if you find it annoying you can toggle that closed. There is a small button at the top of the chat window, between the timeline and the attendee count.

Hopin minimize chat window button

Joe sums up what many of us are feeling with the overall online experience so far.

"I'm quickly realizing how much I rely on the serendipity of in-person events to get to me to interact with others in the community, which is my favorite part of DrupalCon. But it's all primarily chat based, and a bit more opt-in than when someone walks up to you in the hall and says, "Hi Joe!". Being an active participant and not just a lurker is likely to be the hardest part of hopin for me."

Inclusion

One of the great things about an online conference is that it is much more accessible to many more people. It's also heartening to see the Drupal community highlighting diversity and inclusion. There is always so much work to do, and we were happy to see time scheduled in the event for 8:46 minutes of silence observed in honor of George Floyd and the Black Lives Matter movement. We hope this conversation continues and leads to lasting change in our community.

Another aspect of inclusion for online communities is the issue of time zones. Addi lives in Denmark, while the rest of our team live in several time zones in the United States. The main event is largely scheduled on American times, which meant that Addi missed a fair amount of live sessions and the first trivia night, being too late at night. That said, it's great to see that there are multiple trivia nights this year, with different days at different times so that everyone can participate. On the flip side, some of the initial sessions of the days are scheduled quite early in the morning for our folks who live on the U.S. west coast. There's really no way around time zones and live events, and it'll be interesting to see if there are more ideas that spring up after this 'con about how to create a more "live" experience for people who are not in the main targeted time zones.

Finding and scheduling sessions

You can find the schedule for all sessions both on Drupal.org and in the Hopin Reception area. Here is the schedule for Day 1. Don't forget that you can make your own schedule to follow by using the "My schedule" feature on Drupal.org or you can add sessions directly to your own calendar in Hopin. This can be a great way to cut down on the overwhelming list of sessions and it can help you figure out when you can watch live in your home schedule versus needing to go back to watch videos later once they get uploaded.

Session notes

Here are some somewhat random notes from sessions that we attended on Tuesday. We've also provided links to both the session page and the on-demand library video where possible (and we'll add the video links as they are put online).

Intermission

There was a pasta intermission! Before the sessions started, Vincenzo De Naro Papa from Amazee.io showed us the authentic Italian way of cooking pasta. It was a fun way to make things feel homey and relaxed before things got kicked off, though a fair number of people were probably confused about whether they were at the right conference when they first entered the main stage area. :-)

How to improve psychological safety in your organization

  • (Addi) This session covered a lot of things that we do well, and some things that apply more to larger organizations than we are. It also introduced some new ideas for me to look into within Osio Labs: Personal user manuals and documenting the Andon cord process (how do you stop work to address problems?).

Driesnote (video - Dries' presentation begins at 15:48)

  • Details about Drupal 10: shorter release cycle (targeting June 2022), limited to ~5 official initiatives with a focus on improving the beginner/new user experience.
    • JS Menu component
    • Automated updates
    • New front-end theme (Olivero)
    • Easy out-of-the-box (complete Claro admin theme, Layout builder, and Media)
    • Drupal 10 readiness (dependency end-of-life timelines, e.g. Symfony 4)
  • Q&A session will happen on Wednesday instead of happening right after the talk.
  • (Joe) It's nice to see the hat tip to diversity and inclusion, and hopefully that continues to expand within the community and continues to result in real change. This year's speaker lineup is the most diverse, and it's great to see that.
  • (Addi) I really like the emphasis on DEI and that people have generally been very supportive of this stance in the chatrooms. Tim Lehnen's talk at the end of Dries' presentation was good to see.

Community & Belonging in the Time of Coronavirus

  • (Joe) Adjusting to remote work, remote community, changes how we engage and how we gain a sense of "belonging". For many people remote work/working from home is becoming the new normal, not just a temporary thing.

Drupalcon on the front lines of covid-19

  • (Philippa) Four panelists, working for widely different organizations, spoke about how, in recent months, they've used Drupal to help communities, governments, and organizations fight the effects of Covid-19. For example, Christina Costello, Web Developer, Redfin Solutions, LLC, spoke about her agency's work with the Rural Aspirations Project. They helped set up a Drupal 8 website for them using the Claro theme for admins, which delivered good content moderation functionality and gave them something they needed very quickly amidst the statewide shutdown of schools: a CMS offering a quick and efficient approval process for content editors. The result was that in a very short time, they were able to help connect rural communities in Portland, Maine with good, creative online learning opportunities for kids. For instance, the site connected a Portland, Maine-based comic strip artist with kids in rural areas, who learned how to draw what they were experiencing in quarantine in a comic strip. Cool!
  • (Amber) Interesting panel of speakers who talked about both client solutions and workplace issues they needed to solve at the onset of the crisis. Interesting mix of Drupal modules and solutions that helped us and our clients quickly deliver new types of content as well as remote workplace adjustments.

Decoupled Drupal in real life: JSON:API at scale

  • (Amber) Lessons learned, caching, and other strategies for scaling decoupled or progressively decoupled Drupal sites. Lots of good real-world lessons. Goes way beyond a basic demo of "turn on JSON:API".

Big systems, big problems: Lessons from 40 design systems

  • (Amber) Learned some helpful strategies for redesigning a site, including sketching out user flows. Also great information about setting content component priorities.

Social events

Trivia

  • (Joe) Amber, Philippa and I had a team, and tried to have both a Google Meet and the Hopin session open at the same time, which made it feel like you where in loud bar with everyone talking over everyone else. It was kind of fun, and Fatima did a great job of being a lively host. But it's just not the same as Trivia in a pub. I'm glad that effort was put into keeping this tradition alive in some form though.
  • (Amber) It was fun to do a "happy hour" with co-workers during trivia. Definitely not the same as the in-person experience, but still fun in its own way.

What's next?

Well, that's our quick summary of day one as we gear up for day two. We'll be back tomorrow with our day two summary. Are you attending DrupalCon Global? What are your thoughts, tips, and highlights so far?

May 11 2020
May 11

Update: To be clear, you do not need to sign up for an account for the free materials. The tutorials and exercises will be free to everyone starting on Monday, lasting through Friday.

May’s DrupalCon Minneapolis has morphed into July’s DrupalCon Global! Hurrah! Heather Rocker, Executive Director of the Drupal Association, recently used two perfect words to describe the Drupal community: flexible and adaptable. Extraordinary times require nothing less and with the Drupal Association’s adaptive and flexible response to the pandemic, it might just mean that more of the world’s 3 million Drupal users get access to the ideas, celebration, and kinship that DrupalCon embodies.

My teammates Joe, Amber, and Ashley were set to give a beginner-level theming workshop at DrupalCon Minneapolis in May. It’s a course they’ve worked hard to craft as an excellent resource for learning how to make custom Drupal themes, and they’ve taught it in person at many workshops over the years. Sadly, this year they won’t be able to do this in Minneapolis, but we do have the workshop material online in the form of our Hands-On Theming course. To make this even more accessible and to mark the original DrupalCon Minneapolis week, during May 18-22, we’ll make our entire Hands-On Theming course free for anyone wanting to learn.

#DrupalCares logo
We encourage you to make a donation of any size to the Drupal Association in lieu of payment to us, if that is something you can do. Small but mighty, the association supports Drupal.org projects and has the massive task of scheduling (and rescheduling) DrupalCon.

Come back next week to learn Drupal theming for free, support the Drupal Association if you can, and have a great “DrupalCon” week.

Feb 19 2018
Feb 19

React for DrupalThe interest in creating decoupled/headless/API-first Drupal sites has been growing for a while. As the interest grows, and more sites are implementing this architecture, there is a growing list of articles and discussions about it. Essentially, with a decoupled site you have a backend that provides an editorial interface for creating and storing content, and an API for retrieving it. This is combined with one or more frontend clients that can display that content where and how you would like. Drupal is a great backend for these kinds of sites, and React is the most popular JavaScript framework being used for frontends. While Drupal and React are both well-established technologies with a wealth of documentation, the interaction between the two, and best practices around that interaction, are still developing.

There has also been a push for Drupal core to adopt a modern JavaScript framework with the end goal of improving Drupal's user experience (UX). At this time React is the current leader in this initiative. So it's not a bad idea for any Drupal developer to at least be familiar with what React is and why it has been taking the web by storm.

Lullabot Education (the company that runs Drupalize.Me) has been exploring the world of JavaScript in general, and React specifically, and we've been pulling together resources. As part of this process, we've put together a new site, React for Drupal, that curates the best of our findings. If decoupled Drupal and/or React are topics you want to learn more about and keep current with, this is a great place to start. We'll also be keeping the site up-to-date as best practices emerge or change and we'll be working to help fill gaps in the current knowledge and documentation.

We hope this is a useful resource to both the Drupal and React communities. If you have any suggestions or comments about what we're covering and what's missing, please let us know! Check out React for Drupal to sign up for regular updates in the future.

Dec 14 2017
Dec 14

Here at Drupalize.Me we spend a lot of time looking at our company, poking at our policies and processes, and deliberately working to be a better company in the world. For the last 2 years, since we became our own company, we've talked about wanting to make our employee handbook public but hadn't taken the time get it done. We review our handbook at least annually and as part of the 2017 review and update process, we decided to also make sure it was in shape for sharing it with anyone who wants to take a look. We've finally gotten the review and editing complete and we have made the handbook available on GitHub. (Note that our company name is actually Lullabot Education; Drupalize.Me is just the well-known brand of our main offering.) Anyone can read the handbook, in addition to being able to fork it for your own use, or provide comments and suggestions through issues and pull requests.

Why make it public?

We certainly aren't the first company to share our employee handbook. There are examples from many other companies out there, like Basecamp and GitLab. We decided to share our handbook for 2 main reasons. The first is so that people who interact with us--customers, partners, communities, and potential employees--can have a more complete picture of who we are and what we are working towards. The values and culture that we cultivate are important to every aspect of the company, not just the internal employee processes. We feel our handbook reflects the things we care about and bring to our work every day and it makes sense to allow everyone that is a part of our work to see where we're coming from.

The second reason is simply that we love to share. Our main job is to share as we learn in the web tech world. We're also learning as we grow in the business world, and see no reason to not share our experience there as well. We hope that others may find something useful in our handbook as they work on their own company and we'd love to have conversations with other people who think about these things.

Please check out the handbook, let us know your thoughts, and feel free to ask questions, either in a GitHub issue or here in this blog's comments.

Sep 07 2017
Sep 07

Today the release candidate (rc) for Drupal 8.4 came out. This is the final review stage for the next version and a good opportunity to see what changes are coming when the new release goes public in fewer than 4 weeks, on October 4th. (See the full release schedule.) There are definitely some important things to note in this release. You can read the full list of goodies in the release notes for the original, alpha release and the newest 8.4.0-rc1 release notes for this rc. Here we highlight some of the more interesting changes. We'll get into more details about the new version in October, but you should start getting excited now.

  • Five(!) modules moved from experimental status to full, stable status in 8.4. That's a bunch of cool new tools in core! (Note that Content Moderation is still experimental, but it is very close to stable. The core dev team is still working very hard to get it moved to stable for the 8.4 release.) Our new stable modules are:
    • Workflows
    • Layout Discovery
    • DateTime Range
    • Inline Form Errors
    • Media (which is stable, but hidden in the UI for now)
  • Symfony has been updated to 3.2 (learn more about Symfony)
  • jQuery updated to version 3 and jQuery UI to 1.12 (learn more about JavaScript in Drupal)
  • Adoption of new, stricter coding standards for JavaScript (learn more about Drupal Coding Standards)
  • Internet Explorer 9 and 10 support dropped
  • More improvements to the Migrate Drupal and Migrate Drupal UI experimental modules, but they are still at alpha stability.

For Drush users, note that versions earlier than 8.1.12 will not work with Drupal 8.4. To avoid fatal errors you will need to update Drush to 8.1.12 before using it to update to Drupal 8.4.

We are in our final tutorial review and update process, so you can expect our Drupal 8 tutorials to be correct once the new release comes out. You can always double-check the status of our tutorial compatibility by looking for the Drupal version check mark.

Aug 23 2017
Aug 23

Today, we're happy to announce a new free series about Drupal Coding Standards that has been made possible by our friends at Chromatic. This series was originally written by Alanna Burke, who is a developer at Chromatic, and they have generously released the work under a Creative Commons Attribution-ShareAlike 4.0 International License so that we can share it here, with some modifications, and keep the information up to date as it changes.

Chromatic logo

Chromatic is a well-recognized agency in the Drupal space, providing design and development services to some of the biggest brands in publishing, media, and e-commerce. Chromatic has 10+ years of experience working on large, enterprise Drupal sites. This series is a testament not only to Chromatic's commitment to building Drupal sites the right way, but sharing that information with the open source community. We're very grateful for their enthusiasm to share their knowledge with the Drupal community.

Learn about coding standards

The Drupal community has defined a set of coding standards and best practices that you should adhere to whenever you're writing code for Drupal. These standards provide a set of rules for how your code should be formatted, and best practice guidelines for naming conventions and the location of files. This ensures consistency in code throughout the project and makes it easy for developers to move around from one subsection to another without having to relearn how to read the code.

The tutorials in this series will walk you through the following topics:

For more resources about Drupal standards, also check out our Drupal Coding Standards topic page.

Google Summer of Code 2017 Begins

May 30 2017
May 30
May 30 2017
May 30

Google Summer of Code

Today marks the start of another Google Summer of Code, which is the 12th year that Drupal has been selected to work with a terrific group of bright and eager students. In this great program, Google pays students to work on various open source projects for 10 weeks. Our 8 students are working on some pretty cool projects with 15 community mentors. They have spent the last few weeks getting oriented in our community, and the actual coding work begins today. The deadline for their projects is August 29th. As in prior years, Drupalize.Me proudly supports these students by providing them with free memberships for the duration of the projects so they can dive right into Drupal 8.

Drupal has been involved with GSoC since its beginning in 2005. A number of long-term contributors started out with Drupal through GSoC projects. The program gives students real, paid, experience, and open source projects benefit not only through their development work, but also by the chance to grow the community. If you'd like to follow along with the students' work over the coming months, check out the Google Summer of Code group.

There is a LOT of work that goes into running GSoC. Aside from the work for the students themselves, the volunteers who manage the project have to solicit, vet, and choose the projects, find and pair up mentors, and then of course, help the students get oriented and digging into the Drupal community. The mentors also devote their time and enthusiasm to help the students get off on the right foot, provide resources, and give them development guidance as they learn. I'd like to say a HUGE thank you to Google and the Drupal community volunteers who make this amazing program possible.

May 04 2017
May 04

Drupal 8Drupal 8 was many years in the making and is gaining in popularity as it matures. One of the aspects of Drupal 8 development that keeps many people from jumping in is that there are still a fair number of contributed projects (modules and themes) that have not been upgraded yet. To recognize the people who do the hard work of creating and maintaining contributed projects, and to encourage more people to upgrade projects to Drupal 8, we will give free Drupalize.Me memberships to Drupal.org project maintainers and the folks listed in Drupal 8's MAINTAINERS.txt file. This will provide a top Drupal 8 training resource for the people on the front lines, making Drupal 8 available to the world.

In order to qualify for a free membership you will need to be listed as a committer on a Drupal.org project page (module, themes, etc.), with at least 1 commit in the last year. Your project should also have a Drupal 8 branch or an issue in the queue where you state that you are committed to upgrading the project to Drupal 8 soon. Just get in touch with us through our contact form or email us at [email protected], and give us a link to your project page on Drupal.org along with your username.

Thank you for all your hard work to make Drupal better!

Mar 06 2017
Mar 06

Drupal Dev Days has been a recurring event since 2010, when it got started in Munich. Since then it has changed location within Europe every year. This year it is being hosted in Seville, Spain from March 21-25. Dev Days is a special event, and I have my own very fond memories from previous years. Instead of being a general DrupalCamp, this is very focused on developers getting together and working on Drupal itself. There are definitely plenty of sessions to attend, where you can learn and grow. This year there is also a really great lineup of keynote speakers.

One thing that tends to set Dev Days apart is a heavy emphasis on sprinting, which makes for a great environment to dig into Drupal with a host of supportive mentors to help guide you, or bounce ideas off of. And you don't need to be a developer to take part in the sprints. There are a ton of fun tasks to help with. The sprints run every day, all the days of the event, so you can use it to fill some free time, or make a day of it. The camaraderie and learning keep hundreds of people coming back every year. If you've never attended a sprint, I highly recommend it as a way to not only learn Drupal, but to connect with people who can turn into lifelong friends.

We're excited to support Dev Days this year, and they will be handing out 5 free months of Drupalize.Me memberships. So go meet great people, enjoy the beautiful city of Seville, and get your Drupal on!

New Hands-on Exercises for Module Development

Mar 02 2017
Mar 02
Jan 13 2017
Jan 13

Drupal 8.3 is still a few months away, coming April 5, 2017, but there are already some changes we can look at, most notably in the experimental modules. In December, 2 new experimental modules were added to core, and BigPipe was officially changed from a beta module to stable. The 2 new modules you'll find in 8.3 are Workflows and Layout. Let's examine them.

Workflows

As part of the Workflow initiative, the Workflows module has been added to core to provide a workflow configuration entity type, which other modules can use. You can see it in action immediately with another core experimental module, Content Moderation, which was added in 8.2. As a matter of fact, Content Moderation now requires Workflows because this feature used to be an integral part of moderation.

If you are familiar with the Workbench contributed module, then you will recognize how the Content Moderation and Workflows modules work. The Content Moderation module in core is based on Workbench Moderation. Workflows establishes the concept of having workflow states and transitions between them. For example, you might have a content workflow that needs to have states, or "stops" along the way, of Draft, Review, Published, and a way to restrict how and when a piece of content changes between those states. These transitions would be something like, "a node in a Draft state can only move to Review and not directly to Published, while a Published node can move to either Review or Draft."

Screenshot of Workflows states and transitions with Content Moderation module

The great thing about Workflows being a separate module in core is that the ability to provide workflow states and transitions is not just tied to Content Moderation, but it provides a generic API that any module developer can use to create custom states and defaults for whatever workflow is needed. If you'd like to get a little more information about the Workflow initiative as a whole, you should read Dries' recent blog post about Moving the Drupal 8 workflow initiative along.

One important note about this new addition is that to separate the workflow states out, many changes were made to Content Moderation as well. If you are using Content Moderation in Drupal 8.2, it is a different module now in 8.3. When you upgrade to 8.3 you will need to uninstall Content Moderation before updating the codebase and re-install it after the upgrade. (Experimental alpha modules do not get upgrade paths built for them.)

Layout Discovery

The new Layout Discovery module is an exciting step forward for the Block and Layout initiative, though you won't actually see anything in the user interface for this module, other than the ability to enable it. That is because this is an API module that provides tools for other modules to use. Layout Discovery adapted from the contributed module Layout Plugin, which is used by other modules like Panels and Display Suite to keep track of page layouts. You'll need to be a developer to play with this one. You can get started by reading the Layout Plugin documentation about interacting with the API. The idea is that with this main piece of the puzzle in place, the initiative can move forward with adding a layout system to core with a user interface, along the lines of Panels and Display Suite.

BigPipe

The BigPipe module considerably improves front-end, perceived performance on your website. It was created by Facebook, and was then applied to Drupal through a contributed module before it became an experimental module in core as of Drupal 8.1 in February 2016. When we see it in 8.3, it will now be listed as a regular core module without the caveats of the experimentals. This means it is now ready for prime time and recommended for production sites.

Screenshot showing BigPipe module in the main Core section of modules to enable

This is one of those modules that every site should use by default since it will improve your site performance without you having to configure anything. If you want to understand more of how BigPipe works, you can check out this 10-minute video podcast by Acro Media or listen to a longer audio podcast by Lullabot with Wim Leers, who has been the main architect behind getting BigPipe into Drupal 8.

If you'd like to keep up with the changes coming in the next version of Drupal core, take a look at the change records which are published as things are added or changed. You can even filter the changes by the role they will impact.

Nov 23 2016
Nov 23

Hands-on Exercises: Movie Project

We're happy to announce a new kind of series on Drupalize.Me which provides a project for you to practice the skills you've learned in Drupal site building, theming, and module development. Our free Hands-On Exercises: Movie Project provides you with wireframes and customer requirements for a movie review site. Each exercise in the series has you progressively build the site according to the specifications. To help you along the way, each lesson also lists some tutorials and learning resources that will show you what kind of knowledge you need to have to accomplish the given tasks. Keep in mind that these are not typical tutorials that take you by the hand, but are instead exercises for you to apply the knowledge you have to a real-world project, to help you really understand how to build a site without having all of the step-by-step instructions.

Today we are releasing the first 16 of 36 exercises, which cover most of the site building and theming sections. In the coming weeks we'll be releasing the rest of the exercises, which dive into module development tasks. We're also working on providing Drupal 8 versions for all of these before the end of the year.

movie project homepage

This entirely free series is made possible by Damian Robinson, who developed the movie review site, the wireframes, and all of the exercises. Damian has been providing this kind of training to clients for a while and has come to a point where he wants to share his work with the wider Drupal community. He approached us about being able to provide these free to the community, pairing up his exercises with the tutorials we have on Drupalize.Me. We are happy to partner with Damian; it's a great match. We're publishing these exercises here, while you can also get the original files, and some additional project exercises, on Damian's website. Both Damian's original files and our Hands-on Exercises: Movie Project are published under the Creative Commons Attribution-ShareAlike 4.0 International license (CC BY-SA 4.0), which means you can copy, modify, and redistribute these exercises as long as you share them openly with others and give attribution to Damian.

We're excited to provide our members and the wider Drupal community with some new tools to help you on your Drupal adventure. Let us know what you think!

Nov 16 2016
Nov 16

Drupal 8 birthday cupcakeIt’s hard to believe, but it has been 1 year since Drupal 8.0 was released to the world. We’re celebrating Drupal 8’s first birthday on November 19th by giving FREE access to our full Drupal 8 Migration Guide over the celebration weekend! This Saturday, November 19th through Monday, November 21st you can learn how to use the new core migration system to upgrade your Drupal site or import content from external sources. It’s time to get using Drupal 8!

A lot has changed in Drupal 8 and we’ve been working hard to bring you the most accurate and up-to-date tutorials. We have extensive guides for Drupal 8 Theming and Upgrading Drupal with Migrate (as we noted above). You can also find a lot of really great goodies through our partners at KnpUniversity, who have provided Drupal 8 Module Development Essentials and covered the new PHP and Symfony concepts in Drupal 8. You can see our full guide for Preparing for Drupal 8 to dig into more background concepts relevant to Drupal 8.

We also have a regular review process to make sure we keep current with the 6-month core feature release cycle. Every few months we review our tutorials for accuracy, check what is changing in Drupal core, and make sure you have the latest and greatest information.

You can see our entire to-do list on our Drupal 8 page, and review our topic-publishing roadmap each quarter through our blog.

Join us in celebrating a year of Drupal 8. Check out the Drupal 8 Migration Guide for FREE, only this weekend!

Oct 25 2016
Oct 25

You may have heard of a variety of Drupal 8 initiatives during the development cycle leading up to Drupal 8.0.0 being released in 2015. These were officially recognized efforts to get a variety of big changes into Drupal 8, and included projects such as configuration management, Views in core, and multilingual improvements. A lot of work from those initiatives is now part of Drupal 8. Not everything got in though, and as time moves on some priorities for new work will always shift.

With Drupal 8 we also changed how we approach future changes in the code base by switching to a new semantic versioning system and revising our development policies to embrace new features in future minor versions of the software. With a formal structure for new features to be rolled out in Drupal 8, many people have continued to push various projects forward. At DrupalCon New Orleans in Dries' keynote, he recognized the continuing efforts for major changes by carrying forward the concept of official initiatives that have been reviewed and approved by the core team. The idea of initiatives appears to be a solid concept that has been successful for our community, so we're going to keep using the same idea and word for post-launch projects as we did for the pre-launch projects.

The new initiatives

During that keynote Dries presented his list of existing and proposed official initiatives to the community. At that time the list he presented consisted of:

  • Migrate (already active)
  • Workflow (planned)
  • Media (proposed)
  • Data Modeling (proposed)
  • Block and Layout (proposed)
  • API-First (proposed)
  • Theme Component Library (proposed)

You'll notice that many of those were categorized as only proposed. That means that either folks in the community had started conversations around these things, or Dries thought these would be good ideas for someone to tackle. A proposed initiative isn't necessarily moving forward, and they do not have a formal team and/or proposed plan for accomplishing the goal. A lot has happened in the 5 months since New Orleans, so I want to take a look at where things are now, just after DrupalCon Dublin. (Note that much of this list is derived from Angie Byron's DrupalCorn keynote and several sessions from DrupalCon Dublin.)

Current active and planned initiatives

Here is a short overview of the current official initiatives for future versions of Drupal 8 (i.e. Drupal 8.3.0 and higher), along with some information about how you can follow the projects or even jump in to help.

  • The Migrate module shipped as an experimental module with Drupal 8 core when it released almost a year ago. Dries noted that this initiative was already in progress in his keynote, and there have been significant improvements to the system in each minor version so far (both Drupal 8.1.0 and 8.2.0). There is still yet more work to do to get it completely stable and feature-rich so there is ongoing work here. You can keep track of the work in the meta issue, Stabilize the older Drupal to newer Drupal migration system.
  • The Content Workflow initiative has moved from planning to fully active. The most significant change so far is that we now have a new experimental module in 8.2, Content Moderation. You can track it in the meta issue linked above, and there is a very nice post by Yoroy, Content workflow initiative, the concept map that defines the scope and areas to be addressed.
  • The API-first initiative is another one that has moved from proposed into fully active. This is currently focused on REST improvements for core. 25% of change records for 8.2 were for the REST module. The next target in sight is to get JSON API in as an experimental module. To learn more about what their plans are, you can see their DrupalCon core conversation.
  • There has been a team of people working on Media in the Drupal contributed space for the last 2 years, including work on a media library, using remote media, WYSIWYG embedding, and re-usability of media. They are now moving out of a proposed initiative with a plan to move these best-of-breed features into Drupal core. You can see the issues they are hammering on in their kanban board or filtering for issues using the D8Media tag. For a complete overview, check out the DrupalCon Dublin core conversation session.
  • The Blocks and Layouts initiative is one that was also a pre-launch project (formerly called the Scotch initiative). There is still work happening on that front in the contributed space, with strategic core issues to pave the way for moving this work into core. The issues are widespread and you can follow them by looking for the Blocks-Layouts tag in the issue queue.
  • The Usability initiative was not part of Dries' initial list, but there has been a strong UX team working throughout Drupal 8's development. We saw 2 new experimental modules in 8.2, Place block and Settings tray, and there is more coming for 8.3, most notably Quick edit improvements. This team also had a session at DrupalCon Dublin.

Proposed initiatives

These are some new initiatives that have been proposed within the community, and some of Dries' initial list that have not yet been adopted by or planned by anyone yet.

  • The New core theme initiative is moving along quickly with a team formed up and their plan outlined. This is just waiting on a green light from the core committers to move this into an official initiative. You can find out more about the plan from the DrupalCon Dublin core conversation.
  • The Theme component library was on Dries' list, but this one has been put on hold while the new core theme is worked out. To see some of the ideas being sketched out, you can see what's going on in the Zen theme as a proof-of-concept.
  • Both the Data modeling and Cross-channel organization ideas proposed by Dries have not gathered momentum or a team to carry them forward yet.

A Note about experimental modules

You'll notice that in these initiatives "experimental" modules are mentioned a lot. The idea is to get new features into core in various non-stable states (alpha, beta, etc.) and see how they work out. If they work out well then they will eventually become full, stable modules in core. If not, they can always be removed. Due to the fact that they could be removed, it is generally not recommended to use these for production sites, but of course getting people to test them out on real sites gives the feedback needed to evaluate and improve them.

The initiative pipeline

Given the wide variety of projects that are always going on in the Drupal community, how exactly do new initiatives come along, outside of having Dries announce them at a DrupalCon? Dries outlined some basic guidelines in New Orleans, but to make things clearer there is now a new Ideas project and issue queue on Drupal.org. You can see everyone's proposals and anyone can work an idea out where the community and core committers can give feedback. As a prototype or game plan is approved, it gets moved into the core issue queue for full implementation.

For a really good look at the changes in Drupal 8 development and the way new features are moving into core, Gábor Hojtsy has a great presentation, Checking on Drupal 8's Rapid Innovation Promises.

Aug 18 2016
Aug 18

DrupalCon is a great opportunity to learn all kinds of new skills and grow professionally. For the 3 days of the main conference in Dublin (September 27–29) there will be sessions on just about everything related to Drupal that you could want. One amazing opportunity that you may not be aware of though is the Mentored Sprint on Friday, September 30th. This is a great place for new folks to learn the ropes of our community and how to contribute back. What may be less talked about is the chance to be a mentor.

Why mentor at DrupalCon?

Mentoring provides you the opportunity to positively impact others while also gaining a lot for yourself. Through helping others one-on-one, you’ll find that your own confidence grows from sharing your knowledge. You'll also probably pick up a trick or two in the process, and you'll have great opportunities to learn from the other mentors in the group. In addition to helping people directly, you’ll make new connections with others in the community and walk away inspired and refueled to do more. Even if you’ve never mentored before, the mentor group has put a lot of effort into making the mentoring experience just as awesome and fun as for the learners.

What does mentoring involve?

Most mentors help new contributors set up their development environments, find tasks, and work on issues. You will go through mentor training that explains the tasks in detail and shows you how to help others find good issues to dig into. You should have experience setting up your own local environment and using the Drupal.org issue queue. There are a number of other tasks to help with as well though, like doing ticket triage ahead of time to make issue-finding easier during the sprints, doing issue reviews, or even just helping organize the day and make sure people know where to be. You’ll even get a special DrupalCon shirt just for mentors.

Sprint and Workshop

In addition to the main Mentored Core Sprint, there is also a First-time Sprinter Workshop for people who are completely brand new. This workshop runs from 9am–12pm and makes sure everyone is set up properly and understands how the issue queue and community process works. This is a more structured environment and where you really set up the foundation for a successful day. You may find yourself involved in both of these events throughout the day, and they are both great fun.

We highly recommend getting involved in the sprint day, whether as a mentor or a mentee. It’s been a very rich experience for us on the Drupalize.Me team, as Blake said after he volunteered as a mentor at DrupalCon New Orleans:

I was incredibly impressed by the organization of the mentored core sprint on Friday. I came into the week feeling pretty jaded, and left feeling like I had fun and helped empower a few new contributors. It was a pretty great way to end the week. Kudos to the folks that have developed the mentor prep materials, the sprint on-boarding process is so much better than it used to be.

At the #DrupalCon sprints and @blakehall is helping some new contributors learn how to navigate the issue queue. pic.twitter.com/GecKMGgBOs

— Drupalize.Me (@drupalizeme) May 13, 2016

Jul 13 2016
Jul 13

On Tuesday, July 12th, the Drupal security team issued a Public Service Announcement (PSA) about
a highly critical security release
that happened today, Wednesday, July 13th, for 3 Drupal contributed modules. This security release gets the extra push of being ranked highly and a PSA because this very dangerous vulnerability will allow an attacker to execute their own PHP code on your site. Here are a few important things to know:

  • This is not a problem in Drupal core.
  • This is only for the contributed projects RESTWS, Coder (even if it is disabled!), and Webform Multiple File Upload.
  • If you do not apply the security updates to these modules on a site connected in any way to the internet, your site can, and very likely will, be hacked.

How to Secure Your Site

In order to make sure your site is secure, review all of your Drupal 7 sites to see if they are using any of the affected modules. If so, you need to either upgrade the module to the latest release that came out today, or find and apply the patch to the code directly.

You can find instructions on Drupal.org to update a module. We’ve also made our video lessons Updating Drupal Contributed Modules and Drush Commands for Site Administrators free for the next few weeks. The first will show you how to use Drupal’s built-in Update Manager to update the modules directly through the admin interface of your site, and the second will show you how to use Drush for the same process.

Bevan Rudge wrote a good article explaining how to prepare for this security release. While the release is already out now, it is still a good list of things you should go through. He also walks through the steps for applying the security fixes by manually applying the security patch.

Stay Informed

If you're just learning about this critical update due to this blog post, you should make sure that you can be more quickly informed in the future. Even if none of these modules effect you, the next time it might be something that does. Drupal always does security releases on Wednesdays. There are numerous channels to stay informed.

Start by making sure you have the core Update Manager module enabled, which provides you with an Available updates report on your site. This report shows you all new updates ready for your site. Most people are familiar with this report. If you go to the Settings tab in there, you can also configure the site to notify you by email whenever there are new releases — either generally, or just for security updates. Every site should have someone being notified of available security updates through Update Manager.

Speaking of emails, you can also put yourself on the security newsletter email list through Drupal.org. To subscribe, log in to Drupal.org, go to your user profile page and subscribe to the security newsletter by going to the Edit tab and then the My newsletters tab.

Beyond email, you can find all security releases on Drupal.org’s security advisories page. There are RSS feeds available for core, contrib, and public service announcements, like this one, which are used when there is a particularly critical situation. You can also follow @drupalsecurity on Twitter.

Jun 20 2016
Jun 20

One of the big changes in Drupal 8 is that Views, the most popular contributed module in Drupal 7, is now included as part of core. Learning Views is a key component of building Drupal sites. Aside from having this tool built in core now, the beauty of this new feature is that it is almost identical to Views in Drupal 7. You can get started site-building with Views in Drupal 8 without waiting for any fancy version-specific instructions.

For most people who are new to Drupal, the first step after creating content is to learn how to list that content in various ways on your site. This is where Views is your tool of choice. The Views interface has changed very little between versions, as can be seen in these 2 screenshots of the default Views interface. As a matter of fact, there are only a few minor tweaks in less-used features. Many people won’t notice the differences.

Drupal 7
Drupal 7 Views interface

Drupal 8
Drupal 8 Views interface

You can easily follow a Drupal 7 views interface tutorial, like our Introduction to Views or Using Drupal series tutorials, in Drupal 8 and achieve the same results.

One thing you’ll note is that Drupal core is now using Views to power its listing pages, so a lot of default views are already enabled for you on your new site. In Drupal 7, you had to enable the default views before you could actually use them. Drupal 8 still comes with 2 that are not enabled out of the box, Archive and Glossary, but otherwise you’ll see that you have more default views in Drupal 8 — and almost all of them are enabled.

Differences

There are a few minor differences in the user interface. For instance, the “No Results Behavior” setting has been moved out of the Advanced area into the center settings column, and the word “clone” has been changed to “duplicate” — but these are minor changes that shouldn’t break your stride.

There is also a very small list of items from Drupal 7's Views that are absent from Drupal 8:

Theme information link is gone.
In Drupal 7, you could get a handy list of the theme template files and suggestions for naming overrides right in the user interface, under the Advanced section. In Drupal 8 you should instead use Twig debugging to show you where the template file in use is located and then you will override that file as per usual in Drupal theming. (Also note that, of course, Views theme files are now in a core directory, core/modules/views/templates.) For some examples of template files and the naming conventions to use for overrides, take a look at api.drupal.org.

Field Language setting is gone.
There used to be another field under Advanced that let you set a language at the field level for your view. The underlying multilingual system received a lot of improvements in Drupal 8 and this setting was removed because “rows in entity views should have a language associated with them, and we should filter/sort based on language at the entity/row level, not at the field level.” (From the "Field language filter/sort/etc. for Views do not work and are not needed" issue.)

Advanced Help is no longer used.
Since Views is part of core, instead of using Advanced Help module it now uses the core help system and online documentation.

Something New

Views isn't the only newcomer to core. Now that various Web Services modules have been added to core, when you enable them, you will have access to a new "Responsive Endpoint" display type. This display type enables you to set a path and output JSON. This can be handy for integrating segments of your content with JavaScript.

Gotchas

Like most software, there are still bugs for Views in core, so if you find something that isn’t working the same way as it did in Drupal 7, you might want to check out the open Views issues. Now that Views is part of core, you need to search within the Core project, instead of the contributed Views project. You will need to select the views/module component in the core issue queue.

Drupal Core Views issue queue

One issue worth mentioning and which is likely to cause some furious cursing is “When deleting a content type field the related View also is deleted”. In Drupal 7, when you deleted a field that was also used in a view, you would get a missing handler error in your view. With this bug in Drupal 8 when you proceed to delete a field from a content type, Drupal's Configuration System will list all of the changes to configuration. If you see a view listed under deletions, and you confirm the field deletion, that view will be deleted as well.

As you can see, there aren’t really many differences, so you should feel confident forging ahead with Views in Drupal 8 because you have an entire world of Drupal 7 Views tutorials to guide you on your way.

May 26 2016
May 26

Drupal 8.1.0 was released on April 20th. (Read the full release notes.) There are a few exciting things about this release. At the top, this is the first time Drupal has done a scheduled feature release using the new semantic versioning and pre-set release schedule. Instead of 8.1, we have 8.1.0, and we got the release out on schedule! (Learn more about the Drupal 8 release schedule and semantic versioning.) This feature release added some CKEditor WYSIWYG enhancements, added some APIs, an improved help page, and two new experimental modules: Migrate Drupal UI and BigPipe.

One of the big advantages to these 6-month feature releases is that we can add new things to Drupal core over time instead of having to wait for the next big version. This means Drupal core will change more over its life than previous versions. One of the downsides of this is that documentation and learning materials may get out of date more quickly. We’re excited about the possibilities of Drupal 8 releases and we’re dedicated to having the most up-to-date and accurate tutorials you can find. To keep on top of things, we are reviewing all of the Drupal 8 releases to see where our tutorials need to be updated, and we’re making sure we stay involved in the core issues and processes so we are aware of big changes that may be coming. This is the most exciting release cycle Drupal has ever had, and we’re loving the energy and the challenge of keeping up with it toe-to-toe. So without further ado, here is a brief summary of the big changes in 8.1.0 and a look ahead at some things that might be coming down the road.

BigPipe

The Drupal 8 BigPipe module provides an advanced implementation of Facebook's BigPipe page rendering strategy, leading to greatly improved perceived performance for pages with dynamic, personalized, or un-cacheable content. This is a huge win for Drupal 8, and will make your sites load super fast. You can see the difference it makes in a short demo video on the BigPipe documentation page. The work on this has been happening for over a year and while it didn’t get into the initial 8.0.0 release, it’s very exciting to see this in Drupal core now. For an in-depth look at BigPipe in Drupal, watch the DrupalCon New Orleans BigPipe session video.

Migrate

The other big feature in Drupal 8.1.0 is improvements to the migration system, which is how we handle upgrades now. There is now a user interface for running migrations, which was a sorely missing feature. (Though, do keep in mind that more migration improvements need to be made.) There has been a lot of work in this space and we’ve been working on upgrade/migration tutorials for a few months. Part of our delay was the tricky space that the migration in core was in, which made it difficult to ensure we had the most accurate tutorials for coming versions of Drupal core. With the 8.1.0 release knocking we decided to push things along by funding Mike Ryan (creator of Migrate module) to make migrations more solid for 8.1.0, and dedicating some of our own Will Hetherington’s time to assist in the effort.

Specifically, we had Mike spend his time making sure the final core migrate issues for 8.1.0 got guided in, and working to get the Migrate Tools and Migrate Plus contributed modules working well with the new release. This is particularly important since not having these two projects functional would severely limit the usefulness of the Migrate work in core.

Aside from the actual code work that Mike cranked out, we also go 2 great blog posts; one by Mike, Migration update for Drupal 8.1, and the other by Will, Custom Drupal-to-Drupal Migrations with Migrate Tools.

You can also see the fruits of our labor on the Migrate front with the first of several parts for our new Drupal 8 Migration Guide, led by Will.

Drupal 8.2.0

We had our first successful feature release, and 8.2.0 is scheduled for October 2016. It remains to be seen what lands in that release, but we are keeping an eye on important developments. Of course, there is also still room for more improvements to Migrate and so we plan to keep working in the migration space over the coming months. One of the new, interesting things to watch is a project to simplify the theme and render system by using a component library. It's still very much in the planning phase, so we have no idea if it can even possibly make it in to the next version yet. (Here is the main issue on Drupal.org if you want to follow along.) We’re particularly interested here at Drupalize.Me because we have an extensive Theming Guide published and this would definitely be something where we’d need to update our previously published tutorials. Rest assured we’re keeping our finger on the pulse.

May 02 2016
May 02

DrupalCon in New Orleans, Louisiana, May 9-13, 2016DrupalCon is almost here and it’s time to start filling out your schedule. There’s a lot to do and see (not to mention eating lots of great New Orleans food!), so we definitely recommend having at least a rough game plan for how to use your time. Here’s a look at things you should be considering, especially if you are looking to take away a lot of Drupal 8 knowledge.

My Schedule

Sessions and BoFs

One of the great things about DrupalCon sessions is that they are recorded and uploaded to YouTube pretty quickly. This means that you can skip the live session (unless you think you’ll have questions you want to ask) and catch up later. Why would you do that? Well, the Birds of a Feather (BoF) sessions are not recorded. These are informal sessions that get organized and happen during the 'Con. If you want to be part of these interesting conversations, then you need to be there at the time. So, our first bit of advice is to check out the BoF schedule each day and skip any formal sessions that conflict for you.

That said, it also makes sense to have a good outline of which sessions you do want to see ahead of time and that makes checking for conflicts much easier. On the DrupalCon site, you can click the “Add to my schedule” link in the sidebar of any session, and then you’ll have a nice, handy reference when you go to “My Schedule”. Of course, there are a lot of sessions about Drupal 8 in the schedule. In particular, you can find many of them in these main tracks: Coding and Development, Front End, and Site Building. Make sure you check out Joe’s session, Altering, Extending, and Enhancing Drupal 8. Last year’s DrupalCons introduced a new track just for Symfony, and this one is no different. The Symfony track definitely has some goodies for digging under the hood of Drupal 8 as well. For a different perspective on what you can do with Drupal 8, you should see Amber’s session Beyond the Blink: Add Drupal to Your IoT Playground where you’ll see how to use Drupal with "Internet of Things" projects.

If you really want to dive into Drupal 8, there are also day-long workshops available on the Monday before the main conference starts. In particular, for developers, we’re happy that our partners over at KnpLabs have a great workshop on D8 & Symfony: Dive Into the Core Concepts that Make Each Fly where you’ll spend the day really getting to understand the underlying structure by working with things like routes, controllers, events, and services.

For those who are not necessarily building, developing, or theming Drupal 8, there are a number of sessions that take a different look at Drupal 8:

Attend the Friday Sprints

Drupal mentoringIn addition to the regular sessions at DrupalCon, Friday presents a lot of opportunities for people who want to dive in and get some real work done. There’s no better way to understand what is going on with Drupal 8 than to actually work on it! Friday is the classic sprint day, where everyone comes together to work on Drupal. There is a huge range of work going on, from documentation to code, plus good people and fun. Blake, Will, Amber, and Joe from our team will be there taking part in the fun. Blake and Will are mentoring as part of the Mentored Core Sprint which also has a morning workshop to get you all up and running, even if you’ve never contributed before. It’s a great place to get oriented to contribution with lots of helpful people there to answer questions and help you find good projects to work on. Joe is going to help lead up a sprint on the new Drupal 8 User Guide for Drupal.org. You can learn more about that project, and the kinds of things that need work at the sprint, by attending Joe’s session earlier in the week in the Drupal.org track, Documentation Is Getting An Overhaul.

We’re excited that we’ll be at DrupalCon, and this is shaping up to be an amazing event as always. We’d love to hear from you, so please don’t feel shy about walking up to us (find pictures of us on our About page) and introducing yourself. You’re also sure to run into us at the Lullabot party on Wednesday. See you there!

Apr 07 2016
Apr 07

So far, 2016 has been a great year for Drupal and Drupalize.Me. We started off as our own company, and we’ve been heads-down on lots of new Drupal 8 tutorials. We have a deep love for Drupal and the community around here—so in addition to working hard at our business, we encourage each other to roll up our sleeves in the wider community as well. Here’s a little rundown of what’s been on our team’s radar recently.

Migrate

Upgrading to Drupal 8 is on a lot of people’s minds, especially as the Drupal 8.1 release nears. With Drupal 8 we no longer have the old upgrade script method, but we’ve moved to a whole new framework for migrating your content. The basic pieces made it into Drupal 8.0, but there is still a lot of work to make this sweet new process function well for everyone. We’ve been working on creating tutorials for how to migrate to Drupal 8 and we realize there is more work than documentation needed—not everything is working smoothly yet. Upgrading is a big sticking point for many people in the Drupal world, so we decided to go a step further and bring someone in who can help improve the migration process itself. Will has been helping with tickets for Migrate-related issues (core and contributed), but we know that there is someone out there with a lot more expertise in this area: Mike Ryan, the creator and maintainer of the original Migrate module, and one of the maintainers of the core migration system in Drupal 8.

While core Drupal 8.1 is largely in good shape, there are some contributed tools which really make the core functionality more useful, notably Migrate Tools and Migrate Plus. Volunteer time is a hard thing to protect, so we’re paying Mike to focus his time to polish off some of the highest priority issues with these modules, as well as move a few remaining core patches that we’d all love to see go in. We’re also making sure that Will has protected time at work to help Mike by working on patches and doing reviews. The faster we can get Drupal 8 migrations working well, the better it will be for everyone in the Drupal world. We’re excited that we have the opportunity to work with Mike and give a strong push on this.

Drupal 8 User Guide

In the documentation side of things, Joe’s been plugging away on the Drupal 8 User Guide project, which he helped get off the ground about a year ago at DrupalCon Los Angeles, and has been working on intermittently ever since. They’re super close to completing the first draft of the content and will be moving into testing and editing after that. Last we checked, 95 out of 101 pages had been completed! This project is a great fit for us because of how much it overlaps with the work Joe's doing at Drupalize.Me to create tutorials, especially given our focus on improving Drupal by developing quality educational materials, both free and paid. Joe’s been able to take ideas from Drupalize.Me and incorporate them into the user guide, and vice versa, and that’s been beneficial to both projects.

Events

Outside of code and documentation, we also love some quality time with people! There are a ton of events happening all over the world (check out http://www.drupical.com for ones near you). Here are the ones we’re involved with right now.

DrupalCon New Orleans

Coming up in May, the North American DrupalCon is in New Orleans, Louisiana. What an amazing city! We’re super excited that our whole team will be there. We have a few things cooking there:

Amber and Joe will be presenting on a few different topics. Amber has a cool session called “Beyond the Blink: Add Drupal to Your IoT Playground” where you can find out all about using Drupal with physical things, with blinking lights and more! Joe will be running around with 2 sessions. The first dives into “Altering, Extending, and Enhancing Drupal 8” where you’ll explore hooks, plugins, events, and services. He will also be talking more about the user guide we mentioned above, and other changes to how the Drupal community maintains our documentation on Drupal.org in “Documentation Is Getting An Overhaul”.

Will and Blake have signed up to be mentors for the Friday sprint day, so you can run into them helping people out at the Mentored Core Sprint and the First Time Sprinter Workshop.

While we’re talking about DrupalCon, you should also check out the workshop “D8 & Symfony: Dive Into the Core Concepts that Make Each Fly”, with our partners at KnpUniversity. If you want some hands-on training with the internals of Drupal 8, this is the way to go!

Of course we’ll be around all week, meeting old friends, making new friends and taking in the atmosphere of NOLA. If you see us around, please stop and say “Hi!”

DrupalCamp Guadalajara

Joe is a pretty busy guy and was honored to be asked to keynote at DrupalCamp Guadalajara in Mexico. He’ll be there this coming weekend (April 7-9) to talk more about the Drupal community, chat with the local community, and eat lots of yummy food.

Twin Cities DrupalCamp

Joe and Andrew are both on the camp planning team, helping to organize the 2016 Twin Cities DrupalCamp. Joe has helped with the camp in some capacity or another every year that it’s been held, and this is Andrew’s second time diving in. This time around Joe is helping with the programming committee: responsible for setting a schedule, a theme, recruiting speakers, setting up pre-camp training and more. This year the committee has been focusing on including a new Higher Education summit on the first day of camp since it’s going to be held at the University of MN, and also thinking about ways we can mix things up a bit and intersperse some more un-conference style activities into the traditional session tracks.

Andrew is leading the sponsor committee, which focuses on wrangling former/new sponsors. (Shameless plug: If you want to sponsor the camp, please contact [email protected], and he’ll follow up.) We might be a bit biased, but Twin Cities DrupalCamp is the best camp in the entire world, and you should attend!

Portland Meetups

Not all events we jump into are camps. As part of her general involvement with the Portland Drupal User Group, Amber has been helping organize the local meetups—yes, there is not just one, but 3 different groups currently running on a monthly basis. If you’re in the Portland area you will likely run into Amber for sure.

Well, that wraps up a whole lot of fun stuff that we’re excited about. I hope that by sharing about our experiences, you can see that there are many ways to be involved, and meet new friends, in our community. What kinds of things are you involved in? If you need help getting started with the community in some way, please feel free to reach out to us and we’ll help you figure out a good way to dig in.

Dec 01 2015
Dec 01

Two weeks ago I read an article that came up in my Twitter stream (thanks to Bob Kepford @kepford), titled Canary in the Code Mine. It is the story of a company, BitSource, located in Pikesville, Kentucky, that is trying to find a new way forward in the tech world for coal miners who are being laid off in droves. The article is well written, and the story is inspiring. It's worth the "long" read (about 15–20 minutes). Don't worry, I can wait while you go check it out.

Working for a distributed company, and being fortunate enough to be able to live where my life and love have taken me, I completely get the idea of people wanting to provide for their families without leaving the home and community they love. I also can't imagine what it is like to have an entire industry, which I've built my career on, simply vanish from under my feet. I hope I never do experience it. I think the way that BitSource has approached the problem is inspiring and I wish them much success.

In reading the article, one particular detail stood out, which is that of the variety of technologies the BitSource team are learning, one of them is Drupal. I decided to reach out to them to find out more about what work they are doing and whether Drupalize.Me would be of use to them. I hopped on the phone with Justin Hall, the President and team lead, and come to find out that they are in fact a Drupal shop now. They explored various platforms and decided, as a team, that Drupal was their tool of choice. That certainly made me happy and proud. During our brief chat we also discussed open source in general, and Justin pointed out that without open source they probably wouldn't be able to succeed in this journey. He was incredibly thankful for the opportunities they have. I'm impressed with the bravery of this team to step into a whole new world. We finished the call with me offering his team access to Drupalize.Me in order to get more advanced with their dev chops. I also encouraged his team to get directly involved in the community, as that is the best way I know to accelerate learning. It can be a hard leap of confidence to step into the open source world, so I also wanted to introduce them and their story to our community. Let's welcome them warmly into our family.

This is a clear reminder that open source matters. Drupal matters in many more ways than being able to build websites. It is easy to get into the routine of working in open source and handling the tool we are familiar with, working on the project or deadline in front of us, while having the larger impact of our work fade in the background. We, the open source community, are changing individual lives every. single. day. Every single person who has done even the smallest thing* to help an open source project, has helped the lives of this team of former miners tucked in the mountains of eastern Kentucky–and uncountable numbers of other lives as well, including my own. I just want to take a moment to appreciate that, and say "Thank You" to everyone in open source, regardless of the project. You are heroes, and you are amazing.

* When I say "the smallest thing" I mean to point out that many people feel you have to be some master coder to contribute to open source projects. That's simply not true. If you have reported a bug, tested a fix, answered a forum question, donated money, written a blog post, explained what open source is to someone, etc. then you have helped build what we all are today. Remember that, and acknowledge it. You are awesome.

Nov 30 2015
Nov 30

Meet Drupal Developers from Four Kitchens

This interview is part of an ongoing series where we talk with a variety of people in the Drupal community about the work they do. Each interview focuses on a particular Drupal role, and asks the individuals about their work, tools they use, and advice for others starting in that role. You can read all of these interviews under this list of Drupal roles posts.

Interested in learning how to become a Drupal developer, too? Check out our role-based learning pathway: Become a Drupal Developer.

Jon Peck

Jon Peck is the Senior Engineer at Four Kitchens. He's also a systems administrator and educator. He loves working on the backend of big enterprise sites with a focus on architecture and optimization, as well as playing keyboard in a progressive rock band.

Where to find Jon

David Diers

David Diers is an Engineer at Four Kitchens. Prior to his current position, he worked for many years in academic and administrative IT at the University of Texas at Austin, where he earned a master’s degree in music composition.

Where to find David

How do you define the Drupal developer role?

  • JP - Someone who analyzes and interprets needs, determines the best solution, implements, and then reviews results. Within Drupal specifically, they have a broad understanding of how Drupal interacts with itself (request handling, hooks, theming, and so forth) and they know how to seek out deeper knowledge.

  • DD - Someone who is a Drupal developer is well versed in site building, and custom code, and knows when it's best to build or configure. They have an understanding of how Drupal works and approach problem solving in native Drupal fashion — all the while ensuring an extensible and flexible approach.

What do you currently do for work? What does your daily routine and work process look like? What kind of tasks do you do on a daily basis?

  • JP - Right now, I'm the architect of two publications that will be implemented in Drupal, including the migration from multiple legacy systems. I'm also consulting on performance and site auditing. I work from home; my day consists of occasional meetings (mostly via Zoom), development and documentation, and discussions via Slack. Projects are managed using JIRA, and code is in GitHub or Stash (depending on the client).

  • DD - Currently, I am working with a major media company to unify a large number of disparate Drupal sites and find ways of abstracting the approach in Drupal 8 so that truly diverse approaches can be accommodated within a single definitive content model. In recent years I've been doing a lot of strategic work, analysis and architecture, but depending on the project I could be doing a lot of gnarly development, deep in the code — plugins, migrations and database work.

What do others look to you to do on a project?

  • JP - I provide experience and historical perspective, along with recommendations about how to resolve difficult issues and continue to grow. I present myself as a collaborative resource both within the team and to whomever I'm working with. Also, I have the ability to translate non-technical requests into actionable development.

  • DD - I tend to get called in on tough SQL problems, migrations, and custom plug-in work on the technical side. On the more holistic side, I think my teams trust that I am going to bring a balanced viewpoint, and a deep investment and understanding of the business from the client perspective. I tend to fall in love with people and missions instead of the tech and tools and that's a good balance to have on a team of technology forward folks.

What would you say is your strongest skill? How have you honed that skill over the years?

  • JP - I can collaborate across groups in such a way that the conversation is centered around the common goal, not an “us vs. them” conflagration. It's something that I've had to consciously work at; finger pointing is easy, but swallowing pride and saying “we messed up and here's how we're going to fix it” is easier to write than to do :-)

  • DD - I listen well. I used to call it intuition or gut, but over time I realized it wasn't about a feeling with mysterious origins, it was all based on things I heard or didn't, essentially, it was about listening. Listening is about what is said but it is also hearing the silence. A sentence with a lot of gaps has just as much to say as one with a lot of words — you just have to know how to interpret it.

How did you get started on this career path?

  • JP - I'd been a PHP developer for many years, working with several open-source platforms and frameworks before focusing on Drupal. I have found success specializing in specific areas and having a broad knowledge in many others, and the Drupal community drew me in ways that are unique and refreshing.

  • DD - I went to school for music but had developed an interest for technology. It seemed like a good path to support my artistic career. I caught a break with a company in Houston who saw my potential and my willingness to put in a ton of effort to making a good product. Over the years, the one thing I keep coming back to is that this career really provides a lot of opportunities to learn something new almost constantly. For someone who loves learning, it's been a great choice.

What is most challenging about being a Drupal developer?

  • JP - Adapting to the Drupal mindset, some of which (prior to Drupal 8) was entrenched in “it's always been done that way”. Finding consistent quality documentation in edge cases is typically a challenge.

  • DD - The community is really broad and egalitarian. There are a lot of perspectives and approaches which tend to get pretty equal treatment and time in the sun. That is cool. However, solutions aren't truly equal in most cases, and as a beginning developer and even a senior one — drawbacks aren't always brought to the surface — so it really takes some efforts to identify the merits of a particular approach over another and to discuss that, outside of how these solutions have been facilitated in code or community.

What are your favorite tools and resources to help you do your work?

  • JP - The people I work with, both within 4K and across the open-source community. On my workstation itself, PhpStorm, Drush, Drupal Console, gulp, and site_audit.

  • DD - My team members are my biggest resource. I've learned a lot and hopefully helped a lot — both are valuable to your growth as a developer. For tools, I probably couldn't do what I do without a debugger and access to Drupal docs.

If you were starting out as a Drupal developer all over again, is there anything you would do differently?

  • JP - [I would have] registered on Drupal.org when I first started using Drupal and contributed more back to the community. Playing catch-up now!

  • DD - Start writing earlier and more consistently. It's a wonderful way to take that dynamic of teaching and learning out into the world. People are pretty free with their opinions on the internet — it can be nice or not, but you will always learn something.

What advice do you have for someone just starting out as a Drupal developer?

  • JP - Present at Drupal User Groups, Camps, and Cons! My personal Drupal "break-out" moment was a direct result of presenting at DrupalCamp Western NY 2011; it made many introductions and opened many doors.

  • DD - Try not to make your first Drupal project the big one. Find something small, with very modest needs and do that first; it will pay off when you finally do get to the big one. Go to events, camps, and DrupalCon. Take some training and talk with folks. Most importantly, dig into core and the main modules source code — it's really all happening there. The sooner you understand what's going on, the better.

Sep 21 2015
Sep 21

Meet Front-end Dev Kris Bulman

This interview is part of an ongoing series where we talk with a variety of people in the Drupal community about the work they do. Each interview focuses on a particular Drupal role, and asks the individuals about their work, tools they use, and advice for others starting in that role. You can read all of these interviews under this list of Drupal roles posts.

Kris has been theming Drupal sites and working on the front-end since 2007. He's done a lot of work in the open source world, including being a co-maintainer of Drupal’s Zen theme, and building his own Sass grid system.

Lullabot
Senior Front-End Developer

Where to find Kris:

How do you define the front-end developer role?

A resourceful generalist. The front-end role in 2015 demands expertise in multiple areas, such as prototyping, accessibility, performance, automation, CSS, HTML, and JavaScript, as well as a handle (at least) on a major language such as PHP, Ruby, or Objective C. While a front-end developer (FED) may specialize in a particular area, the rest is still required. There’s a great deal of reliance on the information provided by others, be it peers, blog posts, YouTube, or Stack Overflow, so being resourceful is key.

How does being a front-end developer relate to being a Drupal themer and vice versa?

I started out as a Drupal themer, learning how the theming layer worked, and the "Drupal way" to do things. I gradually grew into a front-end developer as the industry's new technologies and information quickly progressed. Drupal has its own challenges, and sometimes an opinionated (and outdated) approach to the front-end, so it’s even more of a challenge unwinding some of that. In a nutshell, the frustrations I encountered in Drupal helped me grow outside of it. Drupal theming to me now is just applying a front-end developer skillset to a CMS. The skills that I attained as a themer give me a needed edge to be able to work faster in Drupal.

What do you currently do for work? What does your daily routine and work process look like? What kind of tasks do you do on a daily basis?

I’m a Senior Front-end Developer at Lullabot, and have been with the company remotely since March of 2013. Each day I set out with particular problems to solve, and generally do a bit of planning (lists!) and research (stackoverflow!) before acting on them. There are also a great deal of communication syncs. If I’m stuck, I’ll generally rubber-duck a concept with a peer—usually through talking, we can hammer out a plan.

Every project has a set of routine processes that were worked out by the client, or by the initial developers early on in the project. The individual tasks are dependent on those factors. Variables can include the ticketing system, versioning system, code review process, tool choices, framework choices, etc.

On a Drupal theming project, for any given bug fix or feature, I may need to do site-building, create view modes, modify templates, CSS, and JS, add config changes to features (the module), write tests, and run linters before submitting for a review. In a React project, I might need to fake some back-end data while I build out a component in CSS, JavaScript, Markup and perhaps some external libraries. This process sometimes requires refactoring and splitting out other parts of code into new components, to make things more reusable and flexible.

What do others look to you to do on a project?

Make front-end architectural decisions, complete a good number of assigned tasks for a given sprint, alert PMs when something will take longer than it should, assist others with problems, make things accessible and performant, and write readable code with good documentation.

What would you say is your strongest skill, and how have you honed that skill over the years?

Communication. I’ve always felt that peer and client communication are the most important aspects of problem solving and hitting project goals. Without good communication, entire features could be built out and discarded later because they weren't built as intended, or hadn’t been thought through enough. I honed this skill by failing at it, many times.

How did you get started on this career path?

I started my professional career doing studio and panoramic photography, which led to creating interfaces for clients to display their content in Drupal, and eventually building sites for clients. When I’d had enough of freelance work and lived through a failed business venture, I began working for a university as a Digitization Technician. This was a job that allowed me to couple my skills in technical photography and web development. I generated large amounts of content (scanned and photographed archival material), then assisted with its digital display in a repository that displayed and queried the content using Drupal. Eventually, this progressed to a passion for Drupal theming, and I discovered that front-end development was what I wanted to do for a living.

What is most challenging about being a front-end developer/Drupal themer?

Context switching. Working on so many levels (Sass, JavaScript, performance, automation). Switching between tasks takes time, and time is a hot commodity.

What are your favorite tools and resources to help you do your work?

I frequent api.drupal.org, Stack Overflow, and my peers' hivemind for information and ideas when coding. For a code editor, I use PHPStorm/WebStorm, depending on which editor is more up to date for the current project. For project tools, I most notably use npm, Bower, Grunt, libSass, autoprefixer and SVGStore.

If you were starting out as a front-end developer/Drupal themer all over again, is there anything you would do differently?

I would have read more JavaScript books. For quite some time in Drupal, I just got by with jQuery, and had no real training or broad knowledge of JavaScript. Now, JavaScript is the forefront of so much in the front-end world, it’s paramount that we have a solid grasp on it.

What advice do you have for someone just starting out as a front-end developer/Drupal themer?

Concentrate on the essential skills as a FED (JavaScript, CSS [Sass], HTML, accessibility and performance). Don’t worry about CMS-specific quirks, there is enough information out there that well-coordinated searches will get you the answer when you need it. Drupal will bend to your will, and don’t be afraid to do new things if it makes more sense than the “Drupal way”.

Aug 27 2015
Aug 27

Meet Danita, Site Builder

This interview is part of an ongoing series where we talk with a variety of people in the Drupal community about the work they do. Each interview focuses on a particular Drupal role, and asks the individuals about their work, tools they use, and advice for others starting in that role. You can read all of these interviews under this list of Drupal roles posts.

Danita has been on Drupal.org and working with Drupal full-time for 4 years. In this interview she answers some questions for us about being a site builder. Meet Danita!

Self-employed with DSquared-B Consulting LLC
Site builder/developer

Where to find Danita:

How do you define the Drupal site builder role?

A Drupal site builder is someone who is able to assemble core and contributed modules to create a functional website. The site builder doesn’t need to know how to code, but does need a basic understanding of web technologies, best practices, how to evaluate contributed modules for stability, etc., and how to leverage contributed modules to build functionality.

What do you currently do for work? What does your daily routine and work process look like? What kind of tasks do you do on a daily basis?

I build, update, and manage Drupal websites for medium-sized organizations and businesses. Most days I begin by reviewing and responding to new client requests for changes/updates to their website and determine how to fit those requests into my schedule. As a freelancer, some days (or parts of days) are also spent preparing proposals/estimates and contracts for upcoming work. I will typically knock out quick tasks first so I can concentrate blocks of time on larger, more complex tasks.

On a daily basis, I interpret a client’s want list (either for a full site build or an update) into Drupal-ese (how to accomplish it the Drupal way), and install or configure modules to provide the functionality the client needs. This can be anything from creating a new View or adding a new content type or taxonomy group to installing and configuring new modules. Since there is rarely a “recipe” to follow to build more complex functionality, I spend a fair amount of time researching modules, reading forum and blog posts, and testing modules to see if they will do what I think they will do.

What do others look to you to do on a project?

I concentrate on building the functionality of websites. I work with clients to determine project requirements, then hand off design to a freelancer I partner with. Once a site/project design is agreed on, I will create the basic structure and functionality of the site. This includes whether or when to use Panels or blocks and creating content types, Views, image styles, etc. I do just enough theming to be dangerous so my partner takes over on theming after I mess it up.

What would you say is your strongest skill, and how have you honed that skill over the years?

My strongest skill is probably analysis. I have needed to listen to client needs and analyze how to turn those needs into a project. I have needed to look at modules and analyze whether they would do what I needed and if they were viable options. I’ve honed that skill by practice and not jumping in to a project too quickly - although a few times of going down the wrong path too quickly will definitely teach you a lesson or two.

How did you get started on this career path?

I’m pretty atypical in the Drupal world for a site builder/developer. I’m an older woman without a coding background or a CS degree and my previous jobs were not in technical fields. I had a variety of jobs over the years where I was often tasked with overseeing websites. At my last job (before freelancing), I managed a website that was migrated to Drupal. When I got impatient waiting for someone to make changes to the website, I started learning how to do more than just editing content, which led to playing around with building full websites. I ended up building another small Drupal website for a special event for that job and really enjoyed it. When that job ended and I was looking for my next opportunity, I decided to work for small businesses managing their websites and social media. Many small businesses didn’t have websites and asked me to build them one. My projects got increasingly larger until I eventually had more medium-sized clients than small businesses.

What is most challenging about being a Drupal site builder?

Without a coding background, the biggest challenge I faced as a beginning site builder was not being a coder. While you can do lots with Drupal without writing any code, you will still have to know or learn something about php and css and html to build a site that is more than just core, a few modules, and one of the themes included with core.

What are your favorite tools and resources to help you do your work?

My favorite resources have been Drupalize.me and BuildAModule.com, which I used extensively when I was beginning, along with Google and Drupal.org. There are a number of other resources, blogs and such that have come and gone over the years, but I lot of those I have found through Google searches.

For tools, I use a Mac and my favorites, or what I end up using most are TextMate (text editor), MAMP and Kalabox for my local development environments, Cyberduck for transferring files (SFTP), and Drush and Git. I also couldn’t get by without browser add-ons like Firebug for Firefox or other developer tools.

If you were starting out as a Drupal site builder all over again, is there anything you would do differently?

If I started out again today with a non-coding background, I would probably start with learning more about php before or while I was learning to install and configure modules. There comes a point once you start site building that you have to at least understand what code is doing. As you get into more complex functionality and theming, you have to know how to create and edit templates, add plug-ins, patch modules, and write some “glue-code”, or you are stuck building simple brochure sites.

What advice do you have for someone just starting out as a Drupal site builder?

Find a good mentor. Don’t be a pest in forums or issue queues or on IRC asking questions you haven’t researched for yourself first. Be willing to research and experiment yourself, but find someone that will let you bounce questions or ideas off of them. Spend time reading blog posts and watching instructional videos. Learn Drupal best practices - the Drupal way of doing things - and don’t think because you have may have built websites with another CSS or technology that you can do just do it anyway you please.

Aug 19 2015
Aug 19

Manage Drupal Sites with Pantheon

Today we are happy to present a new series teaching you how to Manage Drupal Sites with Pantheon, which is completely free thanks to the generous sponsorship of Pantheon. Pantheon is a great service for managing your website development and launching your sites on an environment that has been optimized for Drupal.

In this series we'll explain what Pantheon is, and then dive into showing you how to use the cool tools it provides. We'll see how to get a new site set up from scratch, or importing an existing site, and then start to play with the built-in dev, test, and live workflow. We'll cover both the basic Pantheon workflow as well as having fun with their Multidev feature, which lets you create a full website environment for each branch of development you are working on. We'll also take a tour of the Pantheon stack so you have a broad understanding of how things are set up, and we'll also tour the additional features agencies can get access to that will help you manage multiple teams and projects running at the same time. We wrap the series up with a checklist for launch prep and then walking you through the steps to successfully get your site up on the web.

The tutorials in this series (all FREE):

We've released two complete series in August, and we're putting the finishing touches on our next series, Integrating Drupal and Node.js, which will be coming out in September.

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