Oct 09 2018
Oct 09

A straightforward mission doesn’t always mean there’s a simple path. When we kicked off the Mass.gov redesign, we knew what we wanted to create: A site where users could find what they needed without having to know which agency or bureaucratic process to navigate. At DrupalCon Baltimore in 2017, we shared our experience with the first nine months of the project building a pilot website with Drupal 8, getting our feet wet with human-centered (AKA “constituent-centric”) design, and beginning to transform the Mass.gov into a data-driven product.

Sep 02 2018
Sep 02

Over not more then 8 days it is finally there, Drupal Europe will be happening from 10 till 14 September in Darmstadt, Germany. We like to inform, you as active and committed Drupal professional with an update about the organization of this international event.

How it started in the community keynote photo by Amazee Labs

Last summer a lot of volunteers worked really hard to make the event happen. There was a search for sponsors, the session were reviewed, selected and all nicely planned in the big schedule.

The biggest draw of Drupal Europe is the inspiration and knowledge you can get in the 188 (!) sessions, keynotes and workshops. Drupal Europe is an unique possibility to meet your (international) colleagues again and talk about what drives, connect and challenges our community. There is only one open source community where “you come for the code and stay for the community” is so deeply rooted.

Already interested in the line-up? Come and have a look at the diverse and interesting program.

Besides the sessies and BOF’s we also plan our other traditional successful activities. On Wednesday evening we organise the exiting Trivia Night where you can win eternal fame with your team.

On Monday and Friday you can attend the mentored sprints and contribute with your knowledge and skills to the Drupal software.

New this year at Drupal Europe is the first international Splash Awards! All golden and silver winners from Europe will compete for the best European Drupal-website, so it is going to be exiting.

All together we think there are plenty of reasons why you should come to Darmstadt and participate at Drupal Europe.

Therefore we now offer you the last opportunity to buy your ticket during the Flash sale that will end on September 3rd. Use this voucher code while buying your ticket and you are guaranteed of the best price: FLS-LPNLGS5DS84E4

After September 3rd the price will go up.

So, get ready for Drupal Europe, book your overnights and have a safe trip getting there.

See you all in Darmstadt!

Image Darmstadium venue in Darmstadt, Germany
Aug 02 2018
Aug 02
Have you seen the latest changes for DrupalCon? They have replaced a day of sessions with an additional workshop/summit day (for an additional expense) and have increased the early-bird basic ticket price from $450 to $800. I went to DrupalCon Nashville and it was a good conference, but it felt more commercial and like a trade show with sponsors everywhere you look. I've also been to DrupalCamp Asheville (didn't get to go this year because of a scheduling conflict) and for me, I believe camps are a better bang for the buck and where I'll be focusing for continuing education.
May 30 2018
May 30
Photo by Drupal Association

Government touches the lives of us all in fundamental ways. It is essential that government is able to communicate with its citizens in an effective and inclusive manner.
This communication requires high quality tools and special considerations regarding:

  • exchange of information with each other and citizens in an open manner
  • providing ability of citizens to see how their government is run
  • protecting citizens’ data and privacy
  • providing modern and easy to use technologies for both citizens and authorities
  • contributing back their code and data, because it’s paid for by the citizens

Therefore, we have dedicated a special government track at the Drupal Europe Conference.

As you’ve probably read in one of our previous blog posts, industry verticals are a new concept being introduced at Drupal Europe and replace the summits, which typically took place on Monday. At Drupal Europe. These industry verticals are integrated with the rest of the conference — same location, same ticket and provide more opportunities to learn and exchange within the industry verticals throughout 3 days.

The Government vertical track of the Drupal Europe Conference is focused on trends and innovations as well as all aspects of the current developments and challenges within the government space.

In an exciting mix of case-studies, panel-discussion and thematic sessions the following, most burning topics will be discussed

  • Open access, data, government and standards
  • Accessibility / Inclusivity
  • Digital-by-default citizen services
  • User experience design for digital services
  • Hosting and Security
  • Content Management and Usability of digital tools
  • and more

We strive to provide the best possible lineup of speakers and session with a great variety of interesting topics to create the best conference for attendees working within and who are interested in government.

Session submissions is open / Call for Sessions is open and we ask you to submit interesting session proposals to create an awesome conference. Session proposals are not limited to Drupal and all topics in relationship with the above are welcome.

Please also help us to spread the word about this awesome conference. Our hashtag is #drupaleurope.

If you want to participate in organisation or want to recommend speakers or topics please get in touch at [email protected].

In any case we look forward to seeing you at Drupal Europe on September 10–14 in Darmstadt Germany!

About Drupal Europe Conference

Drupal is one of the leading open source technologies empowering digital solutions in the government space around the world.

Drupal Europe 2018 brings over 2,000 creators, innovators, and users of digital technologies from all over Europe and the rest of the world together for three days of intense and inspiring interaction.

Location & Dates

Drupal Europe will be held in Darmstadtium in Darmstadt, Germany — with a direct connection to Frankfurt International Airport. Drupal Europe will take place 10–14 September 2018 with Drupal contribution opportunities every day. Keynotes, sessions, workshops and BoFs will be from Tuesday to Thursday.

Apr 16 2018
Apr 16

Drupalcon 2018 is officially done! Mediacurrent was well represented with 37 teammates converging to Nashville for learning, networking, camaraderie, and professional growth. 

Mediacurrent Team Picture

In the coming weeks, we will be providing a cross-section of feedback from people who perform different roles. Our goal is to give you some insight around "what you missed." 

Drupalcon Nashville 2018 (by the numbers):

  • Approximately 3000 attendees from around the globe and 150 sessions.
  • Hundreds of informal birds of feather (BoFs) meetings where like minded peers gathered, custom training sessions, Summits, and code sprints were held in conjunction with the conference.
  • Over 20,000 Drupal 8 sites are now being launched per month.
  • 81% more of Drupal 8's modules are now considered fully stable compared to this time last year.
  • Some of the biggest logos in the world that have adopted Drupal were well represented in Nashville.

Drupal Logos

The Surgence of Marketing & Strategy: 

There was a common theme throughout the conference around how Drupal can provide a more holistic digital experience. Lauren Vaccarello, VP of Marketing at Box captured many of these points.  While there are a myriad of marketing tools and campaign options available, executives must not lose sight of the obvious - your company's web presence is the singular most important digital asset in your organization. Marketers and editors are demanding more though. They want a content management platform and a best of class partner to:

1.  Really lean in and understand their role and where Drupal solves problems for them.
2.  Take the time to learn about goals, success factors, KPIs and the vision of not just the project or department, but company as a whole.
3.  Show a simpler and easier editorial experience workflow.
4.  Leverage data analytics to make more informed decisions.
5.  Execute at a consistent, predicable level, but also provide insight and exposure to how other organizations are utilizing Drupal in creative ways.

These items are resonating. Megan Saniki, Executive Director of the Drupal Association (DA), talked about how the DA will be working hard to serve the needs of everyone involved in a company's digital experience, especially those who would consider themselves "non-technical."  For example, there will now be a new content and editorial track at Drupalcon, more case studies, and a newly redesigned home page was announced for drupal.org.

Vision of Drupal:

Dries Buytaert, the founder of Drupal, gave a powerful keynote presentation. He mentioned what an exciting time and huge opportunity there is "to grab" for everyone who has been involved with Drupal the past 17 years. After listening to a cross-section of stakeholders, Dries articulated what Drupal's 4 most critical priorities will be to drive the community forward. They include:

1. Improving the evaluation process to help increase adoption - this includes the number of clicks and steps to download Drupal.
2. Improving the content creator experience (people want Drupal to act more like social media tools they already use on a daily basis).
3. Improving the site builder experience - this could include making the version update path easier (note: 8.5 is the newest release of Drupal).
4. Promote Drupal to non-technical decision makers.  In general, this should entail more collaboration for those who have a vested interest in marketing Drupal. This includes a "Promote Drupal Fund" drive that was announced to collect $100,000 to among other things hire an extra, full-time employee for the Drupal Association. 

Recommended Sessions:

Top Drupal 8 Modules: A tour through the best of Drupal in 2018
Advanced topics in Decoupled Drupal
Think Your Website GDPR Compliant? Think Again!

Next Steps:

If you have any questions about Drupalcon Nashville or your next digital project please do not hesitate to reach out to chat.  What did you think of Drupalcon 2018? Send your feedback here.

Apr 05 2018
Apr 05
April 5th, 2018

DrupalCon Nashville has lifted the veil on sessions at this year’s event and we’re thrilled to be a part of it! Our Web Chefs will be giving talks, facilitating the Business Summit, and running BOFs, so keep an eye out for our green jackets. We’re always happy to have a conversation!


Michal Minecki
Director of Technology at Four Kitchens


Patrick Coffey
Senior JavaScript Engineer at Four Kitchens

Recently there have been strides in web-based VR which enable producers to publish VR experiences via the web. Four Kitchens has been keeping an eye on these technologies and we want to share our experiences building real WebVR applications.


Joel Travieso
Senior Drupal Engineer at Four Kitchens

Any amount of automation is worth it, as long as it is effective. From simple things like manipulating pull request labels and ticket statuses, or using your CI engine to build your changelogs, to strategic operations like removing obsolete Pantheon environments or ensuring you always pick the right database for your build, little chunks of automation can substantially improve your workflow.


Adam Erickson
Senior Drupal Engineer


Jeff Tomlinson
Architect

Drupal’s core search can only take you so far. In this session, we will talk about what it takes to ramp up the search functionality of your site by using Search API and Solr. We can achieve this with the addition of a few modules, configuration adjustments, and the set-up of a view. We will take you from with getting a plan in place all the way through to monitoring your site’s search usage and looking for ways to make improvements.


Randy Oest
Senior Designer and Frontend Engineer

With the growing shift towards a decoupled future a company’s presence is going to be represented by an ever-expanding collection of websites, apps, and talking speakers.

Maintaining design and tone consistency across those channels will be challenging but if done right, it can allow you to enter markets more quickly while keeping the style and tone of your company aligned.

Business Summit


Elia Albarran
Director of Operations

Elia will be co-leading the Business Summit, gathering and confirming speakers, giving feedback on the programming and schedule and emceeing the event.


Trasi Judd
Director of Support and Continuous Improvement

Trasi is speaking at the Summit with one of our South American partners, Alejandro Oses from Rootstack, on how to have a good partnership with near-shore vendors.

Four Kitchens

The place to read all about Four Kitchens news, announcements, sports, and weather.

Web Chefs Walking
Events

Blog posts about ephemeral news, events, parties, conferences, talks—anything with a date attached to it.

Read more Events
Apr 03 2018
Apr 03

While everyone has a busy week attending Drupalcon sessions and events (be sure to check out Mediacurrent’s afterparty) , if you find some extra time, Nashville has an eclectic mix of activities and places to go. Whether you're looking for great music in none-other than "Music City" or you're looking for a nice place to relax and grab a bite to eat, take advice from a Nashville native and check out my list of Nashville's must-see spots. When you're ready to take a break from drupalin', check out these suggestions and engulf yourself in the Nashville culture. 

Music

Downtown Nashville

Image source: Wikipedia 

Whether you enjoy country music or prefer other genres, Nashville offers something for every taste.  Some nights you might need to venture outside downtown for more rock and roll. If music is at the top of your Nashville bucket list, here are nine spots you won’t want to miss:  

Food 

Nashville Chicken

Source: Monell’s

There has been a huge number of new restaurants opening but here are a couple of classics and a newish one:

  • Rotier’s Restaurant, the original Cheeseburger in Paradise? A Nashville classic and award winner, just be sure to get the burger on French bread.
  • Family style southern food at Monell's.  Dinner and breakfast are served to the table and passed around like a family holiday.
  • Hip Pinewood Social attracts visitors any time of day, breakfast and Crema coffee, co-working spot during the day, and bowling on antique lanes in the evening.
  • Need Barbecue? Martin’s, Peg Leg Porker,  Edleys, or G’z BBQ are all good choices.
  • Restaurants of award winning chefs include Sean Brock's Husk from Charleston, Tandy Wilson's City House, and the Catbird Seat. This year's James Beard semifinalists include Henrietta Red, Bastion, Josephine, and longtime East Nashville restaurant Margot Café & Bar.
  • Nashville Hot Chicken is very popular with heat level choices for anyone. But pay heed if they warn you when ordering.

Don't forget about the famous Nashville Hot Chicken. A few favorites among many great spots:

  • Princes Hot Chicken Shack. The original.
  • The Tenders Royale from Pepperfire is a nice introduction along with a couple of local drafts on tap, and blues music in the background.
  • Tenn Sixteen Great East Nashville Five Points restaurant.  The hot chicken comes in one heat level, kind of a "Nashville medium".  That is, it's usually pretty hot, unlike other restaurants that don’t specialize in hot chicken.
  • Fannie Mae's, which conveniently just opened up a new restaurant location near the convention center.
  • Another list hot chicken can be found here


Museums

George Jones Museum

Source: George Jones Museum (Also known as the home of the Mediacurrent Afterparty!)

Nashville is rich with history and musical history is at no shortage. Most of these museums are an easy walk or bus ride downtown:

  • The Frist Center -  This art deco building was originally the post office. The current exhibition is the exclusive North American venue of Rome: City and Empire from the British Museum.
  • Country Music Hall of Fame and Museum - Across the street from the convention center, you can also check out Hatch Show Prints or tacos from Bajo Sexto.
  • Musicians Hall of Fame and Museum - This museum “honors the talented musicians who actually played on the greatest recordings of all time.” Additionally The Rolling Stones first ever major exhibition, Exhibitionism, is making its last U.S stop, taking on Music City at the Musicians Hall Of Fame and Museum.
  • Lane Motor Museum - An amazing variety of the largest European collection of cars in the U.S. located a few miles from the convention center.

Exercise

Warner Park

Source: Expedia

Jogging/Walking

  • The downtown Cumberland River Greenway connects to Bicentennial mall - This route can be varied for any distance. 
  • Another popular area for walking and jogging is to cross the Shelby Street Pedestrian Bridge to Cumberland Park and Nissan stadium. 

Hiking/Trail Running 

  • Warner Parks - Large wooded parks on the western boundary of Nashville has hills with a view of the city.
  • B Cycle has bikes for rent by the hour with many locations to pick up or leave a bicycle.   


Family and Kids Activities


Miscellaneous

  • There is a free bus downtown to the Gulch or Farmer's Market and Germantown that has stops around the convention center.  Look for the Green Circuit.  This would be a good way to get to the AAA Nashville Sounds Baseball game in the evening.  
  • A couple of hints on street pronunciations beyond just a southern accent might help too:

       Demonbreun Street - Pronounced da-mun’-bree-un.
       Lafayette Street - Pronounced luh-fay’-ett. ( I know, I know) 


Hopefully everyone has a great experience in Nashville and comes back for a more leisurely visit. 

Mar 14 2018
Mar 14

DrupalCon Nashville is coming up and that means another chance to create deeper connections with the Drupal community by attending or facilitating Birds of a Feather sessions (BOFs). The DrupalCon team has summarized what a BOF is on the DrupalCon website:

Birds of a Feather sessions (or BOFs) are informal gatherings of like-minded individuals who wish to discuss a certain topic without a pre-planned agenda. BOFs allow groups to meet and discuss issues and talk out ways to move the project forward. Have fun and learn! BOFs exist to provide attendees with an inclusive, informal environment in which to share ideas freely. BOFs can be serious, and a great way to gather the people you’ve been working remotely with on a project in a space to deep dive on a topic, but they can also be fun as well. Knitting BOF? Why not?!

At this point, you might think BOFs sound interesting, but why would you consider attending a BOF at DrupalCon?

Since regular DrupalCon sessions are recorded and BOFs are not, consider attending BOFs you find interesting in preference to a session - you can always watch the recording later! BOFs are great subjects for blog posts, so take notes and write about them.

  1. BOFs are not presented lecture style and allow for a high-level of interactivity between the facilitators and other participants. The facilitator generally kicks off the topic and framework for the discussion, allowing everyone to discuss the ideas.
     
  2. Due to the interactivity, there is a chance to meet and get to know others in a way that you might not be able to do in a DrupalCon session.
     
  3. Some BOFs are focused on discussions around and determining best practices. These are great ways to look into your processes and know what you are doing well and what you can do to improve. Organizations looking for the value in sending you to DrupalCon can’t ask for more than the opportunity for immediate process improvements post-DrupalCon.
     

Let’s shift gears to BOF planning and facilitation. Why would you want to host a BOF? One reason is that you may have been one of the 900+ session proposal submitters that were not selected - turn your lecture style idea into a BOF discussion! Another reason to host is that you can ensure that a topic you have a passion about has DrupalCon representation, drawing in participants with similar interests. A BOF is also a great way to practice public speaking and prepare for a future DrupalCon session opportunity!

If you are interested in facilitating a BOF, here are some tips to make sure you get the most out of it and ensure that participants have the opportunity for a positive experience.

  1. As a first step, check out the DrupalCon suggestions: How to Run a Successful BOF
     
  2. Plan your BOF with a clear and concise abstract on what you want to discuss. You are marketing your session against others sessions happening at the same time so make sure to attract participants.
     
  3. Submit your idea as soon as possible! The BOF schedule fills up quickly! There is nothing wrong with pulling together an informal BOF in a hallway or lunch table if spaces fill up.
     
  4. When the BOF begins, introduce yourself and clearly state the topic and format for the BOF so participants know how it will work.
     
  5. Have a brief topic discussion to kick off the BOF. This can be an example of your personal experience around the topic, including successes and challenges. This helps make participants comfortable and gives them time to think about questions and ideas to contribute. Keep it brief so you have time for others to participate.
     
  6. After the short introduction discussion, start by asking an icebreaker question to get participant involvement going. It is a good idea to have a list of related questions and discussion items ready in case you need to keep the conversation moving. Many times, the BOF will take off organically and there will be no need to rely on those techniques.
     
  7. Remember, you are the facilitator. It is your job to help give everyone a chance to be involved and to guide the BOF back to the topic if it gets off track a bit.
     
  8. End the BOF by thanking everyone for coming and consider offering some resources or related research to continue the conversation.
     

If you are interested in submitting a BOF idea at DrupalCon Nashville, BOF scheduling opens on March 14th, 2018. Visit https://events.drupal.org/nashville2018/birds-feather for submission details. Remember that the Code of Conduct is in effect at BOFs and throughout DrupalCon events. We hope to see you at a BOF at DrupalCon Nashville!

Additional Resources
Mediacurrent to Present 7 Sessions at Drupalcon Nashville | Mediacurrent Blog
Drupalcon: Not Just for Developers | Mediacurrent Blog 

Oct 20 2017
Oct 20

As you might have heard during the closing session of DrupalCon Vienna last week, an initiative is working on organising an event for the European community in order to close the gap between DrupalCon 2017 and DrupalCon 2019. Today, one week after the closing session, we are here with our first official communication and we would like to share our current progress.

The discussions about organising an event in 2018 started when Megan Sanicki started blogging about the future of DrupalCon Europe. Some people within the community felt the need to have a big event in Europe for various reasons:

  1. We want an event which brings together the European Drupal community.
  2. We want to make sure that the European market sees that Drupal as a technology is a strong brand.
  3. We want to prove our community that we can do this conference sustainable and cost effective.

Before DrupalCon

Many people contributed to an even greater amount of opinions on what we do want and don’t want for a conference in 2018, all these opinions and ideas from social media, BoF’s and meetings have been collected in a summary document

During DrupalCon

You must have noticed that the lack of DrupalCon 2018 was the main topic of lots of discussions in Vienna. The discussions already started during the community summit where a group was talking about the future of DrupalCon Europe in general. During the con we had at least 4 BoF’s, people were sprinting on the initiative, people were having meetings with the Drupal Association and even during the social events people started putting their heads together to come up with solid plans for 2018.

Licensed — Image courtesy of Amazee Labs

There were even people who didn’t attend a single session during this DrupalCon so that they could keep working on ensuring that the community could meet next week.

We identified several key requirements from our community and we will do all the necessary in order to address these requirements during the organisation of this conference. Almost everyone agreed to the following statements:

Licensed — Image courtesy of Paul Johnson
  • We want a large Drupal event which is affordable for everyone from within Europe.
  • We don’t need huge and fancy venues if we can decrease the price of the tickets and make the conference more sustainable.
  • We don’t mind taking a lunch break and go out to find some food during the event if this will decrease the price of the tickets.

Today

Thanks to all the work we have done during DrupalCon Vienna, today we have a working group of several key people from within the European Drupal community that are collaborating on organizing a large scale Drupal event in Europe next year. It has been decided that the event will be called “Drupal Europe”.

Licensed — Image courtesy of Paul Johnson

The Drupal Association has acknowledged our initiative and has decided that they will support us wherever is possible. We would like to outline that this initiative is not about creating a separate entity. We encourage collaboration and we will keep the Drupal Association in the loop of all our future progress.

This working group is not the same group that Megan announced at DrupalCon Vienna. The group of eight people was formed to advise the Drupal Association on a selection process, and the selection criteria for licensing DrupalCon Europe in 2019. Nevertheless, some people are involved in both groups. This will help to strengthen and prove the advice of this group.

The format of Drupal Europe

As Drupal Europe 2018 will act as a proof of concept for future DrupalCons we decided to go for a MVP approach for 2018. This means that we will experiment with various concepts with a main focus to organise a sustainable event.

Ticketing

As Drupal Europe 2018 should be an event which brings members of our community together, we will introduce different tiers of tickets. The first tier will be for people who are coming to collaborate on contribution & community work. This ticket will allow people access to BoF’s, sprint rooms, social events and the sponsors exhibition hall.

The second tier of tickets is targeting people who come to learn and to get updates from speakers. This ticket grants the person access to sessions and trainings plus all that the contribution ticket allows above.

Keynotes

In order to make this event sustainable, we are not looking for venues that can have 2000+ people in one room. Venues that are offering these type of rooms are usually very expensive and booking one could lead to failing in our mission. Instead we are looking for a venue with several rooms where people can watch the live stream of the keynote instead.

Mission

Our aim is to organise a sustainable and affordable event where people from the European (and global) Drupal community can collaborate together on tackling challenges and engage in order to make Drupal grow both as a technology and as a brand.

Our core values:

  • Engage
  • Challenge
  • Grow
  • Collaborate
  • Community
  • Sustainability

What’s next?

  • Call for venues
  • Setting up OpenSocial site so all the enthusiasm can be converted into action.

Who’s involved?

Want to get involved? Send a DM to http://www.twitter.com/@drupaleurope , contact any of people listed above or join us at https://drupaleurope.getopensocial.com/

Financial support

We’re in need of early sponsors to back the plan and make it scale. If you are interested, please contact any of the people listed above.

May 10 2017
May 10
May 9th, 2017

DrupalCon is many things to many people. For me, this year’s North America DrupalCon in Baltimore was a chance to connect with my remote co-workers in the same place, help share knowledge while learning things myself, and celebrate all the things that Drupal makes possible.

The Drupal 8 with React.js and Waterwheel Training

Our first big event was “API First Drupal 8 with React.js and Waterwheel Training”, where Web Chef Luke Herrington took a canonical JavaScript application—a todo list built with React—and hooked it up to Drupal 8 through a new JavaScript library called Waterwheel.js. Todos were stored in a headless Drupal site via the JSON API module, and we even provided a login page and a `like` button for todos. Although we had a small army of Web Chefs available to help, Luke had created such a great training that our extra support wasn’t needed, and the attendees were really able to dive deep into how everything worked.

Future of the CMS: Decoupled

“I’ve completely rewritten my talk,” said Todd, the Four Kitchens CEO, at the team dinner on Monday night. I’ve seen him give this talk before but this declaration really piqued my curiosity.

There were a lot of talks at DrupalCon about the “how” of decoupling, but Todd’s revised talk is a great summary of the “why”. In it, Todd talks about the differences between CMSes being “content management systems” versus “website management systems” and about how that content can be managed so that it is reuseable on all categories of devices. Because the technology is always changing, it’s a talk he rewrites at least once a year, and I’m glad I got to see this version of the 2017 talk when I did.

Supercharge Your Next Web App with Electron

To show off his work in Electron, Web Chef James Todd brought two drawing robots to DrupalCon that he set up in our booth. Each machine was powered by RoboPaint, a packaged-up web app. I’ve been curious about Electron for a while, and when I learned that James was giving a talk on the subject I immediately reached out to help him build his slide deck so that I could learn more. His presentation was thorough and entertaining, and he encouraged people to “experiment and play with it, it’ll be fun”.

Drinks with a Mission

The Drupal community believes that open source technology has the power to improve the lives of others, so instead of the usual DrupalCon party, this year, Four Kitchens teamed up with Kalamuna and Manatí to host “Drinks with a Mission”.

We started the night by asking, “If you had a magic wand that would fix a problem, what problems would you fix?” Answers were written down on post-it notes, which were then sorted into groupings, and finally assigned to teams. Each team took their topic, such as How to Better Connect with Nature, and had to come up with solutions to the topic problem. Great ideas can begin in unexpected places, and the ensuing solutions were as thoughtful as they were hilarious.

Watch the recorded stream of the event: Part 1, Part 2

Taking the Train Home

In the last few years I’ve started to become enamored with the concept of “taking the train”. So at the end of DrupalCon I got my wish, and instead of flying, I spent an entire day traveling by rail: from Baltimore, through Philadelphia’s gorgeous train station, and then on to home in the middle of Pennsylvania.

Recommended Posts

  • A mostly full report on what went down last week in the Big Easy, gonzo journalism -style.
  • Fun & Games DrupalCon Baltimore is next week and we’re so excited to get back together in Baltimore! As the official Drupal Games sponsors, we take fun very seriously and…
  • "API First" or, as some may call it, "Decoupled Drupal", remains a topic of much discussion among the Drupal community. Here are just a few sessions being presented at Drupalcon…
Randy Oest
Randy Oest

Randy Oest is an avid Star Trek fan, plays too many board games, and bought his mother an iPad so that he wouldn't have to fix her computer anymore.

Apr 24 2017
Apr 24
April 24th, 2017

Making Huge Strides Back to Desktop

So what is this Electron thing everyone keeps talking about? Even if you haven’t heard of it, you may have used it! With over 4 millions daily users on Slack’s business oriented chat system, their cross-platform desktop application helps them reach their users outside of browsers, but these systems are in fact part of the same thing.

Back in May 2014, prolific bastions of open source and $2b valuated company, GitHub, took the custom application wrapper it originally created for its Atom code editor and released into the world—and Electron was born. Rebranded from “Atom Shell” in 2015, Electron began to take off almost immediately, allowing regular web developers the ability to make native-like, high performance desktop applications using the exact same HTML, CSS, and JavaScript technologies they use to make the rest of the web.

Piggybacking on the huge wave of API first work in Drupal 8 utilized via the Waterwheel client wrapper, building with Electron allows you to create nearly native desktop experiences using frameworks like React, Redux, Angular, or anything else that your team can construct to run in a web browser. Beyond even that, Electron gives JavaScript direct access to low level Node.js and operating system APIs, allowing your application direct file access, running custom binaries for data processing, execution of alternative scripting languages, serial port or hardware access, and tons more.

Supercharge Your Next Web App

This year at DrupalCon Baltimore, we present “Supercharge Your Next Web App with Electron”, a session that digs deep and covers everything you need in order to dip into the waters of Electron. We’ll talk about what big companies have already taken the plunge and even provide a checklist for when not to move from the web to a desktop app.

Though an Electron app may not be the right choice for your next application, knowing what tools are available to you—and understanding their incredible possibilities—is going to serve you anytime you’re  considering user-oriented frameworks. Don’t miss out on this interesting view into a future of low-energy/high-return desktop applications in the DrupalCon Horizons track this year.

And, during active exposition hours, make sure to come over to the Four Kitchens booth to see a live demo of an Electron app powered by JavaScript—we build a robot artist!

Four Kitchens: We make content go

Recommended Posts

  • In this issue: Launching the new EW.com, MeteorJS; plus Sane Stack, Herp Derpsum, and switching to Sublime Text 3.
  • Fun & Games DrupalCon Baltimore is next week and we’re so excited to get back together in Baltimore! As the official Drupal Games sponsors, we take fun very seriously and…
  • "API First" or, as some may call it, "Decoupled Drupal", remains a topic of much discussion among the Drupal community. Here are just a few sessions being presented at Drupalcon…
James Todd
James Todd

James tinkers with hardware, software, and everything in between.

Events

Blog posts about ephemeral news, events, parties, conferences, talks—anything with a date attached to it.

Read more Events
Apr 18 2017
Apr 18
April 18th, 2017

Fun & Games

DrupalCon Baltimore is next week and we’re so excited to get back together in Baltimore! As the official Drupal Games sponsors, we take fun very seriously and this year you can be sure to find some exciting things to do at our booth—we won’t spoil the surprise but let’s just say you’ll get to see some of us IRL and IVRL.

And if you visited us last year, you know we are all about that Free Throw game. Our undefeated Web Chef, Brian Lewis, will be there to take on any challenger. We’ve all been practicing and we are READY. Are you?

We’ll also have some of our widely-enjoyed Lightning Talks during lunch intervals right at our booth! Learn something new in just a few minutes, howbowdat? Stop by our booth to check out the schedule.

Web Chef Talks

It’s been an exciting year and the Web Chefs are ready to drop some knowledge, including:

Future of the CMS: Decoupled, Multichannel, and Content-as-a-Service, presented by Four Kitchens Co-Founder and CEO, Todd Ross Nienkerk.

Supercharge Your Next Web App with Electron, presented by Web Chef engineer, James Todd.

Why Klingon Matters for Content: The Secret Power of Language, presented by our content specialist, Douglas Bigham.

Training: API First Drupal 8 with React.js and Waterwheel, a training with JavaScript engineer, Luke Herrington.

Party with a Purpose

Last—but definitely not least—you’re cordially invited to our official DrupalCon gathering, Drinks with a Mission, hosted by Four Kitchens and our friends at Kalamuna and Manatí.

Join us on April 25th at Peter’s Pour House from 6-9pm for lively conversation, free-flowing libations, and a structured forum for hashing out ideas on how to use Drupal to overcome the challenges many of our communities face in today’s national and global political climate.

RSVP here!

See you in BMD!

Oh! The kittens are coming along to Baltimore as well—four of them to be exact—and we can’t wait to reveal this year’s DrupalCon t-shirt design. We’re not kitten around. We wish we could show you right meow.

P.S. Check out the 10-day Baltimore weather forecast.

Recommended Posts

Lucy Weinmeister
Lucy Weinmeister

Lucy Weinmeister is the marketing coordinator at Four Kitchens. She loves to share all the new and exciting things the Web Chefs are cooking up at 4K. She is forever reading a book.

Events

Blog posts about ephemeral news, events, parties, conferences, talks—anything with a date attached to it.

Read more Events
Sep 22 2016
Sep 22

Giving back to our communities isn’t a new thing for us. And come Monday, five of our team members will be at DrupalCon Dublin. There will be plenty of Axelerant to go around. We’ve got three sessions, each in a different track, and the official event photography team will be led by Michael, our COO.

But before we get into what we’re bringing to Dublin, we should mention that we started to schedule our meet and greets. And we want you to be one of them. Let’s get together at a local brew pub and talk about Open Source problems and solutions in the community:

Let's connect at DrupalCon Dublin

Now, let’s get into what we’re up to. We’re presenting in Front-End, Project Management, and Business tracks at DrupalCon Dublin, so be sure to add them to your list.

Choosing The “Right Agile Methodology” For Your Drupal Projects

Date: 09/27/2016

Time: 14:15 to 15:15

Room: Liffey Meeting 4 | New Relic

Add this session to my schedule!

Shani and Prabhat will explore and compare different agile methodologies and share tips on how to choose the right one so you can accelerate your Drupal project. In this session, they’ll cover effective uses of CYNEFIN, a popular decision-making framework, to differentiate between Drupal projects and choosing right agile methodologies for the same.

Shani and Prabhat will cover:

  • Scrum
  • Extreme programming
  • Feature-driven development
  • Scrumban
  • Kanban
  • Lean development

Expected Takeaways:

A clearer idea of which methodology is right for each project, considering: project size, team size, iteration length, roles and responsibilities, and distributed team support. They’ll also discuss risk mitigation levels and customer interaction.

Growing Via Strategic Account Management Frameworks

Date: 09/27/2016

Time: 17:00 to 18:00

Room: Wicklow Hall 2A | Druid

Add this session to my schedule!

Piyush will take you through our Account Management practice and share some real-life case studies demonstrating how we hit target sales quota by 2-3x and achieved maximum strategic account objectives within the desired timeline.

Have you connected with Piyush yet?

Piyush will cover:

  • Customer onboarding process
  • Kickoff meetings
  • Routine engagement health check-ins
  • Invoicing and collections management
  • Satisfaction surveys and testimonials management
  • Complaint and grievances management
  • Contract renewals and extensions.
  • Opportunity exploration: researching the client, industry, references, social media, etc.
  • Evangelizing clients via social media, digital marketing, and event participations

Expected Takeaways:

  • What is Account Management?
  • What skills and talents are required to excel in Account Management specific to Drupal
  • What activities must be performed to maximize Account Management ROI?
  • What are some of the accountabilities and performance metrics used?

React Front-End For Your Drupal 8 Back-End

Date: 09/29/2016

Time: 12:00 to 13:00

Room: Wicklow Hall 2B | Platform.sh

Add this session to my schedule!

Aliya and Bassam will give a hands-on session. By the end of it, you’ll have learned how to build a decoupled website using React ecosystem on the front-end, using Drupal 8 as the content management system (and a data source).

Aliya and Bassam will cover:

  • How to configure Drupal to expose RESTful resources using Drupal 8
  • Enable CORS support for the domains/port running our React application
  • Authenticate requests using JWT
  • Consume data on front-end using Redux store
  • Pass data from Redux store React components

Expected Takeaways:

  • Be able to build a RESTful API using Drupal 8
  • Use any backend with react front-end

Covering DrupalCon Dublin

Michael has a knack for capturing Open Source events around the world as a way of giving back. He’s been leading the photography for two DrupalCons now: DrupalCon Asia and DrupalCon New Orleans.

He’s coming fully equipped to help the Drupal Association immortalize DrupalCon Dublin for all of us, and you can help. If you’d like to contribute to this process, there’s still time to join the “Official Photography Team.”

And while he’ll be running around the event like a paparazzo, Michael would still like to connect with you one-on-one to answer any questions you have about Axelerant. Be sure to take him up on the offer if there’s something you feel we can help you accomplish.

Want to chat about something? Parth Gohil

Parth Gohil

Parth is Axelerant's Community Manager hailing from Surat. He loves supporting open source communities, piloting single-engine aircraft, and being a Cha-Cha Productions actor.

Sep 17 2016
Sep 17

DrupalCon Dublin is just around the corner. Earlier today I started my journey to Dublin. This week I'll be in Mumbai for some work meetings before heading to Dublin.

On Tuesday 27 September at 1pm I will be presenting my session Let the Machines do the Work. This lighthearted presentation provides some practical examples of how teams can start to introduce automation into their Drupal workflows. All of the code used in the examples will be available after my session. You'll need to attend my talk to get the link.

As part of my preparation for Dublin I've been road testing my session. Over the last few weeks I delivered early versions of the talk to the Drupal Sydney and Drupal Melbourne meetups. Last weekend I presented the talk at Global Training Days Chennai, DrupalCamp Ghent and DrupalCamp St Louis. It was exhausting presenting three times in less than 8 hours, but it was definitely worth the effort. The 3 sessions were presented using hangouts, so they were recorded. I gained valuable feedback from attendees and became aware of some bits of my talk needed some attention.

Just as I encourage teams to iterate on their automation, I've been iterating on my presentation. Over the next week or so I will be recutting my demos and polishing the presentation. If you have a spare 40 minutes I would really appreciate it if you watch one of the session recording below and leave a comment here with any feedback.

Global Training Days Chennai

Thumbnail frame from DrupalCamp Ghent presentation video

DrupalCamp Ghent

Thumbnail frame from DrupalCamp Ghent presentation video

Note: I recorded the audience not my slides.

DrupalCamp St Louis

Thumbnail frame from DrupalCamp St Louis presentation video

Note: There was an issue with the mic in St Louis, so there is no audio from their side.

Share this post

Feb 26 2016
Feb 26

We’re excited to announce that we’ve partnered with the Drupal Association to help plan and organize the dedicated PHP track at this year’s DrupalCon in New Orleans. Our own Heather White is working with Larry Garfield (aka @crell) to identify PHP topics relevant to Drupal developers, review sessions, and select speakers. Having a robust PHP track will help Drupalers “get off the island”, a call-to-action started by Larry that has seen the Drupal project embrace solutions and practices from the greater PHP community. At the same time, it’s an opportunity for PHP developers to see how Drupal 8 embraces modern PHP including Object-Oriented development, Composer integration, and code re-use to provide a world class CMS. This collaboration continues the work we began when we launched php[world], a conference meant to bring together PHP’s disparate communities.

If you’re a speaker, the call for sessions is still open (closes on Feb 29th, see link for exact time). Look for the php[architect] team at this year’s DrupalCon. We look forward to meeting you there.

Oscar still remembers downloading an early version of the Apache HTTP server at the end of 1995, and promptly asking "Ok, what's this good for?" He started learning PHP in 2000 and hasn't stopped since. He's worked with Drupal, WordPress, Zend Framework, and bespoke PHP, to name a few. Follow him on Google+.
Feb 25 2016
hw
Feb 25

DrupalCon Asia Day 2 dawned bright and promising. I was excited to know who would win the visualization challenge and hoping it was me. I wanted that Royal Enfield Classic 350. Read about my day 0 and day 1 here.

@Dries checking out the @drupal bike. @DrupalConAsia #drupalconasia #devcontest pic.twitter.com/1EgUETJxGn

— azri (@azrisolutions) February 18, 2016

About an hour or two later, I said this

Awesome! Thanks @azrisolutions, @Dries, @azrisolutions. #DrupalCon pic.twitter.com/bjiuMAqYs3

— hussainweb (@hussainweb) February 20, 2016

I can finally say this. That's @Dries on MY bike. ???? https://t.co/mdrPU91q2d

— hussainweb (@hussainweb) February 20, 2016

Yes, that’s right! I won this beautiful bike

@dries handing the keys to the winner of azri devcontest @hussainweb @DrupalConAsia #devcontest pic.twitter.com/hsyqCQTdjC

— azri (@azrisolutions) February 20, 2016

Congratulations @hussainweb on winning @azrisolutions drupalcon dev contest, truly deserving @BangaloreDrupal #proud pic.twitter.com/wglMjmb1sU

— Chakri (@chakri_iiith) February 20, 2016

Okay, I went in the wrong order. The day actually started with Holly Ross telling us about Drupal in India.

"Now I'm in future cause I'm in India." – @drupalhross #DrupalCon pic.twitter.com/y6vGgBQZso

— hussainweb (@hussainweb) February 20, 2016

The need is increasing for Drupal talent. – @drupalhross #DrupalCon pic.twitter.com/pvH6Kqwolq

— hussainweb (@hussainweb) February 20, 2016

Thanks @drupalhross for encouraging @DrupalCAP Miles to go :) @DrupalConAsia pic.twitter.com/gcUhgpHByO

— Rakhi Mandhania (@MandhaniaRakhi) February 20, 2016

Come to the sprints tomorrow. #DrupalCon pic.twitter.com/eoePSY3x5D

— hussainweb (@hussainweb) February 20, 2016

After the winner for the developer contest was announced (me), we heard Danese Cooper share her amazing insights into open source and tell us about open source in India

"Make the world better, monetize some of it." #DrupalCon

— Larry Garfield (@Crell) February 20, 2016

"open source is a level playing field." #DrupalCon

— hussainweb (@hussainweb) February 20, 2016

"You're not cogs in a wheel anymore." #DrupalCon pic.twitter.com/fPbaCBuHQY

— hussainweb (@hussainweb) February 20, 2016

"Reputation is a big thing, I'm this country and in open source." #DrupalCon pic.twitter.com/gHllZQu41L

— hussainweb (@hussainweb) February 20, 2016

Diversity in Drupal #DrupalCon pic.twitter.com/c0JeowI2Le

— hussainweb (@hussainweb) February 20, 2016

That's Drupal and it's a beautiful thing. #DrupalCon pic.twitter.com/NSWf6Dbs6b

— hussainweb (@hussainweb) February 20, 2016

Be transparent. If it's not the best code you've ever written, say that and still share it. @divadanese keynote at #drupalconasia

— xjm (@xjmdrupal) February 20, 2016

.@DivaDanese on #Drupal community: #diversity #niceness #global #balance @DrupalConAsia "best open source community on the planet!"

— Ani Gupta (@anigupta) February 20, 2016

OH: "There's inherent niceness here." Via @divadanese #DrupalCon

— Larry Garfield (@Crell) February 20, 2016

Don't make people feel small when you help them. Make them feel big. Lift them up & they'll lift you. @divadanese keynote at #drupalconasia

— xjm (@xjmdrupal) February 20, 2016

Thanks for the nice words @DivaDanese. You had me shed a tear (and that doesn't happen easily). #dccooper #drupalcon

— Dries Buytaert (@Dries) February 20, 2016

It’s up to us, as practitioners, to hold government to their promise to use open source. @DivaDanese #DCAsia #dccooper #DrupalCon

— Donna Benjamin (@kattekrab) February 20, 2016

"It's not a video game." I can totally identify with this. @DivaDanese #DrupalCon

— hussainweb (@hussainweb) February 20, 2016

@DivaDanese working for govt is a great idea #dccooper @DrupalConAsia pic.twitter.com/VVLXtDKRaR

— Vaibhav Jain (@vaibhavjain_in) February 20, 2016

Q&A with @DivaDanese by @parth_gohil #DrupalCon pic.twitter.com/Va9Jnacm9G

— hussainweb (@hussainweb) February 20, 2016

Oh, and if something can increase the joy of winning the bike, it was this

You know what is awesome? @hussainweb winning a #Drupal motor cycle at @Drupalcon /cc @azrisolutions

— Dries Buytaert (@Dries) February 20, 2016

You know what makes it even more awesome? You tweeting about this. Thank you! https://t.co/mcL6z2Q5c2

— hussainweb (@hussainweb) February 20, 2016

We also heard from Jacob Singh about contributions from Acquia and Acquia India

Contributions by @acquia India by @JacobSingh #DrupalCon pic.twitter.com/Yg5BpvvBDf

— hussainweb (@hussainweb) February 20, 2016

Oh, and there is a dance again

Of course the #DrupalConAsia dance number spills out into the audience. #DrupalCon pic.twitter.com/8hctX02UJC

— Larry Garfield (@Crell) February 20, 2016

[embedded content]

Then there is a day filled with sessions, BOF’s, and meeting people

Nice meeting you @hussainweb congrats again pic.twitter.com/ewF6cqetfI

— shyam_raj (@shyam_raj) February 20, 2016

Azri team handing over the azri Drupal bike to @hussainweb @DrupalConAsia cc/ @skwashd @drupalhross @joshua_io pic.twitter.com/8V4p9uqal0

— azri (@azrisolutions) February 20, 2016

Team @axelerant taking a class ;) #drupalcon #dcasia pic.twitter.com/VMlG8DYIP4

— Murtaza Alvi (@AlviMurtaza) February 20, 2016

Axelerant Raspberry winner - DrupalCon Asia 2016

I was also a part of the panel discussing contributions and community in India

Contribution vs. Consumption - DrupalCon Asia 2016

Contribute without code? Know who: 1-#UX with webchick,lewisnyman,bojhan 2-help gabor with #Multilingual & translate! #DrupalCon #DCAsia

— Adelle Frank (@adellefrank) February 20, 2016

Asia/India has similar #Contribution issue with being afraid to DO until learn how #DrupalCon #DCAsia

— Adelle Frank (@adellefrank) February 20, 2016

It was time to take the bike out

Here we go. Winner of contest taking this one for a spin #DrupalCon #dcasia @hussainweb pic.twitter.com/GGqoomsmVc

— Isabell Schulz (@murgeys) February 20, 2016

@skwashd and @hussainweb on the azri Drupal bike @DrupalConAsia #sholay #sholaymoment #DrupalCon pic.twitter.com/nBnHV8LHr4

— azri (@azrisolutions) February 20, 2016

don't they look cute ? @DrupalConAsia pic.twitter.com/qNRZsq3Ofg

— mortendk (@mortendk) February 20, 2016

And then sprint next day and meeting more people

Hey @drupalconasia – these folks are ready to learn to sprint. He'd on down to the lecture hall complex and join in! pic.twitter.com/Ahk7QKAzT3

— Holly Ross (@drupalhross) February 21, 2016

#DrupalCon mentored sprints. New contributors #FTW! pic.twitter.com/VqOO5o2Egj

— Larry Garfield (@Crell) February 21, 2016

woo we did it,350+ ppls joined us, amazing exp, thnx to all @DrupalConAsia mentors. spl thnx 2 @xjmdrupal @webchick pic.twitter.com/LkPRce7Mkl

— Ravindra Singh (@ravindrasingh01) February 21, 2016

Codesprint @DrupalConAsia @nikunjhk @mohit_rocks @Crell #DrupalCon @axelerant pic.twitter.com/ywQmlgA8Vf

— Mitesh Patel (@miteshmap) February 21, 2016

1025 people came to @DrupalConAsia :)

— mortendk (@mortendk) February 21, 2016

1025 attendees, of which 82% just experienced their first DrupalCon at @DrupalConAsia!

— The Lyf of Barthe (@BartFeenstra) February 21, 2016

Great closing session @amandagonser @RachFrieee https://t.co/BHaYumWXy1

— Megan Sanicki (@megansanicki) February 21, 2016

To everyone involved in making @DrupalConAsia happen – THANK YOU. Best time of my life. You are the most generous community!

— Holly Ross (@drupalhross) February 21, 2016

1025 people attended #drupalconasia! That's almost triple #DrupalCon Sydney. Awesome effort team. pic.twitter.com/yAwBMUHXgu

— Dave Hall (@skwashd) February 21, 2016

First-time contributors #DrupalCon India – Sprints https://t.co/V7xQAPK7lN pic.twitter.com/IavkV6Oszn

— Josef Dabernig (@dasjo) February 21, 2016

Where we come for the code and stay for the community. #drupalconasia #DividedByBoundariesUnitedByDrupal pic.twitter.com/7tm5NSx63B

— Manogna (@ManognaRao) February 21, 2016

I gotta say, 6 DrupalCons down, the gratitude/love from the community in India is truly touching. Thx for everything! It's been incredible.

— Rachel Friesen (@RachFrieee) February 22, 2016

Goodbye @DrupalConAsia. What an incredible time we had. Thank you for your amazing generosity #drupalcon

— Megan Sanicki (@megansanicki) February 22, 2016

.@DrupalConAsia is over, Auntie? But we will have another, na? #HappyDrupalista #DCAsia #DrupalCon pic.twitter.com/4xbkq0Ux4D

— Adelle Frank (@adellefrank) February 22, 2016

Thank you sprint mentors at @DrupalConAsia ! pic.twitter.com/yvHTbeItpZ

— xjm (@xjmdrupal) February 21, 2016

Say hi to the Indian #Drupal community #DrupalCon https://t.co/RRLhzjFYNd pic.twitter.com/jJCtMwmrnF

— Josef Dabernig (@dasjo) February 19, 2016

Divided by boundaries but united by #drupal friends from PK @drupakpakistan @m_tanweer @DrupalConAsia @DrupalMumbai pic.twitter.com/1zYenYpBbB

— Rachit Gupta (@tweet_rachit) February 21, 2016

I'm checking out of #DrupalCon and feeling overwhelmed. What a con! What a community! I'm privileged to be a part. pic.twitter.com/x49eGI8EgG

— hussainweb (@hussainweb) February 21, 2016

Oh, and one more selfie

Here is my #DrupalCon #selfie w/ @parth_gohil, @piyushpoddar, @Crell in background, and photobomb by @drupalhross. pic.twitter.com/AR38NON1KD

— hussainweb (@hussainweb) February 21, 2016

This DrupalCon was very special to me, not least because it was in India. But this tweet captures it.

This tweet captures everything that Drupal is. It is about community, about people, about love. #DrupalCon https://t.co/2PvLB5h3uJ

— hussainweb (@hussainweb) February 23, 2016

Feb 20 2016
hw
Feb 20

DrupalConASIA is here!!! I am back in the busy city of Mumbai and in the premises of IIT Bombay, which also saw DrupalCamp Mumbai last year. This time, it is a much bigger conference; in all ways. More people, more sessions, more community, more fun.

Lol I was just about to post the same thing. Good morning @hussainweb and #DrupalConAsia! pic.twitter.com/0vpWPc80hp

— Novella C. (@italiatina) February 18, 2016

As DrupalCon tradition goes, we start on Thursday, 18-Feb-2016, with summits (for business, government, education, and community) and a whole lot of trainings. I was fortunate enough to speak at the community summit about some of the issues surrounding contribution.

@hussainweb speaks about DO contrib tracking at community summit @drupalcon #drupalconasia pic.twitter.com/293Xp0IL7w

— DEVIKA DAS (@das_devika) February 18, 2016

@hussainweb talking about DO contrib tracking at Community Summit @DrupalConAsia #DrupalCon pic.twitter.com/gZMyBLQm2V

— Sushil (@thesushyl) February 18, 2016

I was still tired with everything around the con, including the Developer Contest by Azri Solutions in which I was participating, and went back early. The only other thing I did that day was attend Axelerant’s team dinner / party. I also met my old colleagues at Blisstering Solution there.

Finally did it! I submitted my visualizations for the @azrisolutions #devcontest at @DrupalConAsia. #fingerscrossed pic.twitter.com/HDAKWXHagp

— hussainweb (@hussainweb) February 18, 2016

Next day dawned early but I was still not well and was late to prenote!

Late for #DrupalCon prenote. ???? pic.twitter.com/2eSWmdqpEL

— hussainweb (@hussainweb) February 19, 2016

The prenote was great, and ended with a dance where almost all of the audience went up on the stage to dance.

"Why is #DrupalCon special?" Hear it from the community. pic.twitter.com/HVguNkl8Lm

— hussainweb (@hussainweb) February 19, 2016

There are more people on the stage than you can see in audience. This is @DrupalConAsia. #DrupalCon pic.twitter.com/JkZSzbW7Fv

— hussainweb (@hussainweb) February 19, 2016

[embedded content]

This was followed by an introduction by Holly Ross, a guide to pronouncing D8 by Sunit Gala, and then the DriesNote.

269 contributors to #Drupal8 from Asia. #DrupalCon pic.twitter.com/UtMEuwreEe

— hussainweb (@hussainweb) February 19, 2016

How you can get away contributing to #Drupal8 on a Friday night. #DrupalCon pic.twitter.com/DgwCwBW9Xf

— hussainweb (@hussainweb) February 19, 2016

#DriesNote begins pic.twitter.com/YCwp5SG81k

— hussainweb (@hussainweb) February 19, 2016

"If #Drupal does not do well in India, it will be very sad." – @Dries #DriesNote #paraphrased pic.twitter.com/Vdfx1MnNdt

— hussainweb (@hussainweb) February 19, 2016

What hair product does @dries use? #DriesNote

— Dave Hall (@skwashd) February 19, 2016

Ah, we've reached the Davos section of the #DriesNote. #DrupalCon pic.twitter.com/pmbhn8VE9U

— Larry Garfield (@Crell) February 19, 2016

Of course, Dries had to wear a turban.

@Dries befoe #DriesNote at #DrupalConAsia, putting on turban! pic.twitter.com/M2iO4eCS7a

— Sushil (@thesushyl) February 19, 2016

And who’s up for an yearly DrupalCon in India?

"Totally makes sense for India to have an annual conference" – @Dries #DriesNote Q&A

— hussainweb (@hussainweb) February 19, 2016

"I can totally see this being the third largest conference." – @Dries, on #DrupalCon in India. #DriesNote Q&A

— hussainweb (@hussainweb) February 19, 2016

And then the group photo.

Thank you to everyone in the community who is here to support DrupalCon Asia! #DrupalCon pic.twitter.com/AEMbcqAl8v

— DrupalCon Asia (@DrupalConAsia) February 19, 2016

We then went to sessions, collecting swag at booths, meeting people, and so on.

@Zaizi @ZaiziAsia #drupalteam with @hussainweb pic.twitter.com/CpF4u2vkMo

— Niraj Meegama (@nmeegama) February 18, 2016

We are talking about migrating a top 50 website in Room 23 at @DrupalConAsia. #DrupalCon @axelerant pic.twitter.com/UCBH5Ov7AI

— hussainweb (@hussainweb) February 19, 2016

@hussainweb discussing RESTful Panels for legacy #drupalcon #dcasia pic.twitter.com/nUaPPQA8Tu

— Murtaza Alvi (@AlviMurtaza) February 19, 2016

@_agupta_ @lakshminp @hussainweb @skippednote from at #DrupalCon on Migrating https://t.co/LHs5vx3i7N @axelerant pic.twitter.com/ap7UpSx7Pn

— Sushil (@thesushyl) February 19, 2016

.@chakri_iiith and @gokulnk from @BangaloreDrupal discuss community at #DrupalCon pic.twitter.com/tEahoDgtMT

— hussainweb (@hussainweb) February 19, 2016

.@emma_maria88 and the joy of #Contribution !! #DrupalCon #DCAsia pic.twitter.com/GErwYdnJa8

— Adelle Frank (@adellefrank) February 19, 2016

@prestonso giving session in Hindi! pic.twitter.com/TMjaMvTpE6

— Gulab Bisht (@gulabbisht) February 19, 2016

.@mohit_rocks and Ankit discuss design patterns. #DrupalCon @axelerant pic.twitter.com/jSMOuoRsPr

— hussainweb (@hussainweb) February 19, 2016

New contributors can work on… #DrupalCon pic.twitter.com/KV1JKhlBTs

— hussainweb (@hussainweb) February 19, 2016

It was all possible because of the Drupal Association team and sponsors:

.@DrupalConAsia is possible because of a great partnership with IIT Bombay. Thanks to @psunthar pic.twitter.com/iJNwcxPjNh

— Megan Sanicki (@megansanicki) February 19, 2016

A great day making new friends @DrupalConAsia @axelerant pic.twitter.com/sMhp9E6toW

— Megan Sanicki (@megansanicki) February 18, 2016

Still smiling after organizing all the @DrupalConAsia programming for MONTHS. Great job @amandagonser #DrupalCon pic.twitter.com/UgDpFmyXPz

— Megan Sanicki (@megansanicki) February 19, 2016

Be sure to thank @RachFrieee for bringing @DrupalConAsia to India. 1 year of hard work. @DrupalConAsia #drupalcon pic.twitter.com/bTN3X2XYuW

— Megan Sanicki (@megansanicki) February 19, 2016

Oh yummy local snacks. Thanks @axelerant pic.twitter.com/RD9PApREFu

— Megan Sanicki (@megansanicki) February 19, 2016

Such cool #drupal tattoos. Thanks @Blisstering @DrupalConAsia #drupalcon pic.twitter.com/wt41cv7hDA

— Megan Sanicki (@megansanicki) February 19, 2016

I am most thankful for our @DrupalConAsia volunteers. pic.twitter.com/kg6T2uDw0q

— Megan Sanicki (@megansanicki) February 18, 2016

Be sure to thank #drupal volunteers @DrupalConAsia. This team donated a full day to help at registration pic.twitter.com/7CINFU953i

— Megan Sanicki (@megansanicki) February 18, 2016

It was a great day and I’m looking forward to Day 2!

Group photo by Michael Cannon under Share-alike license.

Oct 14 2015
Oct 14

Over 2000 people attended DrupalCon Europe 2015 last September at the Barcelona International Convention Center. Five days sharing about Drupal and its new version coming soon with developers, contributors, site builders, themers, project managers, well all the Drupal community ! Let’s talk about this big event !

DrupalCon Barelona photo group

Photo group of the attendees (Photo: Drupal Association)

We were 11 Liipers gathered to learn more about Drupal 8 and all its related topics. Three of us held sessions: if you want to learn more about testing, serialization with Symfony or self-managing organizations, check out the videos online !

The sessions started with an awesome prenote given by Jeff McGuire a.k.a. “Jam” and Robert Douglass, both respectively dressed up with fancy traditional Spanish clothes and cow-suit. This prenote was a really good way to start the sessions with learning a bit of Catalan culture, traditions, architecture and its similarities with the Drupal community. We also learned the most useful sentence in Catalan of the week  “Si us plau pots revisar el meu pegat?” which could be translated by “Please review my patch.”. Even if you have to wake up early, it’s worth it !

Then, the Driesnote started. Dries chose to face uncomfortable questions like “Is Drupal losing momentum?” or “Why is Drupal 8 not released?”.
Based on the lessons learned during the long development cycle of Drupal 8, he is proposing that the development process changes with time-based releases. Whenever a feature is shippable, it will be merged to finally get a shippable main branch. He announced that the first release candidate should be ready on the 7th of October 2015 and we now know that it is ready !
Then he tackled the market position of Drupal compared to other CMS such as WordPress. In reality, Drupal is the dominant platform for large and complex websites due to its scalability and flexibility. But Drupal has to improve user experience for non coders to get realized its full potential.
Finally, he talked about progressive decoupling that can achieve both traditional CMS and client-side apps advantages. Drupal 8 will offer the option of progressive decoupling through page-building tools and decoupled by feeding Drupal data to client-side apps.

The three-day sessions covered various topics such as business and strategy, development, core conversations, devops, content strategy, site building, front-end, project management etc. and about ten sessions were held at the same time. It was sometimes hard to pick one among all of these interesting subjects ! And the day always started with keynotes about web psychology, mental health and community contribution. DrupalCon is not only for developers but relies on all the fields related to Drupal projects. I made a selection of talks for you… Don’t hesitate to watch the videos of the sessions to learn more about each subject !

Drupal 8 multilingual site building hacks

Site building – videoslides

Gábor Hojtsy and Vijayachandran Mani demonstrated how the translation system works now in Drupal 8. They took all the contrib modules that handled translation from Drupal 7 such as entity translation, i18n, title, localization update etc. and included them into core.
English is now available for interface translation as an option and blocks are translatable so we can have different menu blocks depending on language. We also learned that every listing from the administration interface is built with the views module and can be overridden.

Drupal 8 theming

Front-end – videoslides

The class soup and div soup are features in Drupal. This is one of the statements Drupal 8 theming system is going to kill (and all the theme functions with it) by introducing Twig, a modern template language used in Symfony framework.
Morten Birch Heide-Jørgensen, maintainer of the “classy” theme, showed how we have complete control over the markup with several demonstrations on how to edit templates. For instance, there are now template files for menus and pagers ! We also can extend templates and override individual blocks easily avoiding duplicating markup. On the topic of theming debugging, there is a cool feature where the names of the templates used for the page are mentioned as HTML comments.

Making Drupal fly

Coding and development – videoslides

Fabian Franz and Wim Leers told us a little bit more about the caching system built in Drupal 8. It is all about tracking dependencies to know how we can invalidate cache and Drupal 8 manages to do this with cache tags (data dependencies), cache contexts (context dependencies) and cache max-age (time dependencies). But the cacheability was still not good enough as a page can contain static parts as also dynamic parts and these dynamic parts slow the page down. The solution that Drupal 8 core provides is placeholders and auto-placeholdering. Each dynamic block can automatically be a placeholder that has an independent lazy builder which is able to render elements in isolation. Auto-placeholdering allows to defer rendering to a later time and it is configurable. You can also define your own placeholder render strategy.

Self management organisations : teal is the new orange

Business and strategy – video

Our two Liipers, Lukas and Tonio presented what are self-managing organizations and how Liip is getting closer to become a teal company. According to Frederic Laloux, author of Reinventing organizations book, there are different organization color-levels from impulsive-red which represents an organization driven by one authority and division of labour, to evolutionary-teal which represents complete self-management without any hierarchy.
Liip is coming closer to teal as we have currently no middle management, partners are willing to let it go and every Liiper can easily take initiatives to empower business and technology. Plus, each team are cross-functional and self-organized: it produces its projects, maintains them, does innovation and is able to hire new people. In fact, each team takes responsibilities for its decisions. But there are still some missing points to reach teal… For instance, we still need management for big budget decisions, dealing with conflicts or salary topics. To become teal, we can find our own solutions or using existing ones such as “holocracy” which is a framework to implement self-management. We don’t know yet which solution to choose but teal is definitely going to happen within the next months !

How changing our estimation process took our project endgame from WTF? to FTW!

Project management – video

It is really rare that a client comes to you to build a project with endless budget. So how to deal with a client that requests for proposals but only has a fixed budget?
Ashleigh Thevenet’s solution is to integrate two estimate revisions in the project during discovery phase and design phase. It is very important to explain this process to the client and be transparent during all the phases: kickoff meeting, early technical planning (first rough estimation), UX sketches, wireframes and final technical planning (second revised and accurate estimation). And the results are deliverables shared with the client that include links to wireframes, implementation notes and a full feature list with estimates.
If there is over budget, some options are to de-scope items to a later phase, ask for more budget or divide work between your team and the client’s one.
Even if some budget has already burnt for doing the whole estimation process, this is time well spent to avoid rabbit holes with technical plannings and valuable deliverables. In fact, the project has already started during the estimation process.
There are still some disadvantages: the client has to understand the whole process and has to buy in. It also can be difficult to schedule meetings as a lot of people within the team are involved but this is still work in progress with a lot to improve.

Defense in Depth: Lessons learned securing 100,000 Drupal sites

Devops – videoslides

Starting with the statement that every online website can be hacked, David Strauss, Chris Teitzel and Luke Probasco showed us how to secure websites today from the hosting to the team. As the typical breach comes from human errors and bigger breaches are often built on smaller ones, you really have to build a security consciousness. You have to think about security when building a module, deploying a website and accessing emails… And be aware of all of the aspects of it: confidentiality, integrity of data and availability.
Then you need to have procedures within the company to limit your exposure. It is useless to have a secure Drupal website and a secure hosting environment while you’re emailing your server’s passwords. You also have to know if you’re vulnerable thanks to security announcements (Cert-EU, drupal.org/security, Twitter security groups etc.).
Keeping a backup, using version control to know if the code has changed, using secure passwords and two-factor authentications are some of the keys to ensure essential security. Keep in mind that the whole stack has to be secured: the hosting, the operating system, the web server, the database, the Drupal sources and the team.

Building semantic content models in Drupal 8

Content strategy – videoslides

Stéphane Corlosquet and Kevin Oleary’s session was about how to create semantic contents and models in Drupal 8.
First of all, schema.org standard was adopted by Drupal in 2012 and it provides schemas for structured data on the internet. Its vocabulary can be used with different formats including RDFa that simply adds HTML attributes to describe content and these are really useful for search engines such as Google to understand and reuse these values.
Currently, there are existing contrib modules in Drupal 8 (and 7) dealing with semantic content strategy. RDF UI enables to map each field with an RDF property using the regular field UI. RDF UI Builder go further by generating “ready-to-use” content types with existing fields built from the schema.org models. In the future, we could imagine content models bundled as shareable features and also have a UI with a content modelling tool. Plus, we could imagine connect the content with third-party APIs: for instance, we could use echonest to get a list of musical genres that is constantly updated instead of creating taxonomies for that.
There is also a WYSIWYG plugin for TinyIMCE called RDFaCE which enables to create semantic content. In that way, you can annotate words to avoid ambiguity, for instance using “London” for the city in Canada and not the one in the United Kingdom.
Using linked data tool module, you can map a node or a term to a particular ID from external sources of wikidata or freebase. And the idea behind this is to be able later to search related contents (videos, audio etc.) and pull them directly into the content edition page.
But the the whole work about semantic is still in progress and feedbacks are very welcomed.

The third day of conferences finished with the closing session where Holly Ross and Amanda Gonser from the Drupal association announced the next Drupal big events: DrupalCon Asia, DrupalCon New Orleans and DrupalCon Dublin ! The Indian community members warmly promoted their event as they prepared a traditional and colorful dancing for it.

On the last day, I attended the first-time sprinter workshop where you can learn about all the tools needed to have a computer ready-to-sprint. For more information, you can go to: https://www.Drupal.org/tools and also check out the page about mentoring: https://www.Drupal.org/core-office-hours.
It is important to say that everybody can be part of sprints as all skills are needed and of course mentors do a great job to push people in the right direction. During this DrupalCon, 70 mentors were there to help and there were about 200 sprinters working on the Drupal 8 issues.

There are also many social events organized at night where you can exchange with the community around a beer or some tapas like the Welcome party or the Women in Drupal meetup. Even if there are few, I could met some women in the community including site builders, themers, back-end developers and project managers and it was a pleasure to exchange with them about Drupal !

There is actually a really good spirit all around the Drupal community and we could feel it during  the whole DrupalCon event.

Sep 23 2015
Sep 23
[embedded content]

At DrupalCon Barcelona this year I presented with Dick Olsson outlining a plan for CRAP (Create Read Archive Purge) and revisions (on all content entities) in core.

Phase 0

For Drupal 8.0.0
Enable revisions by default (https://www.drupal.org/node/2490136) on content types in the standard install profile and when creating new content types.

Phase 1

For Drupal 8.1.0

  • Improve the Revisions API performance, some of this will come from moving elements from the multiversion module into the entity API.
  • Enable revisions by default for all content entity types. So not just nodes anymore but blocks, comments, taxonomy terms etc.
  • Introduce a revision hash, parents and tree. Each revision needs to have a parent so you know where it’s come from, each parent can have multiple child revisions.
  • Data migration - Moving all 8.0.0 sites to 8.1.0 will mean moving their data to the new revision system.

Phase 2

For Drupal 8.2.0

  • Remove the ability to not have revisions. To simplify the API and the data stored it makes sense to remove the ability to disable revisions. This will allow us to remove all the conditional code around if an entity has a revision or not.
  • Delete is a new flagged revision. When deleting an entity a new revision will be created and this revision will be flagged as deleted. This is the archive element of the CRAP workflow.
  • Introduce purge functionality. There may be times when an entity needs to be completely deleted.
  • Commit trash module to core. Trash is just a UI for the delete flag. It displays all entities marked as deleted. It then allows these to be restored by creating a new revision not flagged deleted, or purged by removing the entity.

Simple right?

Please enable JavaScript to view the comments powered by Disqus.

blog comments powered by
May 29 2015
May 29

Recently, I had the opportunity to present my core conversation, Pain Points of Learning and Contributing in the Drupal Community, at DrupalCon Los Angeles.

drupal 8 logo isolated CMYK 72My co-presenter Frédéric G. Marand and I talked about the disconnect between Drupal and api.drupal.org on core and some of the pain points to contributing and learning in the Drupal community. We also spoke little bit on the benefits of continuous contribution and sporadic contribution.

The open mic discussion brought up some interesting issues, and so I have compiled some links to answer questions.

Audience Suggestions and Responses

  • Stable release of Drupal 8 will help people start on client work and support contribution. The Drupal community needs to recognize contribution not just in the form of patch, but mentors mentoring on IRC during core office hours, credit to code reviewers on the issue queue, recognize event organizers and have people edit their profile on Drupal.org and list their mentors at the end of a sprint.
  • We now have an issue on Drupal.org to allow crediting for code reviewers (and other non-coders) as first-class contributors.
  • Make profiles better on Drupal.org. Here is an issue for that – [Meta] new design for User Profiles.
  • Event organizers could get an icon on their profile page. You can read more on that – Make icons for the items in the list of user contributions to be included on user profiles.
  • Another issue to read – Reduce Novice Contribution differences and consolidate landing pages, content, blocks.
  • Explanations of what needs to be done could be a big time-saver. For Drupal 8 there are pretty clear outlines of what could be done for core.
  • There was a suggestion to provide video and audio documentation instead of just text, walking people through issues. There are four or five companies that make videos and we have core office hours for walking people through the issue.
  • A few people expressed that its hard to keep up with IRC and are looking for easier ways to communicate. I have created an issue for that and you can read more here – Evaluate whether to replace Drupal IRC channels with another communication medium.
  • Another audience member suggested that we need to make sure that communications that happen in IRC are summarized and documented on issues, so more people can get familiar with the discussion.
  • There were some suggestions for core mentoring that have been proposed but haven’t panned out such as Twitter or hangouts (privacy concerns, less office-friendly).
  • Someone suggested that those who don’t like to get on IRC, can get core updates via email (This week in Drupal Core) which is a weekly-to-monthly update on all the cool happenings in Drupal 8.
  • Users can also subscribe to issue notifications in email on the issues/components they want to follow on Drupal.org.

Overall it was an enlightening core conversation and it was amazing to hear from the community about their pain points and suggestions they made.

To see more of our discussion watch the presentation and view the slides.

Previous Post

Behind the Curtain: The Making of the DrupalCon Prenote

Next Post

4 Content Questions to Ask Yourself Before Your Next Website Redesign

May 21 2015
May 21

The Drupalcon song - with actions!

I am never missing the #DrupalCon #prenote again. So brilliant.

— Kelley Curry (@BrightBold) May 12, 2015


DrupalCon always leaves me full of energy, and Amsterdam 2014 was no exception. The three of us – Adam Juran, me, and my wife Bryn – sat together on the short train ride back home to Cologne. Some chit chat and reminiscing quickly led to anticipation of the next DrupalCon, in LA. We were excited about the possibilities of this world-class host city. The home of Hollywood, Venice Beach, and Disneyland sounded like a great destination, but after three years of co-writing the DrupalCon “opening ceremony” with Jam and Robert, we were more excited about the possibilities for the Prenote. We knew we had to up the ante, make something new and different from previous years, and LA seemed like a gold mine of possibilities.

Every DrupalCon, before the keynote from Dries, this small group has staged a “pre-note.” The goal of the prenote is to break the ice, to remind everyone present that Drupal is a friendly, fun, and above all, inclusive community. It’s often themed after the host city: in Munich, Jam and Robert taught everyone how to pour a good Bavarian beer, and brought in a yodeling instructor for a singalong (yodel-along?) at the end. In Portland we held a “weirdest talent” competition, featuring prominent community members juggling and beat boxing. Every year it gets more fun, more engaging, and more entertaining for the audience.

Learning how to pour beer at the Drupalcon Munich prenote, 2012

Learning how to pour beer at the Drupalcon Munich prenote, 2012

On that train ride home, we threw around a lot of possibilities. Maybe the prenote could be set on a muscle beach, with Dries as the aspiring “98 pound weakling.” Or the whole thing could be a joke on a hollywood party. We briefly considered a reality-TV style “Real coders of Drupalcon” theme, but nobody wanted to sink that low. That’s when the idea struck: we could do it as a Disney musical!

Part of Your World

The Prenote was Jam and Robert’s baby, though. We knew that we would have to have some absolutely knock-down material to convince them of our concept. With beer in hand, the three of us started work on Part of your world from the Little Mermaid, as the client who is excited for the worst website idea ever.

“I’ve got sliders and icons a-plenty,
I’ve got OG with breadcrumbs galore.
You want five-level dropdowns?
I’ve got twenty!
But who cares? No big deal.
I want more!”

We quickly moved on to the song for the coder who would save the day, You ain’t never had a friend like me from Aladdin. We got halfway through this fun number before we realized that the song titles alone could do a lot of the convincing. Another beer, and we had a list of potential songs. There was so much material just in the song titles, we knew that the music would take center stage.

Some of our favorite titles from this first list were ultimately cut. Maybe someday we’ll flesh them into full songs for a Drupal party, but in the meantime you can let your imagination run wild. Hakuna Matata from The Lion King was to become We’ll Build it in Drupal! The Frozen parody, Do You Wanna Build a Website was a big hit, and so was Aladdin’s A Whole New Theme.

We showed our idea to Jam and Robert the first chance we got. They took one look at our list of songs and said the three words we wanted to hear: “run with it.”

You Ain’t Never had a Friend Like Me

Forum One's Adam Juran and Campbell Vertesi as

Forum One’s Adam Juran and Campbell Vertesi as “Themer” and “Coder” at the Drupalcon Austin prenote, 2014

We divided up responsibility for  the remainder of the songs and started to experiment with the script. What kind of story could we wrap around these crazy songs? How much time did we really have, and could we do all this music? We were all absorbed in our normal work, but every chance we got, the group of us would get together to throw ideas around. I don’t think I’ve ever laughed as much as while we wrote some of these songs.

Writing parody lyrics is entertaining on your own, but as a duo it’s a laugh riot.  More than once we checked the Drupal song lyrics project for inspiration. We riffed on ideas and tried different rhyme schemes until things seemed to just “fit.”

Heigh Ho, Heigh Ho

In the last few weeks leading up to DrupalCon, Adam and I met two and three times a week for long sessions, brainstorming new lyrics. We powered through writing the script around the whole thing, and started to address the logistical problems of backtracks, props, and costumes as well.

via Mendel at Drupalcon LA. Ronai Brumett as the perfect hipster Ariel

via Mendel at Drupalcon LA. Ronai Brumett as the perfect hipster Ariel

Finally we set about casting the different songs. Adam and I had always wanted to sing the Agony duet from Into the Woods, so that one was easy. We had a tentative list of who we wanted in the other songs, but we had no idea who would be willing. All of a sudden the whole endeavor looked tenuous again. Why did we think Dries would be OK to make a joke about Drupal 8 crashing all the time? Would Jeremy Thorson (maintainer of the test infrastructure on Drupal.org) even be interested to get up on stage and sing about testing? We realized that we’d never heard these people sing karaoke, much less in front of thousands of people!

One by one we reached out to the performers and got their approval. Some of them were more enthusiastic than others. Dries replied with “OK, I trust you guys,” while Larry Garfield and Jeremy Thorson insisted on rewriting some of their lyrics and even adding verses! The day before the show, Larry was disappointed that we couldn’t find giant foam lobster claws for his version of Under the Sea from the Little Mermaid. Aaron Porter bought a genie costume and offered to douse himself in blue facepaint for his role, and Ronai Brumett spent a weekend building the perfect “hipster Ariel” costume.

When You Wish Upon a Star

On DrupalCon – Monday the day before the show – the cast assembled for the first time for their only rehearsal together. I arrived a few minutes late, direct from a costume shop on Hollywood Boulevard. Jam had built karaoke tracks on his laptop, and Robert had put together a prompter for the script, so the group huddled around the two laptops and tried to work through the whole show.

Via <a href=

Via Mendel at Drupalcon LA. The prenote cast rehearses. From left to right, Larry Garfield, Aaron Porter, Adam Juran, Jeffrey McGuire, Campbell Vertesi.

The rehearsal showed us what a hit we had created. The performers had embraced the motto: “if you can’t sing it, perform it” and they started to feed off each other’s energy. We all laughed at Ronai’s dramatic rendition of Part of My Site, and the Agony Duet raised the energy even further. It turned out that Dries had never heard When You Wish Upon a Star from Pinocchio before, but he was willing to learn as long as he could have someone to sing along with him!

via Mendel at Drupalcon LA. Aaron Porter codes with his butt - on Dries Buytaert's laptop!

via Mendel at Drupalcon LA. Aaron Porter codes with his butt – on Dries Buytaert’s laptop!

The rehearsal really started to hit it’s stride when Aaron delivered You Ain’t Never had a Dev Like Me. Aaron had never sung in public before, and we could tell he was nervous. Then the backtrack started playing with its blaring horns, and he came alive. It’s a difficult piece, with lots of fast moving text and a rhythm that can be hard to catch. Aaron launched into it with gusto. He had us in stitches when he shouted “can your friends do this!” and grabbed Dries’ laptop to start typing with his butt. When he nailed the high note at the end with a huge grin on his face, it was a deciding moment for the group.

From that moment on we were on a ride, and we knew it. Simpletest (to the tune of Be Our Guest from Beauty and the Beast) turned out to be a laugh riot, and Jeremy led us naturally into a kick line for the grand finale. We cheered Larry’s choreography skills during the dance break of RTBC, and Ben Finklea was a natural (as ever) at leading us all in Commit, to the tune of Heigh Ho from Snow White.

Forum One UX lead Kristina Bjoran, had protested the most of everyone about having to sing, but the moment she started with our version of Let it Go from Frozen, we were caught up in the feeling of it. I don’t think anyone expected the goosebumps that happened when we sang that chorus together, but we all appreciated what it meant.

Let it Go

The morning of the show saw the whole cast up bright and early. Though we joked about doing a round of shots before going on stage, no one seemed nervous. In fact we spent most of the setup time laughing at one another. Larry discovered that he has great legs for red tights. Aaron got blue face paint everywhere. We cheered at Jam and Robert’s Mickey and Minnie costumes, and laughed at Ronai’s perfect Hipster Ariel.

Some of us had last minute changes to make: Jeremy spent his time crafting oversized cuffs for his costume. I had forgotten the belt to my ninja outfit, so we made one out of duct tape. Kristina discovered that her Elsa costume limited her movement too much for the choreography she had planned. Dries was the only one who seemed nervous to me – this guy who has spoken in public countless times was afraid of a little Disney! We sang through the song together one last time, and it was time to go on.

via Mendel at Drupalcon LA. Jeremy Thorson leads the

via Mendel at Drupalcon LA. Jeremy Thorson leads the “Simpletest” song. Behind him, from left: Campbell Vertesi, Ronai Brumett, Adam Juran, Aaron Porter, Dries Buytaert

Everyone knows the rest – or at least, you can see it on youtube. What you probably don’t know is how hard we all laughed as we watched the show backstage. Even knowing every word, the energy from the audience was infectious. In the end, there’s nothing quite like standing in front of three thousand people and shouting together: “we come for code, but we stay for community!”

Previous Post

Evolving the Nation’s Report Card – A Study of Designing New Reports

Next Post

Participating in the Drupal Community

May 15 2015
May 15

A number of us from Forum One are sticking around for Friday’s sprints, but that’s a wrap on the third day of DrupalCon and the conference proper!

Wednesday and Thursday were chock-full of great sessions, BoFs, and all the small spontaneous meetings and conversations that make DrupalCons so fruitful, exhausting and energizing.

Wednesday

Forum One gave three sessions on Wednesday. John Brandenburg presented Maximizing Site Speed with Mercy Corps, a case study of our work on www.mercycorps.org focusing on performance optimization. Kalpana Goel of Forum One and Frédéric G. Marand presented Pain points of learning and contributing in the Drupal community, a session on how to encourage and better facilitate code contributions to Drupal from community members. And finally Forum One’s Andrew Morton presented Content After Launch: Preparing a Monkey for Space, a survey of content considerations for project success before, during, and after the website build process. The other highlight from my perspective on Wednesday was a great talk by Wim Leers and Fabian Franz on improvements to Drupal performance/speed, and how to make your Drupal sites fly.

Thursday

On Thursday, Daniel Ferro and Dan Mouyard rounded out the seven Forum One sessions with their excellent presentation, To the Pattern Lab! Collaboration Using Modular Design Principles. The session describes our usage of Pattern Lab at Forum One to improve project workflow and collaboration — between visual designers, front- and back-end developers, and clients — an approach that has eased a lot of friction on our project teams. I’m particularly excited about how it’s allowed our front-end developers to get hacking much earlier in the project lifecycle. (We were glad to see the presentation get a shout out from Brad Frost, one of the Pattern Lab creators.)

Other highlights for me on Thursday were the beloved Q&A with Dries and friends and sitting down over lunch with other Pacific Northwest Drupalers to make some important decisions about the PNW Drupal Summit coming to Seattle this fall.

Next Stops for DrupalCon

In addition to looking ahead to DrupalCon Barcelona, the closing session revealed the exciting news that DrupalCon will be landing in Mumbai next year!

#DrupalCon is coming to Mumbai! Plus other photos from todays closing session https://t.co/Y3vWCQCSTu? pic.twitter.com/zEt4Y6VLxS

— DrupalCon LosAngeles (@DrupalConNA) May 15, 2015

And the always anticipated announcement of the next DrupalCon North America location… New Orleans!

And the next North American #DrupalCon will be…… pic.twitter.com/AXiFxv3gfW

— DrupalCon LosAngeles (@DrupalConNA) May 14, 2015

That news was ushered in soulfully by these gentlemen, Big Easy style, pouring out from the keynote hall into the convention center lobby.

Great way to announce #DrupalCon New Orleans! #DrupalConLA pic.twitter.com/3cRmV8jI1F

— Andy Hieb (@AndyHieb) May 14, 2015

And to finish off the day properly, many of us hooted and hollered at Drupal trivia night, MC’d by none other than Jeff Eaton.

Another fantastic #DrupalCon trivia night in progress… Woo! pic.twitter.com/AzavA2AFXi

— Jeff Eaton (@eaton) May 15, 2015

A great con was had by all of us here at Forum One… On to the sprints!

Previous Post

Hacking the Feds: Forum One Among the Winners at GSA Hack-a-Thon

Next Post

Evolving the Nation’s Report Card – A Study of Designing New Reports

May 14 2015
May 14

Update: It turns out the DA was trolling. We all now know that DrupalCon North America 2016 will be in New Orleans. I've kept this post up as I believe the information about handling unpublished nodes is relevant. I have also learned that m4032404 is enabled by default in govCMS.

When a user doesn't have access to content in Drupal a 403 forbidden response is returned. This is the case out of the box for unpublished content. The problem with this is that sensitive information may be contained in the URL. A great example of this the DrupalCon site.

The way to avoid this is to use the m4032404 module which changes a 403 response to a 404. This simple module prevents your site leaking information via URLs.

Share this post

Attachment Size DrupalCon-Philadephia.png 139.21 KB
May 14 2015
May 14

My colleague Adam Juran and I just finished with our session, Zero to MVP in 40 minutes: Coder and Themer Get Rich Quick in Silicon Valley, at DrupalCon LA. This one was a real journey to prepare, and through it we learned a lot of dirty truths about Drupal 8, Javascript frameworks, and the use cases where the two make sense together.

The live coding challenge in our session proposal seemed simple: create a web application that ingests content from an external API, performs content management tasks (data modelling, relationships, etc.) through the Drupal 8 interface, and deliver it all to an AngularJS front-end. This is exactly the “headless Drupal” stuff that everyone has been so excited about for the last year, so doing it in a 40 minute head-to-head code battle seemed like an entertaining session.

Ingesting content from an external API

The first hard truth we discovered was the limitations of the still-nascent Drupal 8. Every monthly release of a new Drupal 8 beta includes a series of “change records,” defining all the system-wide changes that will have to be accounted for everywhere else. For example, one change record notes that a variable we often use in Drupal forms is now a different kind of object. This change breaks every single form, everywhere in Drupal.

The frequency of this kind of change record is a problem for anyone who tries to maintain a contributed module. No one can keep up with their code breaking every month, so most don’t. The module works when they publish it as “stable”, but two or three months later, it’s fundamentally broken. changes like this currently happen 10-15 times every month. Any module we were hoping to use as a part of this requirement – Twitter, Oauth, Facebook – were broken when we started testing.

We finally settled on using Drupal’s robust Migrate module to bring in external content. After all, Drupal 7 Migrate can import content from almost any format! Turns out that this isn’t the case with Drupal 8 core’s Migrate module. It’s limited to the basic framework you need for all migrations. Importers for various file types and sources simply haven’t been written yet.

No matter which direction we turned, we were faced with the fact that Drupal 8 needed work to perform the first requirement in our challenge. We chose to create a CSV Source plugin ourselves (with much help from mikeryan and chx) just to be able to meet this requirement. This was not something we could show in the presentation; it was only a prerequisite. Phew!

Displaying it All in Angular

Building an AngularJS based front end for this presentation involved making decisions about architecture, which ended up as the critical focus of our talk. AngularJS is a complete framework, which normally handles the entire application: data ingestion, manipulation, and display. Why would you stick Drupal in there? And what would an Angular application look like architecturally, with Drupal 8 inside?

You always have a choice of what to do and where to do it. Either system can ingest data, and either system can do data manipulation. Your decision should be based on which tool does each job the best, in your particular use case: a catch-all phrase that includes factors like scalability and depth of functionality, but also subtler elements like the expertise of your team. If you have a shop full of AngularJS people and a simple use case, you should probably build the entire app in Angular!

Given that perspective, Drupal really stands out as a data ingestion and processing engine. Even when you have to write a new Migration source plugin, the Entity model, Drupal’s “plug-ability”, and Views make data crunching extremely easy. This is a strong contrast to data work in Angular, where you have to write everything from scratch.

We feel that the best combination of Drupal and Angular is with Drupal ingesting content, manipulating it, and spitting it out in a ready-to-go format for AngularJS to consume. This limits the Angular application to its strengths: layout, with data from a REST back-end, and only simple logic.

The Session

[embedded content]

In the session, we talked a bit about the larger concepts involved, and moved fairly quickly into the technical demonstration. First, Adam demonstrated the flexibility of the decoupled front-end, using bower libraries to build an attractive layout without writing a single line of custom CSS.  Then I demonstrated importing data from CSV sources into Drupal 8, along with the simplicity of configuring Drupal Views to output JSON. Taken together, the videos are 37 minutes long – not bad for a totally custom RESTful endpoint and a nice looking front-end!

Here is Adam’s screencast, showing off the power of the bootstrap-material-design library to build a good looking site without any custom CSS at all:

Here is my screencast, demonstrating how easy it is to create Migrate module importers and REST exports in Drupal 8.

And here is the final screencast, quickly showing the changes we made in AngularJS to have it call the two Drupal Services.

Want to learn of Forum One’s Drupal development secrets? Check out our other Drupalcon blog posts, or visit our booth (#107) and talk with our tech wizards in person!

Previous Post

DrupalCon LA Day 1!

Next Post

Hacking the Feds: Forum One Among the Winners at GSA Hack-a-Thon

May 13 2015
May 13

DrupalCon day one was a great start to this year’s North American Drupal conference! Forum One is well represented this year, giving seven presentations this week.

The Con started off with the traditional “pre-note” show in the early morning. The pre-note is a session designed to get people out of their seats and into the feeling of this big, welcoming community. Jam McGuire, Robert Douglass,

via <a href=

via Mendel: Forum One’s Kristina Bjoran leads the Prenote finale. From left: Jeffrey McGuire, Larry Garfield, Campbell Vertesi, Adam Juran, Dries Buytaert, Ronai Brumett, Aaron Porter

Forum One’s Adam Juran and I have been putting these together for a few years now, and for DrupalCon LA we wrote a Disney musical about Drupal. From Ariel’s song “Part of My Site” to our own version of Into the Woods’ “Agony,” the show got a lot of laughs with its parody lyrics. One high point was Dries, the founder of Drupal, entering the stage with top hat and cane to perform, “When you install Drupal 8? to the tune of “When You Wish Upon a Star” – ending prematurely with a fatal error! This was followed by “Someday D8 Will Come”, and a lot of laughs. The prenote ended with Forum One’s Kristina Bjoran leading the audience in a DrupalCon version of “Let It Go” from Frozen. After all the laughter, it was a nice moment to hear the audience cheer in unison: “we come for code, but we stay for community.”

[embedded content]

Dries’ keynote came next. This year he didn’t talk so much about the great new features of Drupal 8 – we’ve been talking about that for four years now! Instead, he focused on the history of Drupal as a platform, starting in his dorm room in 2001. Once we got to the present day, he switched to the coming challenges in the web sector. The Internet is becoming less and less about browser-based interaction, according to Dries. Increasingly people access data using tailored apps or devices, which means there is a great need for a data back-end like Drupal that can provide for all of these end points. Consumers demand more and more customized and predictive content, and Drupal 8 is a strong platform for that capability.

The day was filled with interesting sessions, but a few stuck out to us. There was Amitai and Josh Koenig’s Decoupled Drupal talk, where they demonstrated an automatic headless Drupal site generator. There were a couple of interesting sessions about long form content: the technical side by Murray Woodman and Jeff Eaton, and the strategic side by Forum One’s Kristina Bjoran and Courtney Clark. Courtney had a double-header day: she also presented about Forum One’s work on content strategy for Drupal.org. I got to present with Adam Juran and Jam McGuire about headless Drupal, building a simple Drupal 8 backed AngularJS demonstration in 40 minutes. We learned a lot about various prototyping tools, and were surprised to find no clear consensus on a standard toolkit for this important problem. Forum One resources were asked a lot of questions about how we use Pattern Lab in this space. Forum One’s Daniel Ferro and Dan Mouyard have a session about Pattern Lab on Thursday.

[embedded content]

[embedded content]

[embedded content]

Be sure to keep checking back for more of our takeaways and recaps of DrupalCon LA.

The cast of the prenote: Dries Buytaert, Aaron Porter, Ben Finklea, Robert Douglass, Adam Juran, Campbell Vertesi, Jeremy Thorson, Kristina Bjoran, Ronai Brumei, Larry Garfield, Jeffrey

via Mendel: The cast of the prenote, from top left: Dries Buytaert, Aaron Porter, Ben Finklea, Robert Douglass, Adam Juran, Campbell Vertesi, Jeremy Thorson, Kristina Bjoran, Ronai Brumett, Larry Garfield, Jeffrey McGuire

Previous Post

Google to Non-Mobile sites: ‘You’re Dead to Me’

Next Post

Zero to MVP in 40 Minutes: What We learned Building Headless Drupal 8 for DrupalCon LA

May 08 2015
May 08

DC2015_Spread_The_Word_Sponsor

So you’re going to Drupalcon? Looking for a new job? Here are some quick tips to up your chances on finding a great new gig!

Do your homework. Take some time to check out what companies will have a booth and what companies will have employees presenting a session or running a BOF. Also, be sure to check out the Drupal.org job board. Looking into this ahead of time will help you get a game plan together. Maybe a company you admire doesn’t have a booth but their CTO is presenting a session – attend the session and look to strike up a conversation after the session about any open positions.

Take this time to dig past the job description. You’re going to have a chance to interact with current employees of the companies you’re interested in at Drupalcon, so take this time to ask about the things that aren’t necessarily in a job description. Did their company pay their way to Drupalcon and what else can they tell you about professional development opportunities? Do they have a good work/life balance? People tend to be more open/friendly at events like this so find out more about what is important to you! You might be able to get some great insight into what their company culture is like. Perhaps your dream company doesn’t have an open position that is a good fit for you – ask what their future growth plans are – maybe there could be a role opening up soon that could work for you!

Come prepared/follow up. Be sure to have more than enough copies of your resume or business cards. Be sure to include your Drupal.org ID on your resume or perhaps on the back of your card  this is especially helpful for developement folks. Also, don’t forget to get the business card of the people you talk to about the companies/roles you’re targeting. You want to be sure you follow up with an email after Drupalcon to strengthen the connections you made and hopefully get referred through that employee for an open role – that is a much stronger application than if you’re a general applicant.

And just in case you’re interested in Forum One check out our open tech positions!

Outside of tech we’re looking for…

We’re also presenting several sessions! Come meet some of our awesome team members.

If you’re looking a for a new gig come by and meet the team at Booth #107.  While you’re at the booth take a minute to vote on your favorite Drupal topic, and be sure to check out the results on Twitter (@ForumOne)!

Previous Post

Content After Launch: Preparing a Monkey for Space

Next Post

Google to Non-Mobile sites: ‘You’re Dead to Me’

May 08 2015
May 08

We’re excited to announce this talk, Content After Launch – Preparing a Monkey for Space on Wednesday, May 15, 2015 from 5pm to 6pm at DrupalCon LA!

So what’s it all about? Well, coupled with a silly metaphor, I’m going to be talking about what happens to content during various stages of a website build, from the initial kickoff, through the production, and well after launch. The talk will touch on:

  • how all team members can get involved in the success of a launched website.
  • setting and managing expectations for what it takes to run a site post-launch.
  • everything you might have missed while focused on designing and building the website.

Come for the metaphor, stay for the juicy takeaways! Spoiler alert – there will be an abundance of monkey photos.

Previous Post

To the Pattern Lab! Collaboration Using Modular Design Principles

May 07 2015
May 07

Beakers and science equipment. The beakers are filled with patterns instead of plain liquids.

Come check out our presentation at Drupalcon 2015 in Los Angeles about modular design on Thursday, May 14, 2015 at 1:00 – 2:00pm PST.

You’ll learn how to use styleguide/prototyping tools like Pattern Lab to increase collaboration between designers, themers, developers, and clients on Drupal projects. A focus on modular design early on in a Drupal project improves workflow and efficiency for the whole team!

After applying modular design principles into your design workflow you will have, guaranteed *:

  • Shinier, more polished sites: You’ll improve collaboration between themers and designers without relying so much on static photoshop comps, dramatically improving the end product’s quality at a higher detail level.
  • Happier clients: Clients will be able to see functional visual designs earlier in the project and be able to play with the site in an easy to use interface.
  • Happier developers: Developers can concentrate on the hard work of building the site while themers and designers concentrate on the visual design.
  • Project managers overcome with joy: Sites will be more easily themed, front-end bugs will be caught earlier, clients can see progress sooner, designers will be less bogged down in Photoshop iterations, and projects will be more successful.

We hope to see you there. It should be a lot of fun and we are genuinely interested in hearing your thoughts. If you are impatient and want to learn more about Pattern Lab and design patterns in general, take a look at this blog post by Brad Frost on designing pattern flexibility.

* not an actual guarantee. Results may vary. Consult your doctor if your clients remain happy for over four hours

Previous Post

Telling Simple (and Complex!) Stories with Open Data

May 06 2015
May 06

In a world where your page load speed is critical to success…

I couldn’t resist. With Drupalcon in Tinsel Town, I’m going to start most of my conversations with “in a world…” [Ed. note: Only if you use the Don LaFontaine voice every time.]

My session for Drupalcon LA is a partner session with Forum One client Mercy Corps. We’ll team up to show you how we maximized the performance of mercycorps.org. Maximizing Site Speed with Mercy Corps will take a tour of specific measures we used to make their critical fundraising platform blazing fast. Come see me, John Brandenburg, and Drew Betts, lead User Experience Designer at Mercy Corps, as we tag team on subjects like measuring user engagement, debugging Drupal caches and measuring performance. We will even discuss some quick tips that every Drupal site manager should use to maximize the performance of their own site.

Why come to this session?

Perhaps because Google itself ranks your site on speed. Or perhaps increments in site speed can demonstrably increase conversion rates. Or perhaps you are tired of hearing the groans of your own digital staff about the performance of your public site. After the session, we will have a Q&A where you can learn from the experts and ask questions about improving the performance of your own sites. In the meantime you can also check out my more detailed blog post on Drupal site speed.

Previous Post

SEO Cheat Sheet: Tips and Tools for Improving Your Standing in Search

Next Post

Telling Simple (and Complex!) Stories with Open Data

May 01 2015
May 01

We are pumped to talk about styles of storytelling on Tuesday, May 12, 2015 at 2:15 – 3:15pm.

In our DrupalCon session, we will:

  • dissect what’s become a major buzzword – “long-form content.”
  • take a look at different types of long-form content
  • explore how “story” fits in
  • uncover what types of storytelling best suit your needs
  • help you figure out when long-form is right for you and your organization

Many organizations are embracing storytelling techniques to better connect with their audiences and drive them to action. They’re implementing long-form content as a platform for storytelling making use of its rich imagery, interactive elements, and better sharing capabilities.

People generally learn more and remember more when more of their senses are engaged by a story. Stories that include images get about twice the engagement as text-only stories. Stories told with visual elements are instantly captivating. The more senses that are engaged, the more emotions will be engaged and the more memorable the experience will be.

So come join us! And in the meantime, get yourself excited about storytelling by checking out this TED talk by Pixar writer Andrew Stanton.

Previous Post

Pain Points of Learning and Contributing in the Drupal Community

Next Post

New Design, Site and Workflow for USDA’s National Institute Food and Agriculture

Apr 30 2015
Apr 30

At Drupalcon L.A. I’ll be co-leading a core conversation about the, “Pain Points of Learning and Contributing in the Drupal Community.” A core conversation is not a teaching session, it’s format is a little different and let’s the speaker engage with the audience.

So what is this conversation all about?

I’d like to start with a story. I started contributing to Drupal 8 core just before DrupalCon Portland in 2013. I was listening to  a live hangout with different initiative leads in Drupal 8, and Larry Garfield (crell) was talking about how he needed help with the hook_menu conversion. I asked Larry how can I help and he pointed me to some documentations he wrote on Drupal.org. At this time I took my first steps into core with a normal issue, and I’ve been contributing ever since. This year I’ve been slowly climbing up the contributor list on drupalcores.com.

As someone who puts a lot of energy into contribution, I hope it means something when I say: it’s too hard to contribute to major/critical issues in the Drupal 8 issue queue.

I ran into a great example recently, when I picked up issue 2368769. I figured that after 5 years as a Drupalist, I must be able to make some meaningful contribution to this critical bug. Boy was I wrong! What did they mean by “lazy-loading route enhancers”? I searched the codebase and Drupal documentation, and couldn’t find any example to work from. I found generic Symfony documentation on the subject, but it still wasn’t enough.

What’s going on in the issue queue?

This story reveals a bottleneck in the Drupal 8 development process: the top contributors. There is a group of 50 – or perhaps fewer – who understand and are current on the ongoing major/critical issues with Drupal 8. We all appreciate their incredible hard work, especially since most of them are contributing in their personal time. But in my case, even as an experienced Drupalist and core contributor, I was stuck! Asking top contributors for help in IRC is always an option, but it distracts them from their own work/concentration/thought process  – we don’t want to see top contributors spending 90% of their time answering questions!

So how can we make it possible for non-top-50 contributors to help out on major/critical issues? How can knowledgeable Drupalists who want to contribute to major/critical issues make life easier for top contributors, instead of harder? What are some ways to get knowledge transfer outside of that group?

With just a little more guidance, people outside that “top 50” group could do so much more than the “novice” and “normal” issues we presently tackle. We talk about “continuous contribution” in Drupal 8, where a contributor doesn’t hesitate to work on the issues, and if you’re eager to learn every day, nothing should stop you from contributing.

How will the Drupal world look with our new ideas adopted? What could be possible?

In the Drupal community, we always say “if you don’t like something, make it better.” This session is that first step to make this better.

I’m excited to hear suggestions from the community. How do we break the “top 50” limit, and let the next 100 contributors contribute to major/critical issues? This conversation is where we can work on this problem together, to encourage more contributors to stop limiting themselves and get involved on a deeper level. Maybe we’ll even see the benefits as soon as big sprint day on Friday, May 15, 2015. I hope to see more contributors working on critical major bugs/issues. Let’s break the barrier together!

Previous Post

Why You Should Help the Nepalis, and How to Start

Next Post

Styles of Storytelling: Cultivating Compelling Long-form Content

Mar 19 2015
Mar 19

After a very successful drush code-sprint at BADCamp 2014, drush make now supports YAML format!

Instead of the old INI format

api = 2 ; Set contrib directory. defaults[projects][subdir] = "contrib" core = "7.x" projects[drupal][type] = "core" projects[drupal][version] = "7.32" ; Remove scary ajax error when autocomplete terminates: https://www.drupal.org/node/1232416#comment-8748879 projects[drupal][patch][] = "https://www.drupal.org/files/issues/D7-fix_autocomplete_terminated_error..." ; Ensure plain text fields evaluate line breaks. projects[drupal][patch][] = "http://drupal.org/files/text-plain-1152216-24.patch" projects[addressfield][version] = "1.0-beta5" projects[addressfield_tokens][version] = "1.4" projects[admin_views][version] = "1.3" projects[field_collection][version] = "1.0-beta7" ; Field collections are ownerless https://drupal.org/node/1954124 projects[field_collection][patch][] = "https://drupal.org/files/issues/field_collection-ownerless_fields-195412..." ; Fixes fatal error in migrate code: https://www.drupal.org/node/2315921#comment-9028779 projects[field_collection][patch][] = "https://www.drupal.org/files/issues/migrate-fatal-error-2315921-01.patch"

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

api = 2

; Set contrib directory.

defaults[projects][subdir] = "contrib"

core = "7.x"

projects[drupal][type] = "core"

projects[drupal][version] = "7.32"

; Remove scary ajax error when autocomplete terminates: https://www.drupal.org/node/1232416#comment-8748879

projects[drupal][patch][] = "https://www.drupal.org/files/issues/D7-fix_autocomplete_terminated_error..."

; Ensure plain text fields evaluate line breaks.

projects[drupal][patch][] = "http://drupal.org/files/text-plain-1152216-24.patch"

projects[addressfield][version] = "1.0-beta5"

projects[addressfield_tokens][version] = "1.4"

projects[admin_views][version] = "1.3"

projects[field_collection][version] = "1.0-beta7"

; Field collections are ownerless https://drupal.org/node/1954124

projects[field_collection][patch][] = "https://drupal.org/files/issues/field_collection-ownerless_fields-195412..."

; Fixes fatal error in migrate code: https://www.drupal.org/node/2315921#comment-9028779

projects[field_collection][patch][] = "https://www.drupal.org/files/issues/migrate-fatal-error-2315921-01.patch"

YAML can be used with the latest version of Drush 7:

api: 2 # Set contrib directory. defaults: projects: subdir: "contrib" core: "7.x" projects: drupal: type: "core" version: "7.33" patch: # Remove scary ajax error when autocomplete terminates: https://www.drupal.org/node/1232416#comment-8748879 - "https://www.drupal.org/files/issues/D7-fix_autocomplete_terminated_error..." # Ensure plain text fields evaluate line breaks. - "http://drupal.org/files/text-plain-1152216-24.patch" addressfield: "1.0-beta5" addressfield_tokens: "1.4" admin_views: "1.3" field_collection: version: "1.0-beta7" patch: # Field collections are ownerless https://drupal.org/node/1954124 - "https://drupal.org/files/issues/field_collection-ownerless_fields-195412..." # Fixes fatal error in migrate code: https://www.drupal.org/node/2315921#comment-9028779 - "https://www.drupal.org/files/issues/migrate-fatal-error-2315921-01.patch"

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

api: 2

# Set contrib directory.

defaults:

  projects:

    subdir: "contrib"

core: "7.x"

projects:

  drupal:

    type: "core"

    version: "7.33"

    patch:

        # Remove scary ajax error when autocomplete terminates: https://www.drupal.org/node/1232416#comment-8748879

      - "https://www.drupal.org/files/issues/D7-fix_autocomplete_terminated_error..."

        # Ensure plain text fields evaluate line breaks.

      - "http://drupal.org/files/text-plain-1152216-24.patch"

  addressfield: "1.0-beta5"

  addressfield_tokens: "1.4"

  admin_views: "1.3"

  field_collection:

    version: "1.0-beta7"

    patch:

        # Field collections are ownerless https://drupal.org/node/1954124

      - "https://drupal.org/files/issues/field_collection-ownerless_fields-195412..."

        # Fixes fatal error in migrate code: https://www.drupal.org/node/2315921#comment-9028779

      - "https://www.drupal.org/files/issues/migrate-fatal-error-2315921-01.patch"

Included .make files whether local, or discovered recursively within downloaded projects, can be in either YAML of INI format.

In order to use the newly-supported YAML format, simply name files with a .yml extension, such as my_project.make.yml.

The best part? This can be used now! Even though YAML files are mostly a new concept for Drupal 8, drush make will parse YAML make files for Drupal 7, and even Drupal 6.

Jan 07 2015
Jan 07

Drupal 8 is the latest version of Drupal, a modern, PHP 5.4-boasting, REST-capable, object-oriented powerhouse. The concepts are still the same as the previous versions but the approach is now different. Drupal 8 comes with a modern Object Oriented Programming (OOP) approach to most parts of the system thanks to the use of the Symfony2 framework.

I took part in the Drupalcon in Amsterdam and I enjoyed a number of really interesting talks about Drupal 8, among those ‘Drupal 8: The Crash Course’ realized and presented by Larry Garfield. In this post the idea is to recap few key points of his talk as I think they are important to fully understand the basics of this new Drupal version. In case you are interested you can also watch the full talk.

How do I define a module?

In Drupal 8 to define a module we need only a YAML (.info.yml) file:

/modules/d8_example_module/d8_example_module.info.yml

name: D8 Test Module
description: D8 Test Module
type: module
core: 8.x
package: Custom

In Drupal 8 the .module file is not required anymore, so with only the .info.yml file the module is ready to be enabled.

How do I make a page?

Start creating a controller extending the ControllerBase class and return the output of the page:

/modules/d8_example_module/src/Controller/D8ExampleModuleController.php

namespace Drupal\d8_example_module\Controller;

use Drupal\Core\Controller\ControllerBase;

class D8ExampleModuleController extends ControllerBase {

  public function test_page($from, $to) {
    $message = $this->t('%from to %to', [
      '%from' => $from,
      '%to' => $to,
    ]);

    return ['#markup' => $message];
  }
}

Once this is done, within the .routing.yml file we can define the path, the controller, the title and the permissions:

/modules/d8_example_module/d8_example_module.routing.yml

d8_example_module.test_page:
  path: '/test-page/{from}/{to}'
  defaults:
    _controller: 'Drupal\d8_example_module\Controller\D8ExampleModuleController::test_page'
    _title: 'Test Page!'
  requirements:
    _permission: 'access content'

How do I make content themeable?

We still have the hook_theme() function to define our theme:

/modules/d8_example_module/d8_example_module.module

/**
 * Implements hook_theme().
 */
function d8_example_module_theme() {
  $theme['d8_example_module_page_theme'] = [
    'variables' => ['from' => NULL, 'to' => NULL],
    'template' => 'd8-theme-page',
  ];

  return $theme;
}

For the template page Drupal 8 uses Twig, a third-party template language used by many PHP projects. For more info about Twig have a look at Twig in Drupal 8. One of the cool parts of Twig is that we can do string translation directly in the template file:

/modules/d8_example_module/template/d8-theme-page.html.twig

<section>
  {% trans %}
    <strong>{{ from }}</strong> to <em>{{ to }}</em>
  {% endtrans %}
</section>

And then we assign the theme to the page:

/modules/d8_example_module/src/Controller/D8ExampleModuleController.php

namespace Drupal\d8_example_module\Controller;

use Drupal\Core\Controller\ControllerBase;

class D8ExampleModuleController extends ControllerBase {

  public function test_page($from, $to) {
    return [
      '#theme' => 'd8_example_module_page_theme',
      '#from' => $from,
      '#to' => $to,
    ];
  }
}

How do I define a variable?

Drupal 8 has a whole new configuration system that uses human-readable YAML (.yml) text files to store configuration items. For more info have a look at Managing configuration in Drupal 8.

We define variables in config/install/*.settings.yml:

/modules/d8_example_module/config/install/d8_example_module.settings.yml

default_count: 3

The variables will be stored in the database during the installation of the module. We define the schema for the variables in config/schema/*.settings.yml:

/modules/d8_example_module/config/schema/d8_example_module.settings.yml

d8_example_module.settings:
  type: mapping
  label: 'D8 Example Module settings'
  mapping:
    default_count:
      type: integer
      label: 'Default count'

How do I make a form?

To create a form we extend a ConfigFormBase class:

/modules/d8_example_module/src/Form/TestForm.php

namespace Drupal\d8_example_module\Form;

use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;

class TestForm extends ConfigFormBase {
  public function getFormId() {
    return 'test_form';
  }

  public function buildForm(array $form, FormStateInterface $form_state) {
    $config = $this->config('d8_example_module.settings');

    $form['default_count'] = [
      '#type' => 'number',
      '#title' => $this->t('Default count'),
      '#default_value' => $config->get('default_count'),
    ];
    return parent::buildForm($form, $form_state);
  }

  public function submitForm(array &$form, FormStateInterface $form_state) {
    $config = $this->config('d8_example_module.settings');
    $config->set('default_count', $form_state->getValue('default_count'));
    $config->save();
    parent::submitForm($form, $form_state);
  }
}

Then within the .routing.yml file we can define the path, the form, the title and the permissions:

/modules/d8_example_module/d8_example_module.routing.yml

d8_example_module.test_form:
  path: /admin/config/system/test-form
  defaults:
    _form: 'Drupal\d8_example_module\Form\TestForm'
    _title: 'Test Form'
  requirements:
    _permission: 'configure_form'

We use another YAML file (.permissions.yml) to define permissions:

/modules/d8_example_module/d8_example_module.permissions.yml

'configure_form':
  title: 'Access to Test Form'
  description: 'Set the Default Count variable'

We also use another YAML file (.links.menu.yml) to define menu links:

/modules/d8_example_module/d8_example_module.links.menu.yml

d8_example_module.test_form:
  title: 'Test Form'
  description: 'Set the Default Count variable'
  route_name: d8_example_module.test_form
  parent: system.admin_config_system

How do I make a block?

To create a block we extend a ConfigFormBase class:

/modules/d8_example_module/src/Plugin/Block/TestBlock.php

namespace Drupal\d8_example_module\Plugin\Block;

use Drupal\Core\Block\BlockBase;

/**
 * Test Block.
 *
 * @Block(
 *   id = "test_block",
 *   admin_label = @Translation("Test Block"),
 *   category = @Translation("System")
 * )
 */
class TestBlock extends BlockBase {

  public function build() {
    return [
      '#markup' => $this->t('Block content...'),
    ];
  }
}

In this way the block is ready to be configured in the CMS (/admin/structure/block). Here is an example of a more complex block:

namespace Drupal\d8_example_module\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;

/**
 * Test Block.
 *
 * @Block(
 *   id = "test_block",
 *   admin_label = @Translation("Test Block"),
 *   category = @Translation("System")
 * )
 */
class TestBlock extends BlockBase {

  public function defaultConfiguration() {
    return ['enabled' => 1];
  }

  public function blockForm($form, FormStateInterface $form_state) {
    $form['enabled'] = [
      '#type' => 'checkbox',
      '#title' => $this->t('Configuration enabled'),
      '#default_value' => $this->configuration['enabled'],
    ];

    return $form;
  }

  public function blockSubmit($form, FormStateInterface $form_state) {
    $this->configuration['enabled'] = (bool)$form_state->getValue('enabled');
  }

  public function build() {
    if ($this->configuration['enabled']) {
      $message = $this->t('Configuration enabled');
    }
    else {
      $message = $this->t('Configuration disabled');
    }
    return [
      '#markup' => $message,
    ];
  }
}

Structure of a module

The structure of a module should look like the example module d8_example_module:

d8_example_module/
 |
 |- config/
   |
   |- install/
     |
     |- d8_example_module.setting.yaml
     |
     |- schema/
       |
       |- d8_example_module.settings.yaml
 |
 |- src/
   |
   |- Controller/
     |
     |- D8ExampleModuleController.php
   |
   |- Form/
     |
     |- TestForm.php
   |
   |- Plugin/
     |
     |- Block/
       |
       |- TestBlock.php
 |
 |- templates/
   |
   |- d8-theme-page.html.twig
 |
 |- d8_example_module.info.yml
 |
 |- d8_example_module.links.menu.yml
 |
 |- d8_example_module.module
 |
 |- d8_example_module.permissions.yml
 |
 |- d8_example_module.routing.yml

Drupal 8 in 2 steps: Extend a base Class or implement an Interface and tell Drupal about it.

Download the example module

Updates:

  • 19th January 2015
    • The code in this post has been updated to reflect changes in Drupal 8 Beta 4. Thanks to Geoff Lawrence for the updates to the example repo.
Dec 31 2014
Dec 31

As 2014 draws to a close, I look back at the year and realize... holy crap I traveled a lot! I hadn't actually done a fully tally yet, but here's the full rundown:

Sunshine PHP - Miami, FL - February Drupal South - Wellington, New Zealand - February Florida Drupal Camp - Orlando, FL - March MidCamp - Chicago, IL - March Museums and the Web - Baltimore, MD - April Lonestar PHP - Dallas, TX - April Drupal Association Webinar - Online - May php[tek] - Chicago, IL - May DrupalCon Austin - Austin, TX - June Refactor::Chicago (User group) - Chicago, IL - May Nomad PHP (User group) - Online - June Crafting Code Tour - Minneapolis, MN; Milwaukee, WI; Cincinnati, OH - July Design 4 Drupal - Boston, MA -July Twin Cities Drupal Camp - Minneapolis, MN - August Madison PHP - Madison, WI - September DrupalCon Amsterdam - Amsterdam, The Netherlands - September Symfony Live - New York, NY - October Higher Ed Web - Portland, OR - October BADCamp - San Francisco, CA - November php[world] - Washington, DC - November

In all, I flew 64,082 miles (103,130 kilometers for the metric fans in the audience), presented 29 times, with 13 distinct presentations at 20 conferences and user groups across 3 continents, and spent 82 days on the road (not counting non-conference travel). You know what that means?

It means I created about 10 metric tonnes of carbon pollution.

The downside of business travel

Jet fuel is a major contributor to greenhouse gas emissions. The more you fly, the more carbon dioxide and other waste gases you contribute to the atmosphere and the more we continue the downward spiral of human-created climate change. Flying is way worse than driving in that regard. Most people don't fly all that much but if you're a frequent conference-goer like I am (and like I know a great many of my friends and colleagues are) then air travel pollution is a significant contributor to us destroying our world.

I know some people have called for a reduction in air travel, powered by remote-conferencing technologies, but as anyone who has actually used them knows they are at best a very useful but poor substitute for in-person interaction. Humans are social beings and we are not going to stop traveling to spend time hanging out and learning from each other. That's a pointless battle to fight.

A partial solution

Fortunately, there is an alternative. Many companies offer "carbon credits". The basic idea is that if you generate 1 tonne of carbon dioxide, you invest in funding some project that will reduce overall carbon dioxide output (or equivalent from other greenhouse gases like methane) by an equivalent amount. That could range from reforestation efforts to methane burnoff to any number of other techniques. The end result is that you are, in effect, "carbon neutral". It's less ideal than reducing your greenhouse gas emissions in the first place but it can reduce your impact.

It's also far, far cheaper than you would expect. I chose this year to offset my travel with credits from a company called TerraPass, as my company Palantir.net has worked with them before. (The carbon offset industry is too new to be regulated, so be careful of scams.) The cost of offsetting 1000 lbs of carbon dioxide? $5.95 USD. That's it. Less than breakfast at Starbucks. That means offsetting all of my air travel in 2014 is a mere $130. Adding in my home energy usage and driving brought the total up to about $260. That's it. You probably spent more than that on your phone.

So I did. And you should too.

Your turn

I know many of my readers are frequent conference travelers and speakers. Many of them cross an ocean much more than I do. Friends, that means you're churning out just as much greenhouse gas pollution as I am, if not more. It's ridiculously cheap to compensate, and only takes a few minutes.

My challenge to you then is this: Offset yourself. I'm not going to tell people to stop going to conferences (that would be rather hypocritical), but I am going to call on everyone who attended or spoke at a conference to, at least, buy offsets for their air travel if not their full carbon footprint. You spent more on the ticket than you will on the offsets. (If you were a speaker and got your ticket free, you spent more on the cab from the airport.) If you can afford to attend a conference, you can afford a latte grande's worth of carbon offsets.

No, it won't cure the world, but every little bit helps. And if we can make it a trend and an expectation, especially for we frequent flyers, it can have a larger impact.

Conference organizers, you too

I know of only one conference that offered attendees the option of purchasing carbon offsets at registration, and that was DrupalCon Chicago 2011. Conference Organizers: Let's make it easier for people to go neutral for your conference.

Partner with some reputable carbon offset company, give people a calculator for their travel distance, and let them buy offsets along with their ticket, T-shirt, and whatever else. Make it optional, sure. (Opt-out would be nice, but possibly not feasible without some default travel distance for the calculation.) But put it there in people's faces. For most people it will cost less than the T-shirt.

Make that your 2015 resolution: At least make your business travel carbon-neutral. It's cheaper than a gym membership and much easier to stick with. And you don't even have to break a sweat.

See you next year

And I'll see many of you again this year at Sunshine PHP, DrupalCon Bogota, Midwest PHP, Lonestar PHP, and other conferences yet to come. Just make sure to travel environmentally-friendly to get there.

Share with

Oct 26 2014
Oct 26

My DrupalCon Amsterdam Core Conversation on Managing Complexity has generated quite a bit of follow-up discussion. That's good; it's a conversation we as a community really need to be having.

There are a few points, though, that I feel bear clarification and further explanation as I fear the point of the talk has gotten lost in the details.

Before continuing, if you haven't yet I urge you to watch the session video as well as the background resources linked from the session page. This is not a new conversation; it's the latest chapter in a very long-running discussion that is larger than the Drupal project, and it behooves us all to be aware of the history and context around it.

First of all, a number of people have reacted very negatively to my comment that Initiative Leads and, to a lesser extent, subsystem maintainers are "glorified secretaries" (despite the fact that I was referring to myself, derisively or not). There are probably some fascinating sociological reasons why that word carries far more intense negativity for some, and certainly far more than I intended, but that's a discussion for another time.

To the point at hand, I was specifically referring to the official, in-writing job descriptions of Initiative Leads. The only written, referenceable description of what Initiative Leads do is, again:

Initiative Leads have the following responsibilities:

  • Coordinate work on the initiative.
  • Communicate the plans, progress, and needs of the initiative to the community and the branch maintainers.

"Coordinate" and "communicate". Those are both fundamentally clerical tasks (hence "secretary", a clerical position). That's not to say unimportant; Good communication and coordination is critical for any medium to large scale endeavor, software or otherwise. (Having worked on projects without a project manager before, I will never do so again.) But "just" communicating does not in any way imply "leadership".

When I asked in my session who the Technical Lead was for Drupal 8, someone jokingly called out that I was. In all modesty it's true that I have had an enormous impact on Drupal 8's architecture and direction, some of it under the aegis of WSCCI, some not. But none of that came from being an initiative lead; it came from being an outspoken, persuasive, stubborn git.

My fellow initiative lead, Gábor Hojtsy, has responded to the discussion by discussing the benefits of "soft power": The ability to persuade rather than coerce, advocate rather than force, etc. To be sure, "soft power" has its benefits, and it's well established that "people skills" are just as important as applied skills in whatever the task at hand is (technical or otherwise). I also don't want to diminish Gábor's unquestionable skills in those areas. However, Gábor contrasts it with "hard power" by saying that "hard power" is about ordering people what to do and throwing around one's "authority", a concept that doesn't fit well with volunteer organizations.

That is, quite simply, a straw man.

Soft power, for all its benefits, is ultimately a form of informal structure. Informal structure, as outlined by Jo Freeman and as I quoted extensively in my session, is by its nature very fluid and opaque. It is inherently complex, because different responsibilities and relationships overlay on top of each other in unpredictable and undocumented ways. Informal structure is inherently not transparent. Anyone who values transparency should be wary of informal structure (and, by extension, over-reliance on "soft power") as it runs directly contradictory to that goal.

A good formal structure offers something that an informal structure cannot: Clarity. If a new contributor wants to ask someone in a "leadership" position if what they're proposing is consistent with the project direction, goals, or software design, who should they ask? Me? Gábor? catch? xjm? Daniel Wehner? Tim Plunkett? Angie Byron? Alex Bronstein? chx? Dries himself? Depending on the question the answer could be very different; even among those "leaders" I doubt there's consensus on which of them to ask, much less what the answer should be. That's actively hostile to new contributors, because then they don't know if what they're suggesting (be it big or small) would even be accepted until it's committed (and occasionally not even then). That is, it makes most contributions spec work, even for those in de facto leadership positions.

It also contributes to the belief that I've heard from numerous Drupal-savvy but not core-involved people that contributing to core involves posting a patch; waiting a few months; getting 300 comments; someone new rewriting the patch; refiling as a duplicate of another issue two or three times; reopening the issue; and then a patch sitting at "needs review" forever because no one can make a decision. (Yes, I have heard that story given by people that could be contributing to core, but aren't because the process barrier to entry is too high.)

With all that informality, it's quite easy to simply ignore the informal structure case-by-case when it's convenient. That's very disrespectful to those who have earned positions within the informal hierarchy through whatever means, and it prevents people from being able to "step back gracefully" as our Community Code of Conduct calls for. If you don't know if you've stepped up, how do you know to step down? As I noted in the session, Paris Liakos and I completely rewrote the logging system for Drupal 8, without the blessing or even awareness of the maintainer of the two logging modules in core. Of course, he wasn't there to tell us no so, and no one else suggested involving him. So did we do it right or were we backstabbing him? In all honesty I don't know.

I do know, however, that elbowing out de facto leaders who don't want to be elbowed out is a very painful and ugly process, one that has hurt the Drupal community and several initiatives over the Drupal 8 cycle; it was worse in 2011 and 2012 than recently but still, it is harmful to people. That process drove Jacine Luisi (HTML5 Initiative Lead) out of Drupal. Yet that is the primary way that de facto informal soft power transitions.

Drupal's extensive documentation and coding standards, for all the seemingly unnecessary anality, do have the distinct advantage of of being objective and transparent. There's very little in Drupal you can say that about.

Another failing of soft power is that it privileges those with an excess of time or an excess of persuasiveness, neither of which necessarily correlate in any way to an excess of skill or expertise at the task at hand. You want people in positions of authority who know what they're talking about, who understand the problem space, are connected with the various threads of work involved, and, yes, have the people skills to persuade and coordinate. But they also need to have the backing to make hard decisions if for whatever reason "consensus" doesn't work (as it often does not). They need to be understood as the domain expert in whatever the domain in question is, and that understanding needs to be transparent. If it's based entirely on soft power and who remembers that so-and-so wrote a particular piece of code then it is anything but transparent.

Fears of "hard power" people just throwing their weight around are also exaggerated. It has been my experience (in three different organizations, Drupal being the 3rd) that when you give someone with soft-power a more formal position with responsibility and the authority to be able to follow through on it one of two things happens:

  1. They become mad with power and throw their weight around, trampling all over those that get in their way.
  2. They adopt a broader perspective and become more collaborative, more open to discussion, and more amenable to reasonable disagreement than they ever were before because their position in the informal de facto pecking order and ability to influence direction is not under constant (real or perceived) threat. This is often an entirely unconscious distraction before hand that is neatly removed through formal recognition.

That is, if you are in an informal soft de facto position of leadership, part of your attention is always taken up by whether or not you still are at any given time. (Not necessarily in a defensive way, but that can happen too even without anyone being "power hungry".) But that's the last person you want distracted by court politics.

Naturally you want to have a lot of people from group 2 and avoid people in group 1. But it is self-defeating to let the fear of group 1 blind you to the benefits of group 2. Yet the Drupal project has largely let its fear of group 1 and it's zeal for the "one hour, one vote" of Do-ocracy hamstring our ability to leverage and capitalize on the benefits that formal structure can provide (transparency, clarity, efficiency, accountability, etc.). Again, quoting Jo Freeman:

If the movement continues deliberately to not select who shall exercise power, it does not thereby abolish power. All it does is abdicate the right to demand that those who do exercise power and influence be responsible for it. If the movement continues to keep power as diffuse as possible because it knows it cannot demand responsibility from those who have it... it insures that the movement is as ineffective as possible.

Formal structure can certainly be taken too far as well; requiring all patches to be filled out in triplicate with a cover letter attached to the TPS report would be lunacy. But as software passes Norris numbers and communities pass Dunbar numbers formalities need to be put into place to allow both to scale. It's a "right tool for the job" question, and the larger the problem space the more right a formal structure becomes.

Just as procedural code is fine up to a certain level of complexity and then needs the increased rigor of more formal methods like OOP, dependency injection, functional programming, data types, and so on in order to be sustainable so too can a community rely solely on "rough consensus and working code" only up to a point, and then needs to build in more formal structures and processes to allow it to grow.

Ultimately, this debate should not be about hard power vs. soft power. It's not an either-or proposition. A good, sustainable structure happens at the intersection of hard power and soft power; at the healthy combination of formal and informal structures, in a way that is appropriate to the scale of the organization or community.

Right now, Drupal leans far, far too much on soft power and informal structure, and that is harming us, as a community and as a code base. We need to bring that into balance in a way that recognizes just how big Drupal has become.

What sort of formal structure should we add? That's open for healthy debate. Sam Boyer has proposed one model. I've proposed one, taking inspiration from the Linux project. Lee Rowlands has proposed one, taking inspiration from a number of other projects. These are the discussions we should be having.

We should also look outward and dig into how other "super-large" Open Source projects handle these issues. There are only 8 others besides Drupal; it shouldn't take that long to research.

Share with

Oct 22 2014
Oct 22

Along with Malcolm and other colleagues from the Capgemini Drupal team, I attended the recent Drupalcon in Amsterdam. And as well as admiring the Dutch attitude to cycling and its integration in the city (btw London, blue paint on the road != a cycle superhighway), we also caught up on the state of Drupal and its future. So here a few reflections from Drupalcon Amsterdam.

Drupal In The Enterprise - A Key Component In The Wider Web

I’ve been to a few Drupalcons now, and compared to previous years, use of Drupal in the enterprise (or more generally at scale) seems much more commonplace. Dries Buytaert’s (Drupal founder) keynotes have made reference to Drupal’s ability to integrate with other systems as a key strength, and in these types of projects, Drupal is not used as the all-in-one solution that maybe was more commonplace a few years ago.

Partly this is also due to the way the web has moved far beyond the idea of ‘a thing you use on your desktop computer’, and Drupal has shown itself to be adaptable to this. For example, the idea of Headless Drupal was a well covered topic this year. Of course, previous ‘cons have had talks on uses of Drupal with other technologies (e.g. node.js talk from London 2011) but whereas it seemed more an interesting edge case then, now there are many successful real-world projects adopting these ideas.

The Sessions

Based on my not-entirely-comprehensive memory of the subset of sessions I attended from past Drupalcons, this year there seemed to be many more talks which could have easily been at a frontend or PHP specific conference. Drupal 8’s use of Symfony 2 components and shift to making use of components Proudly Found Elsewhere is part of this.

A few talks that those of us who attended would recommend (not an exhaustive list). I won’t go into too much detail (that’s all in the slides and the video) but these are worth checking out.

Automated Frontend Testing

The types of frontend testing which can be automated, covering performance (Phantomas), CSS (Wraith) and end-to-end (CasperJS) and integrating this into your build workflow. Slides Video

Models & Service Layers; Hemoglobin & Hobgoblins

I think the PHP track is a welcome addition to Drupalcon. When developing custom functionality on projects here at Capgemini, we often write the business models and logic as separate classes to Drupal which are then ‘glued’ via hooks which implement those classes. That kind of separation has advantages with portability, testability and some amount of simplification in that Drupal isn’t a dependency. Video

Cory Doctorow’s Keynote

Very interesting talk on how open-source is (in some ways) critical to our individual freedom in the modern world. In an age where “a modern house is a computer that you co-inhabit”, if a system went down - or arguably worse, were controlled by overzealous authorities - it can become uninhabitable. What do we do in this case? Is the Apple iTunes/U2 debacle merely the thin end of the wedge? Interesting viewing for anyone who contributes or uses open source. Video

Drupal 8 And The Future

As Drupal 8 entered beta during the conference, it was an opportunity to check out the changes. The plugin system for extending functionality looks interesting. In Drupal projects at Capgemini we have adopted approaches such as abstracting business logic and objects into standalone libraries and classes, called from hooks and callbacks where we need integration with Drupal. This approach allows us easier unit-testing and portability of classes. D8’s plugin system looks like a good way of achieving those advantages while implementing a Drupal API.

Having spent a lot of time on projects wrestling with the various methods of deploying and updating configuration, the CMI (Configuration Management Initiative), which imports and exports YAML files to update and dump site configuration is a very welcome addition.

In the frontend, I’m looking forward to using the Twig templating. The idea of having cleaner PHP-free templates yet still with the flexibility to have filters and basic logic is going to help improve separation between the theme and module layer. It’ll be new to me (as will other things) but as with other components, they have been successfully used in other PHP projects so there is documentation and examples already out there. There are some smaller changes too - removing drupal.js’s dependency on jQuery (thereby gently encouraging use of native JS), updating the versions of included libraries (and committing to keeping them up-to-date during D8’s lifetime) and including no JavaScript by default are good steps to optimising the frontend.

Where things may be more challenging is the APIs which have both new object-oriented components and retain the hook and callback system in some combination (for example, declaring widgets via hook_element_info). To take an example from a core module, the file module’s managed_file widget functionality is spread across a number of callbacks as well as its own FileWidget class. It’s not the most straightforward development flow to follow. Where this has some advantages is that existing modules will not need a complete OO rewrite just to be compatible with D8 - a module author could do a simple port at first before rewriting to take advantage of the new APIs. But some care is need to ensure that the advantages of encapsulation, increased unit-testability and extendability that the OO patterns introduce are not compromised by dependencies on a particular hook or callback.

Taking The Leap

Finally, as Drupal 8 progressed from alpha to beta during Amsterdam Drupalcon, it does seem now that it can be realistically considered for projects coming up on the horizon. Obviously there will a lot more work going into the project to fix bugs and improve performance and so forth. But now the major API decisions and changes have been made. But with this iteration of Drupal incorporating many more features from the contrib world (Views, WYSIWYG, etc) and PHP (Symfony2 components), it looks to be a healthy position for use when that 8.0.0 finally lands.

Oct 21 2014
Oct 21
img_20141001_152214-smile_0.jpg

Some weeks ago (29th Sept - 3rd Oct) Cocomore attended the European DrupalCon in Amsterdam with five colleagues: penyaskito (Christian López), kfritsche (Karl Fritsche), jsbalsera (Jesús Sánchez), LoMo (Lowell Montgomery) and Carsten Müller where there, and we also attended to the extended sprints before and after the Con. The numbers of this Drupalcon are impressive: more than 2300 attendees from over 64 countries. There were more than 100 sessions so, either if you came or not, you will find the link to all the DrupalCon Amsterdam sessions handful!

Diary

Saturday - Getting there

On Saturday we travelled to Amsterdam. It’s like always an exciting day, looking forward to see again not only friends from the community and new people to know, but also being able to reunite again coworkers who live almost 2000 kms away. And when you get into the airport you start recognizing people from other events, or only because we all wear Drupal t-shirts!

Sunday - Extended Sprints

The extended Sprints were hosted at Berlage Meet & Workspace, an amazing place just near to the Centre Station. There was plenty of space there to sit and help working in Drupal 8 core. As always is great to work with all the people from the community.

Monday - Sprints and Community Summit

On Monday the Sprints moved to the conference venue, Amsterdam RAI. The place there was even bigger for all the sprinting people (around 180 sprinters) and you could see people working not only in Drupal Core but also in important projects like Drupal Commerce or Drush. Karl joined the Community Summit and participate in the group about training experiences.

Tuesday - Start of Sessions

There were 120 sessions this year. so it was a really hard decision to choose between them. You can access to the complete program including links to the recorded videos at the DrupalCon Amsterdam website. The Opening Session, or prenote, was mostly a history of DrupalCon told by people which lives were changed there. Some histories were fun and some others were beautiful, but there were time to include some jokes and fun parts with a curious recreation of some events. Then came the Keynote by Dries Buytaert, and the Drupal 8 Beta One was announced! The keynote was a discussion about how to make the Drupal project development sustainable, by making the contribution more attractive to people and organizations. After that the traditional Group Photo was taken.

As you can see, tons of people :-)

15399906982_2ee1d506c1_o_0.jpg

Wednesday

On Wednesday the beta was finally released, so everyone could just download and install it, and make all the needed testing. This day’s Keynote was delivered by Cory Doctorow, science fiction writer and the co-editor of Boing Boing, among other achievements. You can access to the Wednesday schedule and access to all the sessions descriptions and videos. But this day was also strange, because all the Spanish community, with ours Christian and Jesús among them, looked really agitated. As we knew the day after they were invited to assist to a secret meeting by the Drupal Association, because the city selected to held the next DrupalCon was Barcelona, and they should know in advance.

Thursday

On Thursday there wasn’t a Keynote, but instead a number of small but interesting Drupal Lightning Talks. We want to remark the Console module, based in the Symfony Console Component: a CLI tool that helps creating new modules, controllers, etc automatically. And the #D8in8 initiative looks like a great way to involve a company into learning and contributing in Drupal 8. Lowell made a awesome job summarizing the Q&A with Dries that we can only recommend you to read, although you can also hear the audio. Again, the schedule is available online with links to the sessions descriptions and videos. At the end there was the Closing session, where they talked about future events like DrupalCon Bogotá and DrupalCon Barcelona was unveiled. That same night we assisted to the Trivia Night, hosted by the Irish group. It was tons of fun, but really hard. Our team was named 1396891800, because the timestamp when Heartbleed was announced, and thanks to Christian we won the prize to the best handwriting!

Friday - Mentored Core Sprints

Fridays was all about sprinting. Karl and Christian worked as mentors helping people, and Carsten, Jesús and Lowell were sprinting.

Saturday - Extended Sprints

On Saturday we went back to Berlage Meet & Workspace, so we were sprinting again.

Sunday - Goodbye Amsterdam

At the end all the good things have to end, and we had to get into the airport and travel back to our respective cities, Christian and Jesús travelling to Sevilla and Carsten, Karl and Lowell to Frankfurt. It was a really great DrupalCon, but we expect Barcelona to be even better!

Sessions

We attended to a bunch of a great collection of sessions, so we want to recommend some of them that we found really interesting:

What's next?

DrupalCamp Berlin

There is the DrupalCamp Berlin happening at the 15th and 16th of November in our capital. We are looking forward to meet you there again.

DrupalCon in Barcelona!

The next european DrupalCon will happen in Barcelona. We are happy about the decision made by the Drupal Association and we are looking forward to see you all again next year in the sunny city of Barcelona!

Thanks!

So it was a great DrupalCon. We can only say thank you to the organizers, the mentors, the local group and all the outstanding people that are part of this amazing community. We are proud to be part of it. img-20140928-wa0001_0.jpg
Oct 20 2014
Oct 20

Recently 10 members of the Drupal development team at Capgemini went to Drupalcon Amsterdam. Having been to two Drupalcons before, I more or less knew what to expect, but something I hadn’t previously given much thought to was how big an event it is. Compared to most other web conferences, it’s a beast. For me personally, I wonder if it’s getting too big and too impersonal, and I think that I’ll be more interested in going to smaller events.

Some of the more interesting sessions for me were the BoFs - in particular a discussion of open source training material and apprenticeships provided a lot of food for thought, and hopefully we can get involved at some level. Capgemini already does a lot of work getting graduates and apprentices into our engineering practice, and with such a big Drupal team, I hope we can benefit from and contribute to the Open Drupal initiative in 2015.

Whenever I go to an event, I come back with a to-do list, and this was no exception. I’ll definitely be digging further into CasperJS following Chris Ruppel’s session on Automated Frontend Testing. I was also very interested to hear about the way that Lullabot spin up test environments for pull requests - it will be good to investigate the feasibility of incorporating this into our workflow.

The other talk that stood out for me was John Albin Wilkins on Styleguide-Driven Development. For a long time, I’ve had a bee in my bonnet about the value of component libraries over Photoshop comps, and it was good to be reminded that I’m not alone. In an interesting session, John outlined an approach to integrating component-based design and automated style guides to agile development projects.

It’s been said many times before, but it’s worth remembering that all too often, people are still thinking in terms of pages, rather than systems.

In the context of the work that we do, this is even more important. We’re a large development team, building CMS-driven sites for large corporate clients, where the design is done by a team working for another company. We’ve made some inroads into building a more collaborative process, but it’s still too easy to end up with the designers throwing things over the wall to the developers. Very often the designer isn’t closely involved during the build phase, and design tweaks are agreed between the client and the developer without the opportunity to go back to get the designer’s opinion.

This is the whole point of living style guides - component libraries that stay in sync with the code as it evolves. As Shay Howe has discussed, component libraries help everyone on the project.

Designers are reminded of the visual language of the project, and it’s easier for them to see when they’re about to reinvent the wheel.

Style guides help developers by defining and documenting standards, and make it easier to dig in and find the way you solved some problem six months ago.

The projects we work on are large and complex, with a long lifecycle, and as developers we need to value maintainability of the front end code. Part of John’s approach to this was his class-naming convention. Having seen Jonathan Snook present on SMACSS I’d thought it was interesting, but to a certain extent it felt like a fancy name for something that was basically common sense. John’s presentation brought the concept to life well, and persuaded me that there’s more to it than that, with an impressive display of flower power.

The other interesting aspect was splitting up SASS files into components, and using KSS to create the style guide - this is something I definitely intend to do on my next project.

Modularity makes sense - it’s how the back-end is going, it’s how Javascript is going, so why shouldn’t design and CSS go the same way?

UPDATED 3rd December 2014: Unfortunately we got Chris Ruppel’s name wrong in the original version of this post, calling him “Dave Rupl”. Sorry Chris.

Oct 17 2014
Oct 17

image01DrupalCon Amsterdam 2014…what a week! Drupal 8 Beta released, core contributions made, and successful sessions presented!

Drupal 8 Beta — has a nice ring to it, don’t you think?! But what exactly does that mean? According to the drupal.org release announcement, “Betas are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs, and who are prepared to rebuild their test sites from scratch if necessary. Beta releases are not recommended for non-technical users, nor for production websites.” Or more simply put, we’re over the hump, but we’re not there yet. But you can help!

Contrib to Core

One of the biggest focal points of this DrupalCon was contributing to Drupal 8 core in the largest code sprints of the year. Specially trained mentors helped new contributors set up their development environments, find tasks, and work on issues. This model is actually repeated at Drupal events all over the world, all year long. So even if you missed the Con, code sprints are happening all the time and the community truly welcomes all coders, novice or expert.

Forum One is proud that our own Kalpana Goel was featured as a mentor at DrupalCon Amsterdam.Forum One is proud that our own Kalpana Goel was featured as a mentor at DrupalCon Amsterdam. She is very passionate about helping new people contribute.

It was my third time mentoring at DrupalCon and like every time, it not only gave me an opportunity to share my knowledge, but also learn from others. Tobias Stockler took time to explain to me the Drupal 8 plugin system and walk me through an example. And fgm explained Traits to me and worked on a related issue.

-Kalpana Goel

Campbell Vertesi, Technical Architect

Forum One Steps Up

While the sprints raged on, other Forum One team members led training sessions for people currently developing with Drupal. I, Campbell, presented Panels, Display Suite, and Context – oh my! to a capacity crowd (200+), and together, we presented Coder vs. Themer: Ultimate Grudge Smackdown Fight to the Death to over three hundred coders and themers. Now that Drupal 8 Beta is released we’re already looking forward to creating a Drupal 8 version of Coder vs. Themer for both Los Angeles and Barcelona!

This year’s European DrupalCon was a huge success, and a lot of fun! As a group, our Forum One team got to take a leading role in teaching, mentoring, and sharing with the rest of the Drupal community. It’s easy to pay lip service to open source values, but we really love the opportunity to show how important this community is to us. We recently estimated that we contribute almost a hundred patches to Drupal contrib projects in a good month. We’re pretty proud of that participation, but it’s only at the conventions that we get to engage with other Drupalists face to face. DrupalCon isn’t just for the code, or the sessions. It’s for seeing and having fun with our friends and colleagues, too.

At Amsterdam, we got to participate in code sprints, lead sessions and BOFs (birds of a feather sessions), and join the community in lots of fun extracurricular activities. We’re already making plans for DrupalCon LA in the spring. We’ll see you there!

DrupalCon LA DrupalCon Barcelona

Previous Post

Where’s the Message in Panels Node Edit Forms?

Next Post

Knowledge Café Recap: “Communicating Data for Impact”

Oct 10 2014
Oct 10
teaser image for blog post

I'm Andy, a developer at Ixis and having just settled back in after my first DrupalCon I thought I’d wrap up my thoughts after attending the annual European conference for the first time.

Initially - wow - DrupalCon is big! I’ve only been to some smaller PHP conferences so to see over 2000 people in one place was quite something. What struck me was how well it was organised - everything was on time with very few technical hiccups. I found the number of sessions quite overwhelming - there was so much to choose from, so having the videos of the sessions online with in an hour or so after it finished was really helpful. I’m still ploughing through the ones I’m interested in.

Just a quick note on my favourite session: "Field API is dead. Long live Entity Field API!". It looks like the Field API has really grown up and using some solid OO practices. I think it solves a lot of Drupal-isms developers have had to work with in the past - this session seemed really well received with lots of applause. I really am excited about working with Drupal 8.

It was also the first time for Peter our project manager:

Still under the thousands of impressions what I've received during Drupal con :-) The event was absolutely magnificent, meaningful and enjoyable at the same time. The organisers appeared very keen to provide a high level of technical, catering and professionalism to the event.

What I especially enjoyed was that I could meet the faces of the Drupal community: developers, project managers, company owners, freelancers, people who are working on small to large scale projects. The diversity of the community was amazing. The socials which were organised besides the main event were great as well. I think the greatest challenge on the event was to find enough time to sleep and rest.

I had a number of favourite sessions and it's hard to pick just one, so try to my best and pick two:

How to sell Agile - Vesa Palmu  has really good entertainment skills. It was a well built presentation about Agile's advantages, pitfalls and some honest advice about the limitation of the methods.   

Part 2: Train Wrecks & Ugly Baby Client Meetings - Susan Rust's presentation was more like a discussion about everyday challenges of a project manager, rather then a real presentation, but definitely useful.

So altogether if you haven't been to a DrupalCon we have to tell you it was worth it. Consider next year's European one in Barcelona.

Pages

About Drupal Sun

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

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

See the blog post at Evolving Web

Evolving Web