Planet Drupal

Subscribe to Planet Drupal feed - aggregated feeds in category Planet Drupal
Updated: 6 min 51 sec ago

DrupalCon News: The Critcal Importance of Sending Your Team to DrupalCon

Tue, 23/06/2015 - 16:37
It may not feel like it at first, but choosing to send your team to DrupalCon is one of the best (and most important) decisions your business can make. While it may not immediately be clear what the ROI is for attending DrupalCon, the value of having your company’s employees at the event is huge. Here’s why. 1. Learn About Bleeding Edge Best Practices
Categories: Elsewhere

Drupal Watchdog: Responsive Themes

Tue, 23/06/2015 - 16:23

In 2010, Ethan Marcotte published his seminal article, “Responsive Web Design,” and the way we build web sites was forever changed. Although Drupal 7 came out at the beginning of 2011, there was nothing in core to support the themers who wanted to build responsive websites. By 2012, all of the popular base themes offered a stable release which included a responsive starting point. As of Drupal 8, the core themes, and the administrative interface, will be responsive – making Drupal usable at any viewport width.

The original tenets of responsive web design had three directives:

  1. Use a fluid grid to lay out page elements.
  2. Make images flexible, and responsive to their parent container.
  3. Use media queries to specify which styles should be assigned for any given viewport width.

In practice, it has been a lot more complicated to implement these guidelines so that they work across devices and are respectful of the slower connection speeds we often experience on mobile devices.

In this article we'll take a look at how to implement each of these three principles in your Drupal 8 themes. The article was written against Drupal 8.0-alpha13. Some things are likely to have changed between now and Drupal 8's official release. Where possible, I've noted where this might be the case.

Fluid Grids

Out of the box Drupal 8 does not provide any support for a universal fluid grid. It does, however, provide the cleanest, most semantic markup of any version of Drupal to date. Markup is almost entirely contained in template files, and the theme function has been virtually eliminated from core. All of these changes were accomplished by the team working to convert Drupal from PHPTemplate to Twig. As a result, it will be significantly easier to drop in your grid layout system of choice – whether it is custom built, or part of a framework such as Bootstrap or Foundation.

Working with a base theme is still, of course, an option for you. As of this writing, there are no base themes with a completely functional Drupal 8 release; however, a few have Drupal 8 branches if you'd like to help with their upgrade process.

Categories: Elsewhere

ThinkShout: Introducing the ThinkShout Interns

Tue, 23/06/2015 - 16:00

We are thrilled to introduce ThinkShout’s very first interns! In partnership with the Drupal Association, we will be working with two graduates of Epicodus’ first PHP class, Daniel Toader and Bojana Skarich. We’re very excited to welcome them to our offices, and the Drupal Community. They'll both be spending time at the Drupal Association's headquarters as well as ours. They've already mastered the art of posing for ThinkShout photos...

Without further ado, meet our interns!

Daniel Toader

Daniel worked previously as a systems analyst for Microsoft and an insurance company before he decided to dive into code. He’s a University of Washington graduate with a degree in informatics. He got his first taste of code while in school. After several years of extensive traveling, Daniel decided it was time to take the plunge into web development, so he brushed up on his Javascript and enrolled in Epicodus. He hopes to someday work as a backend developer.

Favorite snack: Pretzels and beer.

Favorite word: Supercalifragilisticexpialidocious

Bojana Skarich

Bojana comes to us with a background as a public librarian. She’s an Americorp grad with a passion for technology, especially when it’s used for social good. She turned to Epicodus when she decided she wanted to pursue a career in web development development. Front end development is her forte, and she dreams of one day building data-driven websites. She loves Drupal and is looking forward to getting more involved with the community.

Favorite mythical creature: Griffin

Favorite tree: Silver birch

Welcome, Daniel and Bojana! We're so happy we could be a part of your continued Drupal education.

Categories: Elsewhere

Drupalize.Me: Using Tail to Debug Drupal Sites

Tue, 23/06/2015 - 15:04
Tail is command for Unix and Unix-like systems (like OS X) that allows you to take a peek at the contents of the end of a file. From the manual page: "tail - output the last part of files." Tail can be really useful for debugging purposes, or for taking a look at the recent access_logs from your Drupal setup. Tail can be particularly useful in a production environment when you may not have PHP error reporting enabled, and need to find the cause of serious errors with your Drupal site.
Categories: Elsewhere

Dries Buytaert: Winning back the Open Web

Tue, 23/06/2015 - 10:58

The web was born as an open, decentralized platform allowing different people in the world to access and share information. I got online in the mid-nineties when there were maybe 100,000 websites in the world. Google didn't exist yet and Steve Jobs had not yet returned to Apple. I remember the web as an "open web" where no one was really in control and everyone was able to participate in building it. Fast forward twenty years, and the web has taken the world by storm. We now have a hundreds of millions of websites. Look beyond the numbers and we see another shift: the rise of a handful of corporate "walled gardens" like Facebook, Google and Apple that are becoming both the entry point and the gatekeepers of the web. Their dominance has given rise to major concerns.

We call them "walled gardens" because they control the applications, content and media on their platform. Examples include Facebook or Google, which control what content we get to see; or Apple, which restricts us to running approved applications on iOS. This is in contrast to the "open web", where users have unrestricted access to applications, content and media.

Facebook is feeling the heat from Google, Google is feeling the heat from Apple but none of these walled gardens seem to be feeling the heat from an open web that safeguards our privacy and our society's free flow of information.

This blog post is the result of people asking questions and expressing concerns about a few of my last blog posts like the Big Reverse of the Web, the post-browser era of the web is coming and my DrupalCon Los Angeles keynote. Questions like: Are walled gardens good or bad? Why are the walled gardens winning? And most importantly; how can the open web win? In this blog post, I'd like to continue those conversations and touch upon these questions.

Are "walled gardens" good or bad for the web?

What makes this question difficult is that the walled gardens don't violate the promise of the web. In fact, we can credit them for amplifying the promise of the web. They have brought hundreds of millions of users online and enabled them to communicate and collaborate much more effectively. Google, Apple, Facebook and Twitter have a powerful democratizing effect by providing a forum for people to share information and collaborate; they have made a big impact on human rights and civil liberties. They should be applauded for that.

At the same time, their dominance is not without concerns. With over 1 billion users each, Google and Facebook are the platforms that the majority of people use to find their news and information. Apple has half a billion active iOS devices and is working hard to launch applications that keep users inside their walled garden. The two major concerns here are (1) control and (2) privacy.

First, there is the concern about scale and control. These organizations shape the news that most of the world sees. When too few organizations control the media and flow of information, we must be concerned. They are very secretive about their curation algorithms and have been criticized for inappropriate censoring of information.

Second, they record data about our behavior as we use their sites (and the sites their ad platforms serve) inferring information about our habits and personal characteristics, possibly including intimate details that we might prefer not to disclose. Every time Google, Facebook or Apple launch a new product or service, they are able to learn a bit more about everything we do and control a bit more about our life and the information we consume. They know more about us than any other organization in history before, and do not appear to be restricted by data protection laws. They won't stop until they know everything about us. If that makes you feel uncomfortable, it should. I hope that one day, the world will see this for what it is.

While the walled gardens have a positive and democratizing impact on the web, who is to say they'll always use our content and data responsibly? I'm sure that to most critical readers of this blog, the open web sounds much better. All things being equal, I'd prefer to use alternative technology that gives me precise control over what data is captured and how it is used.

Why are the walled gardens winning?

Why then are these walled gardens growing so fast? If the open web is theoretically better, why isn't it winning? These are important questions about future of the open web, open source software, web standards and more. It is important to think about how we got to a point of walled garden dominance, before we can figure out how an open web can win.

The biggest reason the walled gardens are winning is because they have a superior user experience, fueled by data and technical capabilities not easily available to their competitors (including the open web).

Unlike the open web, walled gardens collect data from users, often in exchange for free use of a service. For example, having access to our emails or calendars is incredibly important because it's where we plan and manage our lives. Controlling our smartphones (or any other connected devices such as cars or thermostats) provides not only location data, but also a view into our day-to-day lives. Here is a quick analysis of the types of data top walled gardens collect and what they are racing towards:

On top of our personal information, these companies own large data sets ranging from traffic information to stock market information to social network data. They also possess the cloud infrastructure and computing power that enables them to plow through massive amounts of data and bring context to the web. It's not surprising that the combination of content plus data plus computing power enables these companies to build better user experiences. They leverage their data and technology to turn “dumb experiences” into smart experiences. Most users prefer smart contextual experiences because they simplify or automate mundane tasks.

Can the open web win?

I still believe in the promise of highly personalized, contextualized information delivered directly to individuals, because people ultimately want better, more convenient experiences. Walled gardens have a big advantage in delivering such experiences, however I think the open web can build similar experiences. For the open web to win, we first must build websites and applications that exceed the user experience of Facebook, Apple, Google, etc. Second, we need to take back control of our data.

Take back control over the experience

The obvious way to build contextual experiences is by combining different systems that provide open APIs; e.g. we can integrate Drupal with a proprietary CRM and commerce platform to build smart shopping experiences. This is a positive because organizations can take control over the brand experience, the user experience and the information flow. At the same time users don't have to trust a single organization with all of our data.

The current state of the web: one end-user application made up of different platform that each have their own user experience and presentation layer and stores its own user data.

To deliver the best user experience, you want “loosely-coupled architectures with a highly integrated user experience”. Loosely-coupled architectures so you can build better user experiences by combining your systems of choice (e.g. integrate your favorite CMS with your favorite CRM with your favorite commerce platform). Highly-integrated user experiences so can build seamless experiences, not just for end-users but also for content creators and site builders. Today's open web is fragmented. Integrating two platforms often remains difficult and the user experience is "mostly disjointed" instead of "highly integrated". As our respective industries mature, we must focus our attention to integrating the user experience as well as the data that drives that user experience. The following "marketecture" illustrates that shift:

Instead of each platform having its own user experience, we have a shared integration and presentation layer. The central integration layer serves to unify data coming from distinctly different systems. Compatible with the "Big Reverse of the Web" theory, the presentation layers is not limited to a traditional web browser but could include push technology like a notification.

For the time being, we have to integrate with the big walled gardens. They need access to great content for their users. In return, they will send users to our sites. Content management platforms like Drupal have a big role to play, by pushing content to these platforms. This strategy may sound counterintuitive to many, since it fuels the growth of walled gardens. But we can't afford to ignore ecosystems where the majority of users are spending their time.

Control personal data

At the same time, we have to worry about how to leverage people's data while protecting their privacy. Today, each of these systems or components contain user data. The commerce system might have data about past purchasing behavior, the content management system about who is reading what. Combining all the information we have about a user, across all the different touch-points and siloed data sources will be a big challenge. Organizations typically don't want to share user data with each other, nor do users want their data to be shared without their consent.

The best solution would be to create a "personal information broker" controlled by the user. By moving the data away from the applications to the user, the user can control what application gets access to what data, and how and when their data is shared. Applications have to ask the user permission to access their data, and the user explicitly grants access to none, some or all of the data that is requested. An application only gets access to the data that we want to share. Permissions only need to be granted once but can be revoked or set to expire automatically. The application can also ask for additional permissions at any time; each time the person is asked first, and has the ability to opt out. When users can manage their own data and the relationships they have with different applications, and by extension with the applications' organizations, they take control over their own privacy. The government has a big role to play here; privacy law could help accelerate the adoption of "personal information brokers".

Instead of each platform having its own user data, we move the data away from the applications to the users, managed by a "personal information broker" under the user's control.

The user's personal broker manages data access to different applications.


People don't seem so concerned about their data being hosted with these walled gardens since they've willingly given it to date. For the time being, "free" and "convenient" will be hard to beat. However, my prediction is that these data privacy issues are going to come to a head in the next five to ten years, and lack of transparency will become unacceptable to people. The open web should focus on offering user experiences that exceed those provided by walled gardens, while giving users more control over their user data and privacy. When the open web wins through improved transparency, the closed platforms follow suit, at which point they'll no longer be closed platforms. The best case scenario is that we have it all: a better data-driven web experience that exists in service to people, not in the shadows.

Categories: Elsewhere

Drupal Association News: Homepage Sponsorship

Tue, 23/06/2015 - 00:52

In the next couple of weeks we'll be launching a new sponsorship opportunity for Drupal Supporters on the homepage of  The following is background information and a proposal for the program.  We would like a period of public community feedback. Feedback is open until the 6th of July. At that time, we will incorporate the feedback into the sponsorship program plan.


The Drupal Association has been creating advertising programs on in an effort to do more to serve our mission, and to take the pressure off of DrupalCons to perform financially.  We’ve been working to develop advertising products that are meaningful for advertisers, deliver value to the community, and are respectful of users contributing to the project. 

About the Program

The Homepage Sponsorship will highlight partners who support the community through Drupal Supporter Programs.  This includes Supporting Partners, Hosting Supporters and Tech Supporters.  The sponsorship will display in the 300 x 250 ad block that already exists on the homepage.   The creative template is designed and maintained by the Association.  The featured supporter will provide a logo, body copy, button copy, and a link to that will direct to their website.  We will display the partner’s supporter badge, and eventually, pass in any applicable organization credits.

The idea for the Homepage Sponsorship originates from the rewards mechanism that Dries discussed in his DrupalCon Amsterdam 2014 Keynote.  His vision involves building a system that creates an incentive for Drupal companies to contribute to the project by rewarding them with benefits and giving recognition. 

There is a larger project in motion which includes the Drupal Association building commit credits for organizations, and developing the algorithm to apply a value to the credits.  The Homepage Sponsorship is one potential reward that will eventually feed into the system.  Until that larger project is complete, the Homepage Sponsorship will be available for purchase by Drupal Supporters.  It will be sold in one week increments, giving the partner 100% of the page views during the campaign.  The program will expand recognition for those organizations who already give back, and will encourage more organizations to participate in Supporter Programs.

Homepage Sponsorship Mock

Advertising Guidelines for

The Drupal Association interviewed representatives of the Drupal Community to help guide our advertising strategy and ensure a positive advertising experience on  We developed informal guidelines; for example, advertising is not appropriate in issue queues, and when possible, products should monetize users who are logged out and not contributing to the Project.  After we received feedback on our most recent program - Try Drupal, we started work on formalizing these guidelines for advertising on 

We created an issue to share a draft advertising policy developed by the Association and Content Working Group.  The policy will set guidelines for how we advertise - addressing issues like the labeling of ads, content guidelines, etc. with the aim of providing an advertising experience that complements and supports our community values. Whatever decisions are made in that policy will be applied to existing programs, including the Homepage Sponsorship and Try Drupal program.

Talk To Us

We want your input about the Homepage Sponsorship.  Please comment on this post, or in the issue, with your questions and insights.


AttachmentSize HP Sponsor Mock-small.png130.36 KB
Categories: Elsewhere

Commerce Guys: The Case for a Unified Customer Experience and Content-Driven Commerce

Mon, 22/06/2015 - 22:35

Commerce Guys has been promoting the value of content-driven commerce for many years, and we are thrilled to see more and more people talking about this continued transformation in the eCommerce market. One company that has recognized this important trend is Forrester Research, who makes a strong and compelling case in their "Content And Commerce: The Odd Couple Or The Power Couple?". In particular, they point out that companies who differentiate themselves by providing a unified user experience to tell their story should consider a tightly integrated solution that provides both a rich Content Management System (CMS) and a flexible eCommerce transactional />
Today there is almost no barrier to selling online, making it increasingly difficult for companies to differentiate themselves online, create a strong web presence, and attract customers. The solution for many will be to focus more on creating unique user experiences, supported by interesting content, which allows their users to execute transactions anywhere along the buying journey within the context of that information. The challenge today is that this experience requires CMS and eCommerce to work together seamlessly. Unfortunately most companies manage these two functions separately with two distinct systems. This approach results in added complexity and a disjointed and inconsistent user experience that is confusing to users and damages their brand.

According to Forrester, "the convergence of content and commerce platforms is already well underway. [They] expect that these two solution categories to be foundational elements in digital customer experience management"1. They go on to say that "In an ideal world, commerce and content platforms would have fully converged into customer experience management platforms, with commerce services seamlessly exposed through best-in-class digital engagement tools and supported by social, testing, and content management services." - "But this ideal isn’t likely to exist in the near future"1.

Drupal + Drupal Commerce Provides Seamless Content & Commerce

The future is NOW - and the reality is that Drupal + Drupal Commerce is the only platform with commerce natively embedded in a CMS, offering a seamless digital experience management solution with a single code base, administration, and database.

Why is this not more widely known?

While this may be news to many, Drupal Commerce has been around for over 5 years and has over 57k active sites. It consists of core and contributed modules, support by Commerce Guys and the broader community, that can be dropped into Drupal (which itself has been around for 10+ years and has over 5 million active sites) allowing transactions to occur anywhere within the user experience created. Contextual relationships between content and products are extremely easy to create - something that is hard to do when you bolt together separate CMS and eCommerce platforms. A great example of the power of Drupal + Drupal Commerce is which helps Lush in the UK tell their story, engage their customers, and sell more product.

Who Benefits from a Content & Commerce Solution?

Potentially everyone, but in particular are brands who benefit from a differentiated user experience that enables them to tell their story through interesting content and community engagement driving sales within the context of that experience. In addition, existing Drupal sites looking to add transactional capabilities is another obvious fit. With an existing investment in technology, skills and content, there is no better choice than to "drop in" commerce functionality, through Drupal Commerce modules, anywhere. Integrating with a separate eCommerce solution and bolting it onto Drupal is a common approach and certainly possible, but the result is added complexity, cost and valuable customer information that is spread out across multiple systems. Two systems makes it harder to create a level of contextualization and a unified experience that buyers are looking for. Given the increasing importance of targeting and personalizing content and offers and knowing your customer, having customer information in one place allows companies to merchandise more effectively.

What Should You Do?

Read the Forrester report. They get it right, and they are one of a growing number of analysts talking about the value of content-driven commerce.   2. Don't get stuck on features. Yes, they are important, but they will also change, and you need a solution that will adapt and allow you to take advantage of new ideas quickly. Instead, consider how your business will benefit by creating an experience that keeps your customers coming back and makes it easy for them to buy.   3. If you think your business would benefit from a richer user experience, or if you just want to simplify your infrastructure with a single platform that can serve both your content and commerce needs, take a look at Drupal Commerce - you will be pleasantly surprised by what you see. -----
1. Stephen Powers, Peter Sheldon with Zia Daniell Wigder, David Aponovich, Rebecca Katz Content And Commerce: The Odd Couple Or The Power Couple? How To Choose Between Using A Web Content Management Solution, An eCommerce Platform, Or Both (Forrester, November 19, 2013) 11,14


Categories: Elsewhere

Blink Reaction: Building Native Apps - Part 5

Mon, 22/06/2015 - 21:29
Building Native Mobile Apps with Ionic Framework and Drupal Back-end: Add User Authentication

Today I will show how to authorize a user in your mobile app with a Drupal website. First of all we should configure Drupal to allow REST authentication, so go to /admin/structure/services and click the “Edit” link opposite of your service name. Here, check the “Session authentication” option and save. Next go to the resources tab and edit user resource alias and check off the following options for it: login, logout, token, and register.

Also, we should check the user registration settings on /admin/config/people/accounts to allow new user registration by visitors, and account activation without email or admin confirmation.

To login a user with the services module, we must do following steps:

  1. Send GET request to /services/session/token.

  2. Get the response with CSRF token.

  3. Send POST request with username, password with token received before in X-CSRF-Token header to /user/login endpoint.

  4. Receive an object with user data and new CSRF token on login success or error code with a message on login fail.

To log out a user, we have to send POST request to /user/logout with X-CSRF-token header, that contains the token which we receive on login.

And to register a new user we send a POST request to /user/register API URL with user data. As a response we should get a new user object and error status message on registration fail. The minimum data required for a user registration is username, e-mail address, and password, but we should add a status equal to 1, to immediately make a new account active, ready for use.

In-app integration

It is good practice to save some data on a device to prevent the user from manually editing any information that is needed every time that we run application. We should use Local Storage to store user login status, tokens from the last login time and user data. AngularJS has some modules to add to Local Storage support for an application; I chose angularLocalStorage. It also has a cookie fallback and uses the ngCookies module for it.

So we should download these two modules and plug them in our index.html file.

gist link

Next we should define the UI Router state for account tab, angularLocalStorage module dependency in our app.js file and add local storage prefix constant, we will add it to our config constant.

gist link

In the services.js file we will create a new factory called User. This will contain a list of methods to work with user operations on the REST server, and to save / delete user data from local storage. We use $rootScope services to have access to login status and user information from any part of the application.

gist link

In tabs.html we add an Account tab link.

gist link

Let’s create a tab-account template. Here we should show the following: for an unauthorized user, show login and register buttons that will open a popup form for each action; and for a logged-in (authorized) user, show information about user and a logout button. To show these parts of the template conditionally, we use the ng-show directive and loginSuccess variable that are stored globally in $rootScope.

gist link

To show popups with login/register forms we should use $ionicModal service, which comes with Ionic Framework core. We must create templates for each modal window: login.html and register.html.

gist link

gist link

Finally, we should define a controller for each (login and register) popup. We initialize a new $ionicModal instance and set a template for it, creating methods to open and close the modals, and doLogin, doLogout and doRegistration actions. It will be easy to handle any error message because our User Factory methods return promises. Also, we should save user information to Local Storage and send requests to the server only if it is necessary.

gist link

You can clone and try all this code from my GitHub repository, and to get the code of this part, checkout the part5 branch (just run “git checkout -f part5”). Now we can test the application in a browser - run “ionic serve” prompt command from the project directory and see the result of our work.

Tomorrow, I will add comments to articles and ability to post a comment for logged in users.

DrupalBest PracticesDrupal How toDrupal PlanetLearning SeriesTechnology ToolsPost tags: IonicAppsDrupal
Categories: Elsewhere

Nextide Blog: Maestro How-To: Fire a Workflow After Saving Content with Rules

Mon, 22/06/2015 - 21:02

A very common use-case for Maestro is to launch a workflow in order to moderate some piece of content. You may have an expense form as a content type and you wish to have a manager review and approve it before handing it off to other departments for processing.

This post will show you how to fire off a moderation workflow after saving content with Rules.


Step 1: Create a simple test flow

I know you have a super-ultra-complex workflow, but this is best to get off the ground with a simple 1 step flow for the time being!


Categories: Elsewhere

Urban Insight: Using SPARQL and Linked Open Data For Content Blocks on Your Drupal 7 Website

Mon, 22/06/2015 - 18:00

The content that you display on your Drupal site doesn’t necessarily have to be content that you own or store in your own database. In addition to your own content, there could be various use cases and methods for dynamically displaying data from outside sources and displaying it on your site.

Categories: Elsewhere

J-P Stacey: Architecting a Drupal 7 module into multiple files

Mon, 22/06/2015 - 16:42

In the Drupal modules that I inherit or review, I see a lot of different ways of factoring out into separate files, of what might have begun in the main module file. This can be useful for performance (to a limited extent) and legibility, but depending on how you do it, you might end up ironically spoiling both.

How should you break down your Drupal module files? Well, I'm not here to tell you the perfect file breakdown. Matching the architecture is good, although what "the architecture" means in Drupal 7 isn't clear. Outside of a Drupal 8/Symfony-style architectural model, there's a limit to how much the file breakdown really needs to match the architecture, and a limit to how useful doing so would be.

Read more of "Architecting a Drupal 7 module into multiple files"

Categories: Elsewhere

BlackMesh: Summer Drupal 8 Sprints

Mon, 22/06/2015 - 16:03

Sprints are times dedicated to focused work on a project or topic. People in the same location (physical space, IRC, certain issue pages) work together to make progress, remove barriers to completion, and try to get things to "done".

This summer, there are many Drupal 8- focused sprint opportunities before DrupalCon Barcelona.

Some of these are open to everyone, some have mentors or workshops to help new contributors, some have limited space, depending on the event.

Earlier this summer

DrupalCon Los Angeles had very productive extended sprints, and the main sprint on Friday was huge! Since then, many sprints have continued the progress, including: Drupal Camp Spain, DrupalCamp Wroclaw, Moldcamp in Chișinău, Moldova, and Frontend United.

And, we had two sprints (New Hampshire and New Jersey) aided by Drupal 8 Accelerate. If you have more money than time for sprinting or resources for planning or hosting a sprint, and you want to help get Drupal 8 out, giving to D8 Accelerate really helps.

New Hampshire, USA

The Drupal 8 critical meta issue on SafeMarkup was a focus of the New Hampshire, USA sprint.

(photo: @Cottser)

Jersey Shore Sprint, New Jersey, USA

crowdcg, kgoel, cilifen, jcloys (who got a first Drupal Core commit mention), akalata, davidhernandez, Ryan Weal.
(photo: pwolanin, cropped)

Continuing from the New Hampshire sprint, a main focus of the Jersey Shore sprint was the Drupal 8 critical meta issue on SafeMarkup. (I was there too.)

Coming soon! Go to one! June 25-28, 2015
Twin Cities Drupal Camp, Minneapolis, Minnesota, USA
@TCDrupal #TCDrupal

Sprints are concurrent with the training day on Thursday, and concurrent with sessions Friday and Saturday. The dedicated sprint day is on Sunday. We are expecting about 10 people on Thursday and 60 people on Sunday. Sunday will have a workshop for new contributors, Core/Contrib sprints, and a Drupal 8 Manual sprint.

See the sprint page on the site for details.

June 25-28, 2015
Drupal North, Toronto, Canada

Sunday is a dedicated Drupal 8 sprint day. There will be a small unofficial sprint on Thursday.

The whole 4 day camp is focused on Drupal 8.

June 28, 2015
Antwerp, Belgium

This is a dedicated one day sprint to help get Drupal 8 out.

See the announcement for details.

July 2-8, 2015
D8 Accelerate critical issue sprint, London

This 7 day sprint will be focused on Drupal 8 critical issues and space is limited.

See the post for details.

July 4, 2015
DrupalCamp Bristol, United Kingdom
@DrupalCampBris #dsbristol

Sprints will run concurrent with sessions on Saturday.

July 16-19, 2015
NYC Camp, New York, USA
@NYCCamp_org #NYCCamp

Monday to Wednesday are sprint only days, with Drupal 8 Core and Media for Drupal 8 scheduled. Panopoly is scheduled for Tuesday and Wednesday. Sprints will also be concurrent with trainings, summits, and sessions on Thursday through Sunday.

See the sprint page on the site and the schedule for details.

July 22-26, 2015
DrupalCamp North, Sunderland, United Kingdom

Wednesday to Friday are dedicated extended sprint days and there will also be a sprint room at the camp concurrent with sessions on Saturday and Sunday.

July 22-26, 2015
GovCon, Bethesda, Maryland, USA
@DrupalGovCon #DrupalGovCon

GovCon conference is July 22-24 with sprints concurrent with sessions, but there will be two dedicated sprint days following on Saturday and Sunday, July 25 and 26 in Washington, DC at the ForumOne offices.

August 6-9, 2015
Drupalaton, Hungary
@Drupalaton #Drupalaton

Sprints will be concurrent with the camp all days.

Last year was super focused and relaxing.

August 12-15, 2015
MidWest Developers Summit (MWDS), Chicago, Illinois, USA

4 days of only sprinting, hosted in the offices.

Details still to be announced. See the event page for more details.

September 11-18, 2015
Montréal to Barcelona Sprint, Montréal, Canada

For some people in North America, Montréal could be on the way to Barcelona, where DrupalCon extended sprints start September 19.

See the event page for more details.


I will be at Twin Cities, GovCon, and MWDS.

Thanks to @klobutschar for fast changes to to show the sprints even better.

Thanks to @mparker_17, @da_wehner, @ievauzule, @zsofimajor, @royscholten, @adshill, @ryan_weal, @kristen_pol, @emma_maria88, @opdavies, and @davidnarrabilis for helping me find more events.

Drupal PlanetDrupalSprints
Categories: Elsewhere

InternetDevels: DrupalTour siteseeing

Mon, 22/06/2015 - 15:38

If you want pizza you can either go to cafe or order delivery, right? So why should Drupal be different? :) We made Drupal delivery possible to any Ukrainian city with DrupalTour!

Read more
Categories: Elsewhere

Annertech: Tough at the top (of Google) - Content Strategy, SEO, and Low Bounce Rates

Mon, 22/06/2015 - 12:44
Tough at the top (of Google) - Content Strategy, SEO, and Low Bounce Rates

Annertech is #1 on Google for a number of key search phrases and when we're not, we're usually only beaten by the Drupal Ireland page from g.d.o. ( How did we get to the top of Google? How do we stay there? Two words: hard work - but it really revolves around two other words: content strategy. Let's get down to the details.

Categories: Elsewhere

LevelTen Interactive: DrupalCon LA 2015 Video: Mediacurrent Interview

Mon, 22/06/2015 - 07:00

In last weeks' DrupalCon interview, we featured Percona.... Read more

Categories: Elsewhere

Midwestern Mac, LLC: DrupalCamp St. Louis 2015 finished, session videos available online!

Sun, 21/06/2015 - 20:28

DrupalCamp St. Louis 2015 was held this past weekend, June 20-21, 2015, at SLU LAW in downtown St. Louis. We had nine sessions and a great keynote on Saturday, and a full sprint day on Sunday.

The view coming off the elevators at SLU LAW.

Every session was recorded (slides + audio), and you can view all the sessions online:

The Camp went very well, with almost sixty participants this year! We had a great time, learned a lot together, and enjoyed some great views of downtown St. Louis (check out the picture below!), and we can't wait until next year's DrupalCamp St. Louis (to be announced)!

Categories: Elsewhere

Wim Leers: Eaton & Urbina: structured, intelligent and adaptive content

Sun, 21/06/2015 - 20:08

While walking, I started listening to Jeff Eaton’s Insert Content Here podcast episode 25: Noz Urbina Explains Adaptive Content. People must’ve looked strangely at me because I was smiling and nodding — while walking :) Thanks Jeff & Noz!

Jeff Eaton explained how the web world looks at and defines the term WYSIWYG. Turns out that in the semi-structured, non-web world that Noz comes from, WYSIWYG has a totally different interpretation. And they ended renaming it to what it really was: WYSIWOO.

Jeff also asked Noz what “adaptive content” is exactly. Adaptive content is a more specialized/advanced form of structured content, and in fact “structured content”, “intelligent content” and “adaptive content” form a hierarchy:

  • structured content
    • intelligent content
      • adaptive content

In other words, adaptive content is also intelligent and structured; intelligent content is also structured, but not all structured content is also intelligent or adaptive, nor is all intelligent content also adaptive.

Basically, intelligent content better captures the precise semantics (e.g. not a section, but a product description). Adaptive content is about using those semantics, plus additional metadata (“hints”) that content editors specify, to adapt the content to the context it is being viewed in. E.g. different messaging for authenticated versus anonymous users, or different nuances depending on how the visitor ended up on the current page (in other words: personalization).

Noz gave an excellent example of how adaptive content can be put to good use: he described how we he had arrived in Utrecht in the Netherlands after a long flight, “checked in” to Utrecht on Facebook, and then Facebook suggested to him 3 open restaurants, including cuisine type and walking distance relative to his current position. He felt like thanking Facebook for these ads — which obviously is a rare thing, to be grateful for ads!

Finally, a wonderful quote from Noz Urbina that captures the essence of content modeling:

How descriptive do we make it without making it restrictive?

If it isn’t clear by now — go listen to that podcast! It’s well worth the 38 minutes of listening. I only captured a few of the interesting points, to get more people interested and excited.1

What about adaptive & intelligent content in Drupal 8?

First, see my closely related article Drupal 8: best authoring experience for structured content?.

Second, while listening, I thought of many ways that Drupal 8 is well-prepared for intelligent & adaptive content. (Drupal already does structured content by means of Field API and the HTML tag restrictions in the body field.) Implementing intelligent & adaptive will surely require experimentation, and different sites/use cases will prefer different solutions, but:

  • An intelligent_content module for Drupal 8: allow site builders/content strategists to define custom HTML tags (e.g. <product_description>) to capture site-specific semantics. A CKEditor Widget could hugely simplify the authoring experience for creating intelligent content, by showing a specific HTML representation while editing (WYSIWOO!), thanks to HTML (Twig) templates associated with those custom HTML tags.
  • An adaptive_content module for Drupal 8: a text filter that allows any tag to be wrapped in a <adaptive_content> tag, which specifies the context in which the wrapped content should be shown/hidden.
  • The latter leads to cacheability problems, because the same content may be rendered in a multitude of different ways, but thanks to cache contexts in Drupal 8 and the fact that text filters can specify cache contexts means adaptive content that is still cacheable is perfectly possible. (This is in fact exactly what it was intended for!) cache contexts

I think that those two modules would be very interesting, useful additions to the Drupal ecosystem. If you are working on this, please let me know — I would love to help!

  1. That’s right, this is basically voluntary marketing for Jeff Eaton — you’re welcome, Jeff! 

  • Drupal
  • structured content
Categories: Elsewhere

Blue Drop Shop: Camp Record Beta Test Four: DrupalCamp STL 2015

Sun, 21/06/2015 - 17:58

Following a successful MidCamp and with some new ideas how to improve the kit, I was eager to hit the road for more testing. Problem is, I'm a freelancer with a limited budget, and getting to camps comes out of my own pocket. On a lark, I tweeted the following:

Planning a #drupalcamp and need your sessions recorded? Sponsor me & I will record your sessions. Ping me! #drupal /cc @drupalstl @tcdrupal

— Kevin Thull (@kevinjthull) April 8, 2015

To my delight, both Twin Cities and St. Louis camps took me up on my offer. Of course, the stakes are even higher now, because it's no longer my own money on the line.

But I'm also feeling more confident about this solution and improve on the process with each camp. Connecting to non-HDMI-capable laptops remains the biggest challenge overall. I've added in a couple (full) DisplayPort to HDMI converters and even successfully tested a new VGA to HDMI converter that got my ancient Sony VAIO to display on my home flatscreen:

The new VGA to HDMI converter shows promise. My ancient Sony Vaio WinXP laptop just connected! #drupalcamp

— Kevin Thull (@kevinjthull) June 16, 2015

And at DrupalCamp STL I finally got the 100% success rate that I've been shooting for! Three sessions needed fixing in post, but overall, this camp went very smoothly. A huge bonus was the fact that the two rooms were next to each other, minimizing the distance to cover when trying to coordinate laptop hookups and verify timely starts and stops of the records.

Twin Cities is next week, with a much more challenging schedule: five concurrent sessions across two buildings and multiple floors. My Fitbit will likely hit a new high. That, and I need to finally get down to some documentation and podium signage. It's time to share the knowledge I've gained and get more hands and minds involved.

And now for the learnings from DCSTL:

  • swapping thumb drives throughout the day means recordings can be posted during camp
  • well-timed presenter starts/stops means no trimming, which means more recordings can be posted during camp
  • one room had screen flicker and setting the PVR resolution to 1080 helped (typically, the resolution needs to come down to 720 for this, as well as fixing color shifts)
  • having extra SD cards means bad audio can be fixed during down times, which means more recordings can be posted during camp
  • power strips at the podium shouldn't be assumed, and the powered USB hub and voice recorder both have short plugs
  • never plug the powered usb into the laptop, because that can kill your record if resolution changes or the laptop goes to sleep
  • taping down individual components means less cord chaos throughout the day
  • access to ethernet port with a reasonably large pipe going up will get videos posted faster
Categories: Elsewhere

Drupal core announcements: Requiring hook_update_N() for Drupal 8 core patches beginning June 24

Sat, 20/06/2015 - 02:58

In [policy, no patch] Require hook_update_N() for Drupal 8 core patches beginning June 24, the Drupal 8 release managers outline a policy to begin requiring hook_update_N() implementations for core patches that introduce data model changes starting after the next beta release. The goal of this policy change is to start identifying common update use-cases, to uncover any limitations we have for providing update functions in core, and to prepare core developers for considering upgrade path issues as we create the last few betas and first release candidates of Drupal 8. We need your help reviewing and communicating about this proposed policy, as well as identifying core issues that will be affected. Read the issue for more details.

Categories: Elsewhere