Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 21 hours 21 min ago

Evolving Web: Drupal North Summit is Coming to Montreal - June 16-19

7 June 2016 - 8:23am

If you haven't heard, Drupal North, the regional summit for all things Drupal, is coming up June 16-19 in Montreal. As long-time Drupal community organizers, we're really excited to be sponsoring the 4-day summit at the diamond level.

read more
Categories: Drupal

Drupal.org frontpage posts for the Drupal planet: Matthew Lechleider Community Spotlight

7 June 2016 - 7:38am

Matthew Lechleider (Slurpee) has been active in the Drupal community for over a decade, and his hard work has directly led to an incredible amount of community growth. The founder of a Chicago Drupal User Group and our community’s chief advocate for the Google Summer of Code and Google Code-In programs, Matthew has been a key part of growing the Drupal project and our global community. Here's his Drupal story.

“In 2005, I was a full-time university student working at an internet service provider so I could put myself through school,” Matthew said. “I was working as a network/systems person, and since I was at an ISP we had a lot of people calling us and asking the same questions over and over. At the time, I knew bit about web development and programming, and I thought, ‘I bet I could make a website that would answer these people’s questions.’ And that’s how I found Drupal. I proposed it to my boss, and the next thing I knew I was working on a full-time project getting paid to work with Drupal 4. I built the website and it was really popular— and we noticed that the phone calls went down. We were tracking our support calls at the 24-hour call center, and when people called for help, we would refer them to the website as a resource. So it really was a big help."

After that, the next steps were logical for Matthew. He put together a Drupal meet-up at his Chicago-based company. The group grew quickly each month, and in no time at all, people were asking about training and “Introduction to Drupal” classes. "I started teaching those classes,” Matthew said, "and then next thing you know, people were asking for private trainings and businesses were asking me to come to their offices and train new Drupal developers. When the people I was training came back with advanced questions, I realized how much money they were making, so in 2008 I went from being a network engineer to focusing on Drupal full-time. Since then, I’ve started a Drupal business and worked on some very big projects."

"I never thought I would be a web developer, but I fell into Drupal, saw how great and easy it was, and decided it was a good thing to be a part of,” Matthew added.

Over his time in Drupal, Matthew has converted a lot of Chicagoan web developers into Drupal users. “It's pretty cool to be part of something bigger than yourself,” Matthew said. “It's like a big tidal wave — I feel like I’ve been riding this Drupal wave for a long time. I didn’t think I’d still be work with Drupal this many years later."

Why Slurpee?

Many people in the community know Matthew only by his user username, Slurpee. But how did he come by that handle?

"I was probably eight or nine years old, learning about computers, and I had some nicknames I was playing around with. But it’s like that movie ‘Hackers’: you have to have your handle, you have to have your identity. It was the middle of a hot July in the summer, and as I was figuring out what I should call myself, I realized I had bout 20 empty slurpee cups surrounding my computer. I really do like slurpees. So that’s where that came from."

Drupal 8

As a long-time Drupal user and evangelist, Matthew is incredibly excited for Drupal 8.

" I have a traditional programming background in computer science, and Drupal wasn’t always the most professional CMS,” Matthew said. “Now, I’m very excited about Drupal 8— it’s like Drupal grew up and went to college and got a graduate degree. Drupal 8 is the way Drupal should have been a long time ago. I’ve built some of the biggest Drupal projects in the world, and when you’re talking to those kinds of massive clients, it’s hard to sell systems like Drupal four, five, and six. They’re out paying the big money for the huge enterprise solutions, and Drupal 8 is big. It’s ready to go, and I really think it's on par with everything else these days."

When asked about his favorite Drupal 8 feature, Matthew said, “As I work with big sites, it’s been a big struggle to deal with continuous integration, which is resolved in Drupal 8. As a person with a sysadmin background, I think integration is probably the thing that will save the most headaches. It’s going to be a very cool tool to work with."

Google Summer of Code and Google Code-In

Matthew is also heavily involved in several of Google’s student coding programs, and runs point on keeping Drupal in the Google Summer of Code (GSoC) and Google Code-In (GCI) programs.

“I’m a bit younger than other people in the community, and I started with Drupal when I was 19 years old or so. I was going to college when I got into Drupal, and I remember talking to people about it at school... and nobody had any clue about it, not even my teachers,” Matthew said. “Fast forward several years: I was working in the community, specifically on the VoIP Drupal module suite. At the time, we had a student come to us about GSoC —this was in 2012— and he said, ‘hey, I want to work on this project for you guys as part of the GSoC. Can you be a mentor?’ I said sure, and that’s all I was that first year. The next year, nobody wanted to organize GSoC for Drupal, so I stepped up and said that I liked the program and would get the ball rolling. I spent a lot of time revamping the things that Drupal does with Google, got us accepted back into the program, and we’ve been participating every year since, both in the Google Summer of Code, which is for university students, and the Google Code-In, which is for students ages 13 through 17.

“Getting back to what I said earlier about being a student, when nobody knew what Drupal was, it was a bit harder to get involved. Knowing that there’s a program like this in schools around the world, pushing these projects to students, I think it’s critical for us to participate. If we want this project to continue to be successful, we have to focus on younger people. They’re the ones who are adapting and changing the tech as we know it, and if they don’t know about Drupal, they won’t use it. But if we embrace these kids and show them how awesome Drupal can be — we have impressive students doing impressive stuff— it’s great for everyone. That’s why I think it’s super important that we spend so much time on the GSoC and GCI programs."

For those who are interested in getting involved, there are both GSoC and GCI Drupal Groups, a documentation guide for GCI, and a guide for the GSoC students who are just getting started. There is also a #drupal-google IRC channel on free node.

“It’s fairly easy to get involved,” Matthew said. “If you’re interested in helping, join the groups — we send out lots of updates — or you can can contact me directly. You can find us on IRC, or if you know of a student who wants to get involved, all they need to do is read the documentation. It covers everything. We spent a lot of time on that documentation,” Matthew said.

Being part of something bigger

When asked what drives him to participate and organize the community, Matthew’s answer was simple.

"Honestly, it’s all about being part of something bigger than myself,” he said. "I’ve been participating in computer hacker nerd groups since I was a kid, and back then (in the 90s) it was fairly difficult to find out about these kinds of groups. I attended something called 2600 — does anyone else remember that? — I thought it was so cool to be a part of something like that. I’ve been in IRC every day for over 20 years participating in communities, and it’s so exciting to be part of a huge thing bigger than myself. Now I’m getting recognized for it in Drupal, which is cool,” he added.

"Drupal is by far the largest community I’ve participated in from that point of view, and it’s been an exciting ride. Honestly, I thought it would have been over by now — I’ve been part of the community for over 10 years and that’s a long time — but I’m excited to see where it goes. For me, Drupal is more of a lifestyle than a career. Technically I’m a web developer, but I spend so much of my time volunteering and going to events. I can go to a DrupalCon in another country and see my friends from all over the world. Seeing how mature our community has become over the past decade continues to excite me, and and I plan to be part of this for as long as possible."

“The money’s not bad either,” he added. “I live a comfortable life working from home. I like to travel a lot, go to music festivals, or go on Phish tour for weeks at a time, but I can still work. I have a mobile hotspot, and just bring my laptop with me. I can’t tell you how many times I’ve been set up at a camping spot in the middle of nowhere, working on my laptop, or how many times I’ve been in a random country looking for internet so I can get some work done.”

“Working remotely, or working from home, gives me a lot of freedom. It lets me go to the skate park when all the kids are at school— I skateboard, and bring my board with me when I travel — and there’s time for me to go running every day. It’s actually one of my favorite activities, my running break — halfway through the day, I get up and I go running. It helps me keep my sanity."

"I also like to snowboard,” Matthew continued. “I’ve been skateboarding since I was 5 — since I could walk and talk I’ve been skateboarding — and I started snowboarding a couple years after that. Going to DrupalCon Denver was exciting, and there was a DrupalCon snowboard trip. Lots of people went to Breckenridge together, and that’s the other cool thing about the community: these people are fun, they like to go out and do things together."

Helping camps and communities around the world

After a decade in the Drupal community, Matthew has a lot of great memories of traveling, teaching, and sharing.

“I was invited to organize the first DrupalCamp in Sri Lanka and hold training classes there,” Matthew said. “It’s an island just off the coast of India, and when I went in 2012, they had just finished having a civil war. I was one of the only foreigners there, and there was military presence walking around. I wasn’t allowed to leave my hotel unless the Drupal people came and picked me up, and they were absolutely wonderful. They were so nice and appreciative, and so many people were incredibly smart and really talented. After I did a training or presentation, they all had a million questions and we ended up talking for hours. And that was when I had an ‘aha!’ moment and really felt like I was part of something bigger. It drove home that it’s my responsibility to spread the word of Drupal as much as possible."

“That was actually one of the trainings that I did when I was traveling a lot” Matthew added. “I literally traveled for years living out of hostels, and couch surfing. I was being contracted at the time to go teach Drupal in Europe, Asia, and Australia."

And for Matthew, one of his proudest accomplishments is Drupal’s participation in the GSoC and GCI programs.

"I think it’s cool that I maintain Drupal’s relationship with Google,” he said. "It’s Google. They’re the biggest tech company ever, and I have this relationship with multiple people at their offices. They’re all super nice and it’s great that they’re pushing this open source stuff. They want our community's feedback, and I think it’s really cool that I can represent Drupal with Google. They’re trying to give us money and get us to do more with the students. It’s something I think is really great."

The importance of networking

When asked if he had any advice for new Drupal users, Matthew had several thoughts to share.

“Find your local communities and participate,” he advised. “Go to as many events as you can. If you have to drive a couple of hours to go to a Drupal camp, do it. If there isn’t a local community in your area, start one. If you go to meetup.com and post a similar topic, even if just one other person shows up, that’s cool and the community will grow. Drupal is a software, but it helps to get some face time in with other people. Network. Go out. Have some coffee (or beer). Hang out. Bring your laptop and start sharing ideas— you’ll be surprised at how welcoming the Drupal community is. I can’t tell you how many times I’ve sat at the bar until the bar kicked us out just helping people fix websites and giving free training.

“If you’re struggling, it’s important to network with other groups — non-Drupal groups — like a web-dev group or an open source group or a Linux group or something. That’s what helped me when I did the first Drupal camp for Chicago 2008. We were thinking 100 people might show up, but we did a lot of networking. I contacted every tech user group in Milwaukee, Detroit, southern Illinois, and Minnesota. I found every group that was related to web or open source or Drupal, and I contacted every one of their organizers. Within a couple weeks we had over 200 registrations, and people were emailing us about hotels and hotel accommodations. It was a big wow moment for us."

As for those who are involved in the community and want to do more, Matthew has a few tips.

“If you want to teach training, my advice is not to focus on the curriculum. Everywhere I go, everyone wants me to submit my curriculum. I’ve taught a lot of classes, and I’ve learned that every group of students is going to be different. I can’t tell you how many times I had a curriculum and thought I was going to go through the whole thing, and instead I wind up talking about something else. Make sure you understand your students, and teach them what they want to learn about.

“And it’s not even all that difficult,” he added. “Here’s what I do for Global Training Days. You know what happens when you make an event that’s free anything? You get all sorts of people registering. So I keep the classes as small as possible — so whenever anybody registers for the event, I don’t give them the address unless they give me their phone number. When someone registers, I call them and ask them, 'what do you want to get from this training,' 'what is your experience,' — and I can’t tell you how many people have thanked me for that. Requiring a phone call with the registration helped keep the classes smaller, and limit it to people who were actually new to Drupal and would be in proper context of attending a GTD. So, that’s my advice — know your audience. Don’t assume everyone knows about Drupal. Don’t worry about a set curriculum — go with what you students are actually looking to gain from the experience."

For those who are looking for more tips, tricks, and knowledge from Matthew, his wisdom will soon be available at your fingertips in paperback form.

“I’m working with Packt publishing on a collection of ‘Drupal 8 Administration Cookbook Recipes.’ They’re step-by-step tutorials that teach admins to do everything from getting started with Drupal to doing advanced site building stuff, and it's coming out in later this summer. I’m pretty excited about it! I’ve always read a lot of the Drupal books and I’m excited to make a contribution. I started on my own but have had a Drupal business for several years, and have had several people who have worked for me. The book is literally just a collection of all the same questions every client always asks. It’s almost like a tell-all: here’s step-by-step documentation for how to do everything. Now stop asking us,” he added with a laugh.

Front page news: Planet Drupal
Categories: Drupal

OpenLucius: How to build a Drupal 8 website | Part 1: initialize theme

7 June 2016 - 6:34am

In this blog serie I will explain how we have built a new multilingual Drupal 8 site. During the process the required HTML, CSS en Javascript was supplied statically and used to build a custom Drupal 8 theme. So we did not use a Drupal core or contrib theme.

Categories: Drupal

Platform.sh: Drupal 8 starter kit now with PHP 7 and Composer!

7 June 2016 - 5:00am

Drupal 8.1 has made a significant shift toward embracing Composer as the standard way to install and manage a Drupal site. Starting today, with Drupal 8.1.2, Platform.sh’s Drupal 8 templates are also Composer-based, and default to using PHP 7.

Categories: Drupal

Drop Guard: How Drupal shops can sell SLAs with 40% more profit & recurring revenue

7 June 2016 - 4:00am

Most Drupal shops depend on a transactional business model which requires hunting for new projects every month. Building Drupal applications is a great base to add more value to your business by selling support contracts, to grow your recurring revenue and deliver continuous value for your clients that have built their online business with Drupal. Using the transactional project business strategically to sell support contracts can help Drupal shops to grow fast and sustainable.

You will learn from some real examples of other Drupal shops how they grow recurring revenue with the project business and deliver support SLAs with 40% less personal costs.

 

Drupal Drupal shops SLA Drupal Planet Business
Categories: Drupal

Arpit Jalan: Second week of Google Summer of Coding

7 June 2016 - 3:26am
TL;DR I have already created services for the functions which bridges the module to the API, implementing the features offered by the Google Cloud Vision API, thus completing my first step towards Integrating Google Cloud Vision API to Drupal 8. This week I worked on generating error reports if the API key is not set by the user, and developing tests to test the API key configuration and whether the key is stored successfully or not.
The first step towards the integration of Google Cloud Vision API to Drupal 8 was completed with the functions moved to services. I had posted the patch for the review by my mentors. They provided their suggestions on the patch, which I worked on, and every step resulting in a better and more beautiful code.
I would also like to share that this week, our team expanded from a team of three, to a team of four members. Yes! Eugene Ilyin, the original maintainer of the module Google Vision API has joined us to mentor me through the project.
Now coming to the progress of the project, the schedule says I need to configure the Google Cloud Vision API at taxonomy field level, so that the end users may use the taxonomy terms to get the desired response from the API. However, the module already used the configuration for Label Detection, and in a discussion with my mentors, it was figured out that the current configuration does not need any changes, as at present the behaviour is pretty clear and obvious to let the developers use it easily; rather we should work on implementing the runtime verification and storage of API key supplied by the end users.I was required to write and implement the code which would give error report if the API key was not saved prior to the use of the module, and also to write tests for verifying the configuration and ensuring the storage of the key.
I created issue for the new task, Implement a runtime requirement checking if API key is not set in the issue queues of the module, and started coding the requirement.I created patches and posted it in the issue to get it reviewed by my mentors. I brought the suggested changes in the code and finally have submitted the patch implementing the required functionalities.On the other hand, the previous issue Moving the common functions to services was also under the review process.I also worked on this issue, solving and implementing minor suggestions before it gets ready to be accepted and committed! And finally, my first patch in this project has been accepted and the changes has been reflected in the module.
At the end of these two weeks, I learnt about services and dependency injection which prove to be very useful concepts implemented in Drupal 8. I also had experiences of writing tests to check the runtime functionality of the module.
Categories: Drupal

Pronovix: Brightcove Video Connect for Drupal 8 - Part 4: Including Videos & Playlists in Drupal content

7 June 2016 - 3:25am

This posts reads as a step-by-step guide for the following tasks:

  1. Add Brightcove Video field
  2. Browse Brightcove Videos using the Entity Browser module
  3. Upload Brightcove Videos inside Drupal content using the Inline Entity Form module
  4. Browse and upload Brightcove Videos inside Drupal content from the same field using the Entity Browser IEF submodule
  5. Browse and upload Brightcove Videos from CKEditor
Categories: Drupal

Into my Galaxy: GSoC’ 16: Coding Week #2

7 June 2016 - 12:05am

Google summer of code (GSoC) seems to be a venue for students to get in touch with new technologies and be a part of many interesting open source organisations. Thanks to google for co- ordinating this initiative.

The last week was really a productive one for me in all aspects. I could manage time better to focus more towards my project. The climate here seems to have improved a lot. It’s now rainy here which has reduced the hot and humid climate to a large extent. My geographical location, Kerala, the southern part of India usually faces a fair climate.

If you are searching for a flashback of my previous GSoC’ 16 ventures, please have a look at these posts.

So, as you were expecting, now let’s talk about my activities in the second week of GSoC. The second week commenced with a bit more elaborative planning of the tasks to be carried out in the coming days. My main intention for the week was to discover more Drupal hooks and adapt it to my project code.

Wondering, what are hooks?

Hooks, in the simple definition, are PHP functions which have an inbuilt meaning given by Drupal to interact with modules. They also give us the freedom to extend the functionalities. The api.drupal.org gives wonderful explanations about the various hooks in action and their modifications that have come in the different Drupal versions.

Topics I have covered:

I would like to take this opportunity to share with you some of the concepts I could grasp from the previous week of GSoC.

  • hook_install
    • This performs the setup tasks when the module is installed.
  • hook_schema
    • This hooks the database schema for the module. This is invoked once the module is enabled. This resides in the .install file of the module.
  • hook_theme
    • This is for enhancing the module’s theme implementations.
  • hook_permission
    •  This hook defines the user permissions of the module; granting and restricting permission to the roles.
  • Configuration API
    • The Drupal variables are replaced by the configuration API.  You need to define the properties and default values in the new format.

Hoping to learn more Drupal concepts in the days ahead. I will be posting the updates regularly. Stay tuned for more Drupal concepts.


Categories: Drupal

Jeff Geerling's Blog: DrupalCamp St. Louis 2016 will be September 10-11

6 June 2016 - 7:40pm

I wanted to post this as a 'save the date' to any other midwestern Drupalists—here in St. Louis, we'll be hosting our third annual DrupalCamp on September 10 and 11 (Saturday and Sunday) in St. Louis, MO. We'll have sessions on Saturday, and a community/sprint day Sunday, and just like last year, we'll record all the sessions and post them to the Drupal STL YouTube channel after the Camp.

We're still working on a few details (nailing down the location, getting things set up so we can accept session submissions and registrations, etc.), but if you're interested in coming, please head over to the official DrupalCamp STL 2016 website and sign up to be notified of further information!

Categories: Drupal

ActiveLAMP: Writing custom fields in Drupal 8 - Part 2

6 June 2016 - 7:00pm

Continuing from Evan’s blog post on building pages with Paragraphs and writing custom blocks of content as fields, I will walk you through how to create a custom field-formatter in Drupal 8 by example.

Read more...
Categories: Drupal

Vasily Yaremchuk: DrupalCamp Kyiv 2016 Retrospective

6 June 2016 - 2:15pm

I took part in DrupalCamp Kyiv 2016. Let me share my impression.

I took part in Kiev Drupal Camps in 2010 and 2011, but after that, due to some personal reasons and job activity such as working as the Project Manager at the company, I wasn’t able to participate at the camps from 2012 to 2015.

To compare with my previous Drupal Camp experience this Camp looks like International not local Ukrainian event. There were several presentations in English. I think as soon as English presentation will be more than 50% the Camp became really international.

The most important conclusion that I have after this event: It does not make sense to start new project on Drupal 7. There were several excellent presentations that show a long set of Drupal 8 strong points. On my own view the best presentation did Olexiy Gorobets from FFW. His report significantly change my understanding of Drupal Cache Workflow. I hope that his report will be available online soon.

Also there is a trend towards consolidation Drupal IT business in several companies. They are FFW and Adyax.
More than 50% of the camp presentations were prepared by the people from that companies. Also as I can see more than 50% of the famous Ukrainian Drupal developers joined to that 2 companies.

I can saw only one weak point of Kiev Drupal Camp 2016. There were 4 streams of presentations, thus participants can have very limited access to that lectures, so one can see only 25% of presentations.

I hope that we will have access to all presentations soon, but now I can share my final slide set of my presentation The First Step to a Drupal 8 Landing Page Builder.

Blog tags: Planet Drupal
Categories: Drupal

Drupal @ Penn State: How to export fields from one content type to another

6 June 2016 - 2:06pm

The title kind of explains it all. Check out the screencast for a quick demo on how to do it.

Categories: Drupal

Gizra.com: The Gizra Way Webinar: Budget Goggles and the Time-Boxed Project

6 June 2016 - 2:00pm

Today we held our inaugural #TheGizraWay webinar. The web series is intended to showcase some of “The Gizra Way” principles - a set of best practices and methodologies, borrowed from the Open Source development world and applied to operations, workflow, and overall company culture.

For the first in the series, we chose the topic of price estimations because it provides a real - and perhaps radical - example of how transparent communication from the beginning about a project’s needs alongside its budget can turn the process on it’s head. In the video below Amitai Burstein discusses how a budget-and time-driven discovery process gets a project off on the right foot.

The next webinar - to take place in July 2016 - will be announced shortly. If you have any suggestions for topics or an idea that you would like to present in a future session let us know.

Continue reading…

Categories: Drupal

Drupal.org blog: What’s new on Drupal.org? - May 2016

6 June 2016 - 1:16pm

Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.

The team is back from New Orleans and thankful for the time we had to spend with the community, attending sessions, presenting sessions of our own, and sprinting with you throughout the Con. As individuals, we’re all members of the community, and as an organization we're proud to hold the home of the community in trust.

Because of DrupalCon North America, May is always a busy month for the Association engineering team. We're preparing our sessions, ensuring that the testbots will be running smoothly for DrupalCon sprints, and polishing new features and ideas to share with the community. Here's what's new:

Drupal.org updates Composer repositories moving towards stable

At the end of April, we launched the Alpha of our Composer façade, providing Composer repository endpoints on Drupal.org for Drupal 8 and Drupal 7. At DrupalCon New Orleans, we gave a presentation on the architecture of the Composer façade, and our plans for next steps. We also received some great feedback from users who helped us test the alpha release, and in May we've focused on moving Composer from an alpha release to a more stable environment suitable for use on production Drupal sites. We'll be following up soon with a more detailed blog post about Composer, when that more stable release is available.

If you want to help test the Composer service, you can learn more about Drupal.org's Composer repositories.

New documentation content types

As previewed in our session at DrupalCon New Orleans, we're modernizing Drupal documentation with two new content types: Guides, and Documentation Pages. Documentation Pages will be organized in Guides, which will be curated by maintainers. We're also bringing a new visual design to documentation, re-organizing documentation by major version of Drupal, and developing a call-outs feature to help highlight key information like best practices or important changes in minor versions.

In May, we made an initial deployment of these content types to Drupal.org, though access is presently restricted to administrators while we work with the Documentation Working Group to sort out our initial migration plan. In June, we hope to deploy a migration tool, allowing users to convert existing documentation Book Pages and their children into the new Guides and Documentation Pages.

CKEditor

We've also deployed CKEditor to Drupal.org. The WYSIWYG editor is now available on the Section, Page, and Post content types, as well as the incoming Documentation Guide and Documentation Page types. CKEditor brings a more robust editorial experience to Drupal.org, and as it gets wider use we’ll expand it to additional content types. We also want to allow time for the Dreditor maintainers to update to support the change. As a long-term goal, we hope that some of the features of Dreditor may be reimplemented as CKEditor plugins and directly available to every Drupal.org user without the use of a 3rd party browser extension.

Sustaining support and maintenance DrupalCon Dublin full site launched

At DrupalCon New Orleans, we launched the full site for DrupalCon Dublin. The call for papers is open now, as is registration, so submit your sessions and purchase your tickets soon. DrupalCon New Orleans had the most sessions submissions ever for a DrupalCon, and the standard of quality was incredibly high. We're hoping that DrupalCon Dublin will see just as many wonderful submissions.

DrupalCon Baltimore announced!

As is tradition, we also revealed the location of the next DrupalCon North America. In 2017, DrupalCon will be in Baltimore! At the closing session, the engineering team launched the splash page for the upcoming event, with travel information, hotels, and important dates.

And if your organization would like to sponsor DrupalCon Baltimore, you can find more information and our prospectus on the site as well.

Infrastructure

We made several tweaks to Drupal.org infrastructure in May as well. We updated the Git Twisted daemon, which serves as the backend for the Drupal.org Git repositories and packaging process. We rebuilt our staging infrastructure at OSU/OSL. And finally, with the generous support of new Technology Supporting Partner OpsGenie, we updated our internal pager rotation for infrastructure alerts.

———

As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who made it possible for us to work on these projects.

We also want to say a special thanks to the departing leadership team at the Drupal Association: our former executive director, Holly Ross, who is moving on after building an incredible team and a great culture throughout the entire organization; Matt Tsugawa, our CFO; and Josh Mitchell, who has lead and mentored the engineering team.

Megan Sanicki, our former COO, is taking on the mantle of Executive Director and we're looking forward to where her leadership will take us

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Categories: Drupal

Drupal Association News: Drupal at OSCON

6 June 2016 - 12:58pm

Drupal was at OSCON 2016 in Austin, TX, represented by a team of volunteers and Association staff members. Big thanks to Mika Aguilar, Stephanie El-Hajj, Michael Favia, Jeff Linwood, Michal Minecki, Emilie Nouveau, Cole Pacak, Jakob Perry, Ed Reel, Patricia Silva, and Jason Yee for helping out.

Thanks to the media partnership between DrupalCon and O'Reilly Media, we received a table in the exhibit hall to promote Drupal to the wider open source audience of OSCON. Here is how the days went, according to our volunteer crew:

It was great to meet so many Drupalistas in the Texas open source community and let them know about local meetups and the Texas Drupal Camp being planned. Everyone that came through was excited to talk about Drupal 8 and how they’re using it. And so many stickers were handed out!

— Emilie Nouveau (DyanneNova)

I’m excited to see OSCON come back to Austin next year. I attended the last two years in Portland and was happy to see it follow me to Austin. Lots of people stopped by the Drupal booth - many who had once used or installed Drupal, and then wandered away. They were surprised (and I think excited?) to hear about Drupal 8! It was a great opportunity to showcase Drupal 8’s new, modern features and functionality.

If I had to pick a favorite after-hours event, it’d have to be PayPal’s (old) Ghostbusters screening at the Alamo. You haven’t experienced the local scene until you’ve waved white and red glow sticks at a screen with a hundred fellow nerds to mime the Proton Blaster energy ray at the Alamo. And adult milkshakes.

— Stephanie El Hajj (stephelhajj)

The best part was meeting some new PHP developers right out of school who had learned development, but weren’t sure exactly what Drupal was, or how it could help them start their careers. This was a great opportunity to tell them about Drupal 8 and modern PHP web development using Symfony.

— Jeff Linwood (jefflinwood)

Keep up with events we are planning by following our newsletter.

 

Personal blog tags: OSCON
Categories: Drupal

DrupalCon News: Registration is open for DrupalCon Dublin

6 June 2016 - 11:10am

If you’ve been dreaming about DrupalCon Dublin, we’ve got some great news. Registration is open, so it’s time to purchase your ticket.

Buy your ticket before the earlybird pricing expires on 25 July, and save yourself (or your company) some money. Plus, the sooner you purchase your ticket (and reserve your official hotel room), the better our team can plan for you. It helps us know how many attendees to plan for, and it funds our budget for meals and refreshments sooner, which means better food and coffee.

Categories: Drupal

FFW Agency: Go Camping with Drupal This Summer

6 June 2016 - 9:21am
Go Camping with Drupal This Summer Ray Saltini Mon, 06/06/2016 - 16:21

Why spend all your time at the beach when you can be learning even more about Drupal. Here are just a few of the camps our staff will be participating in this summer. We hope to see you there.

DrupalNorth

Drupal North in Montreal June 16 - 19 is a great regional event. FFW Manager of Learning and Contributions David Hernandez is presenting Managing CSS and JavaScript files in Drupal 8 with Libraries

GovCon

Join us at GovCon in Bethesda July 20-22 where we’re sponsoring a full day training with Drupal Console author and FFW Drupal 8 Solutions Engineer Jesus Olivas on Building Custom Drupal 8 features and modules.  FFW Center of Excellence Director Ray Saltini and FFW Manager of Learning and Contributions David Hernandez will be there presenting on Personalization Strategies for Government Websites and Managing CSS and JavaScript files in Drupal 8 with Libraries

NYC Camp

NYC Camp is back at the United Nations this year July 8  - 11. There’s too much learning going on to list it all here. Make sure you catch FFW Center of Excellence Director Ray Saltini’s presentation Radical Digital Transformation or Die

Twin Cities Drupal Camp

FFW Drupal 8 Solutions Engineer and Drupal Console project lead Jesus Olivas is giving a full day training at Twin Cities June 16 - 19 on Drupal 8 Module Building and presenting Improving Your Drupal 8 Development Workflow. Make sure you catch him and FFW Developer Tess Flynn who’s presenting Ride the Whale! Docker for Drupalists.

Tagged with Comments
Categories: Drupal

Dries Buytaert: Gotthard tunnel website using Drupal

6 June 2016 - 9:17am

The Gotthard Base Tunnel, under construction for the last 17 years, was officially opened last week. This is the world's longest and deepest railroad tunnel, spanning 57 kilometers from Erstfeld to Bolio, Switzerland, underneath the Swiss Alps. To celebrate its opening, Switzerland also launched a multi-lingual multimedia website to celebrate the project's completion. I was excited to see they chose to build their site on Drupal 8! The site is a fitting digital tribute to an incredible project and launch event. Congratulations to the Gotthard Base Tunnel team!

Categories: Drupal

Four Kitchens: Launch Announcement: WOOD Magazine

6 June 2016 - 9:14am

We’re pleased to announce the site launch of woodmagazine.com, the online presence of WOOD Magazine, “The World’s Leading Woodworking Resource.” The new site includes online-only content, free downloadable plans for home woodworking projects, an index of articles in the print magazine, community forums, and subscription management.

Categories: Drupal

Dries Buytaert: Advancing Drupal's web services

6 June 2016 - 12:24am

In an earlier blog post, I looked at the web services solutions available in Drupal 8 and compared their strengths and weaknesses. That blog post was intended to help developers choose between different solutions when building Drupal 8 sites. In this blog post, I want to talk about how to advance Drupal's web services beyond Drupal 8.1 for the benefit of Drupal core contributors, module creators and technical decision-makers.

I believe it is really important to continue advancing Drupal's web services support. There are powerful market trends that oblige us to keep focused on this: integration with diverse systems having their own APIs, the proliferation of new devices, the expanding Internet of Things (IoT), and the widening adoption of JavaScript frameworks. All of these depend to some degree on robust web services.

Moreover, newer headless content-as-a-service solutions (e.g. Contentful, Prismic.io, Backand and CloudCMS) have entered the market and represent a widening interest in content repositories enabling more flexible content delivery. They provide content modeling tools, easy-to-use tools to construct REST APIs, and SDKs for different programming languages and client-side frameworks.

In my view, we need to do the following, which I summarize in each of the following sections: (1) facilitate a single robust REST module in core; (2) add functionality to help web services modules more easily query and manipulate Drupal's entity graph; (3) incorporate GraphQL and JSON API out of the box; and (4) add SDKs enabling easy integration with Drupal. Though I shared some of this in my DrupalCon New Orleans keynote, I wanted to provide more details in this blog post. I'm hoping to discuss this and revise it based on feedback from you.

One great REST module in core

While core REST can be enabled with only a few configuration changes, the full extent of possibilities in Drupal is only unlocked either when leveraging modules which add to or work alongside core REST's functionality, such as Services or RELAXed, or when augmenting core REST's capabilities with additional resources to interact with (by providing corresponding plugins) or using other custom code.

Having such disparate REST modules complicates the experience. These REST modules have overlapping or conflicting feature sets, which are shown in the following table.

Feature Core REST RELAXed Services Ideal core REST Content entity CRUD Yes Yes Yes Yes Configuration entity CRUD Create resource plugin (issue) Create resource plugin Yes Yes Custom resources Create resource plugin Create resource plugin Create Services plugin Possible without code Custom routes Create resource plugin or Views REST export (GET) Create resource plugin Configurable route prefixes Possible without code Translations Not yet (issue) Yes Create Services plugin Yes Revisions Create resource plugin Yes Create Services plugin Yes File attachments Create resource plugin Yes Create Services plugin Yes Authenticated user resources (log in/out, password reset) Not yet (issue) No User login and logout Yes

I would like to see a convergence where all of these can be achieved in Drupal core with minimal configuration and minimal code.

Working with Drupal's entity graph

Recently, a discussion at DrupalCon New Orleans with key contributors to the core REST modules, maintainers of important contributed web services modules, and external observers led to a proposed path forward for all of Drupal's web services.

A visual example of an entity graph in Drupal.

Buried inside Drupal is an "entity graph" over which different API approaches like traditional REST, JSON API, and GraphQL can be layered. These varied approaches all traverse and manipulate Drupal's entity graph, with differences solely in the syntax and features made possible by that syntax. Unlike core's REST API which only returns a single level (single entity or lists of entities), GraphQL and JSON API can return multiple levels of nested entities as the result of a single query. To better understand what this means, have a look at the GraphQL demo video I shared in my DrupalCon Barcelona keynote.

What we concluded at DrupalCon New Orleans is that Drupal's GraphQL and JSON API implementations require a substantial amount of custom code to traverse and manipulate Drupal's entity graph, that there was a lot of duplication in that code, and that there is an opportunity to provide more flexibility and simplicity. Therefore, it was agreed that we should first focus on building an "entity graph iterator" that can be reused by JSON API, GraphQL, and other modules.

This entity graph iterator would also enable manipulation of the graph, e.g. for aliasing fields in the graph or simplifying the structure. For example, the difference between Drupal's "base fields" and "configured fields" is irrelevant to an application developer using Drupal's web services API, but Drupal's responses leak this internal distinction by prefixing configured fields with field_ (see the left column in the table below). By the same token, all fields, even if they carry single values, expose the verbosity of Drupal's typed data system by being presented as arrays (see the left column in the table below). While there are both advantages and disadvantages to exposing single-value fields as arrays, many developers prefer more control over the output or the ability to opt into simpler outputs.

A good Drupal entity graph iterator would simplify the development of Drupal web service APIs, provide more flexibility over naming and structure, and eliminate duplicate code.

Current core REST (shortened response) Ideal core REST (shortened response) { "nid": [ { "value": "2" } ], "title": [ { "value": "Lorem ipsum" } ], "field_product_number": [ { "value": "35" } ], "field_image": [ { "target_id": "2", "alt": "Image", "title": "Hover text", "width": "210", "height": "281", "url": "http://site.com/x.jpg" } ] } { "nid": "2" "title": "Lorem ipsum", "product_number": { "value": 35 }, "image": { "target_id": 2, "alt": "Image", "title": "Hover text", "width": 210, "height": 281, "url": "http://site.com/x.jpg" } } GraphQL and JSON API in core

We should acknowledge simultaneously that the wider JavaScript community is beginning to embrace different approaches, like JSON API and GraphQL, which both enable complex relational queries that require fewer requests between Drupal and the client (thanks to the ability to follow relationships, as mentioned in the section concerning the entity graph).

While both JSON API and GraphQL are preferred over traditional REST due to their ability to provide nested entity relationships, GraphQL goes a step further than JSON API by facilitating explicitly client-driven queries, in which the client dictates its data requirements.

I believe that GraphQL and JSON API in core would be a big win for those building decoupled applications with Drupal, and these modules can use existing foundations in Drupal 8 such as the Serialization module. Furthermore, Drupal's own built-in JavaScript-driven UIs could benefit tremendously from GraphQL and JSON API. I'd love to see them in core rather than as contributed modules, as we could leverage them when building decoupled applications backed by Drupal or exchanging data with other server-side implementations. We could also "eat our own dog food" by using them to power JavaScript-driven UIs for block placement, media management, and other administrative interfaces. I can even see a future where Views and GraphQL are closely integrated.

A comparison of different API approaches for Drupal 8, with amended and simplified payloads for illustrative purposes.

SDKs to consume web services

While a unified REST API and support for GraphQL and JSON API would dramatically improve Drupal as a web services back end, we need to be attentive to the needs of consumers of those web services as well by providing SDKs and helper libraries for developers new to Drupal.

An SDK could make it easy to retrieve an article node, modify a field, and send it back without having to learn the details of Drupal's particular REST API implementation or the structure of Drupal's underlying data storage. For example, this would allow front-end developers to not have to deal with the details of single- versus multi-value fields, optional vs required fields, validation errors, and so on. As an additional example, incorporating user account creation and password change requests into decoupled applications would empower front-end developers building these forms on a decoupled front end such that they would not need to know anything about how Drupal performs user authentication.

As starting points for JavaScript applications, native mobile applications, and even other back-end applications, these SDKs could handle authenticating against the API and juggling of the correct routes to resources without the front-end developer needing an understanding of those nuances.

In fact, at Acquia we're now in the early stages of building the first of several SDKs for consuming and manipulating data via Drupal 8's REST API. Hydrant, a new generic helper library intended for JavaScript developers building applications backed by Drupal, is the work of Acquia's Matt Grill and Preston So, and it is already seeing community contributions. We're eager to share our work more widely and welcome new contributors.

Conclusion

I believe that it is important to have first-class web services in Drupal out of the box in order to enable top-notch APIs and continue our evolution to become API-first.

In parallel with our ongoing work on shoring up our REST module in core, we should provide the underpinnings for even richer web services solutions in the future. With reusable helper functionality that operates on Drupal's entity graph available in core, we open the door to GraphQL, JSON API, and even our current core REST implementation eventually relying on the same robust foundation. Both GraphQL and JSON API could also be promising modules in core. Last but not least, SDKs like Hydrant that empower developers to work with Drupal without learning its complexities will further advance our web services.

Collectively, these tracks of work will make Drupal uniquely compelling for application developers within our own community and well beyond.

Special thanks to Preston So for contributions to this blog post and to Moshe Weitzman, Kyle Browning, Kris Vanderwater, Wim Leers, Sebastian Siemssen, Tim Millwood, Ted Bowman, and Mateu Aguiló Bosch for their feedback during its writing.

Categories: Drupal

Pages