Lullabot: Porting Drupal 7 modules to Backdrop

Planet Drupal - mer, 11/03/2015 - 20:00

Note: this article assumes some experience working with Drupal modules and doesn't profess to be a general introduction to writing a Drupal or Backdrop module from scratch.

Now that an official release of Backdrop CMS is available, we have the opportunity to examine this fork of Drupal more closely, and evaluate its appropriateness for projects. It’s impossible to evaluate Backdrop’s feasibility without having an understanding of the level of effort involved in porting modules.

Catégories: Elsewhere

Drupal for Government: Drupal at PVCC, Pantheon, and GWAR!

Planet Drupal - mer, 11/03/2015 - 19:16

Just finished up the first Drupal 7 class at Piedmont Virginia Community College and had a blast... not the least because Russel Bahorsky - founding member of GWAR was there...  to be clear I'm the dude who's really stoked to have some GWAR in a classroom, and Russ is a mellow dude who actually helped start GWAR!  Also a special thanks to Valarie Palamountain, Pat O'Rourke, and Jessica Speth at PVCC who got this class (and me) through the process - they're a great group to work with. 

Catégories: Elsewhere

Drupal Association News: What's new on Drupal.org - February 2015

Planet Drupal - mer, 11/03/2015 - 18:22

One of our long standing traditions here in the Drupal Association was to give community regular updates on the latest Drupal.org related activities in a form of week notes posts. We’ve been publishing those for over 2.5 years now and it feels like the time has come for a slight change in the format.

From now on we’ll publish monthly ‘What’s new on Drupal.org’ posts, which will showcase new and upcoming features, functionality and user experience improvements. We’ll schedule these around the public Board meetings, so that both the Board and community get the same information at the same time.

So here is our first update in this new format..

What’s new on Drupal.org: February 2015

Look for links to our Strategic Roadmap highlighting how this work falls into our priorities set by the Drupal Association Board and Drupal.org Working Groups.

Better account creation Account creation improvements

Account creation is now much more streamlined, quick, and lets people get back to the context they started from once the registration is done. Recently added 2nd step of registration allows us to prompt users to quickly and easily fill out the most important fields of their user profile, upload picture and sign up for Newsletters, before proceeding back to the task they were at before registering.

Newsletters signups right on your Drupal.org profile

While working on account creation improvements, we wanted to make it really easy for new users to see what kind of newsletters are available and sign up for the ones they are interested in. Previously only Mailman-powered newsletters were available for sign up on Drupal.org, while for the Drupal Association Newsletter we used MailChimp.

MailChimp allows us to send beautifully designed html emails, provides great content creation experience and detailed analytics. Thus we decided to standardize on one solution and migrate existing newsletters from Mailman to MailChimp. This is partially done, with Security Announcements and Maintainer News following soon.

MailChimp module is now installed on Drupal.org, and all various newsletters are available for sign up right on your user profile edit form. Users will also be able to unsubscribe from their profile or using the unsubscribe links provided through MailChimp.

Organization and user profile improvements Issue comment attribution and credits

Both issue comment attribution and issue credit UI are ready. At the beginning of March, we opened them for community testing. The feedback is pretty positive so far. Deployment is tentatively scheduled for March 12th.

Content Strategy and Redesign

The draft Drupal.org content model was presented to Working Group members and we are now collecting and incorporating feedback, while at the same time working on a more detailed outline of content and entity types. The outline will include detailed information about fields and settings, as well as view modes with wireframes per content type.

The next deliverable, which is about ready for Working Groups feedback is Content Governance Plan, which reflects the new content model and suggest some improvements in the way we govern content: create, edit, moderate, archive and delete.

The third deliverable, which is nearly done as well, is the Communication Channels Plan, which aims to answer the long standing question of “what is the one place I need to go to to find all important Drupal community news and announcements?”.

The next deliverable we are about to switch out focus to is the updated Drupal.org Site Map, which will reflect suggestions for better IA and navigation on *.drupal.org.

DrupalCI (community initiative and Drupal 8 blocker)

DrupalCI may move into a formal initiative in March as staff works to implement a production environment with the help of the community members that have been involved in the architecture and development.

The test runner is nearly working. Several major portions of the stack are in production—if not yet totally configured—as well as the PrivateTravis containers running php 5.4, 5.5, and 5.6 with mod_php. Overall, it is proceeding on track to have an MVP ready by the end of the sprint sponsored via Drupal 8 accelerate program, which is scheduled to take place at the end of March in Portland.

Revenue-related projects (funding our work) DrupalCon Los Angeles

On February 25th, registration for DrupalCon Los Angeles went live on the new Drupal Events (events.drupal.org) subsite. Events will be the primary site for all DrupalCon websites moving forward as well as the archive for past events. This will give us great flexibility with historical reporting and make maintenance and security releases for DrupalCon websites more efficient. It also means that any new feature development for DrupalCon websites now benefits all future con sites.

The first of those new features is a set of improvements to registration. We’ve streamlined the experience of purchasing a ticket both for individual users, but also for users who may be purchasing large blocks of tickets for their organization. There are three time-saving new registration features:

  1. Users can now copy their registration data from a previous ticket. This means that a user purchasing several kinds of tickets such as the DrupalCon ticket and a Business Summit ticket can save time entering fields. It also means that users attending future cons will be able to save time entering their registration data for the next Con.
  2. Someone purchasing a ticket on behalf of another attendee can now enter that attendee’s email address and a link to redeem the ticket will be sent to them. This saves the purchaser time, and allows the attendee to keep their registration data private.
  3. Finally someone purchasing a large block of tickets who does not yet know who will attend can now purchase reservation codes which can be given out to attendees to be redeemed.

We’re also working closely with our early registrants and DrupalCon sponsors to further streamline these new features.

Sustaining Support and Maintenance Elections 2015

In February, we spent some time polishing the nominations and voting functionality on assoc.d.o, which powers 2015 Drupal Association Board Elections. This year we have much better looking nomination pages, as well as more smooth voting process. Voting is open until March 20. Have you voted yet?


The Drupal.org download infrastructure (ftp.drupal.org) is undergoing an architecture refresh. Fastly has signed on as a Drupal.org Technology Supporter and the existing FTP mirror infrastructure is being dissolved in favor of the CDN backed by Drupal.org’s static web servers.

Server Density

Server Density (drupal.serverdensity.io) was selected as our replacement for Nagios alerting and Munin graphing. Server Density provides us with an alternative to OSL’s shared Nagios and Munin instances, and does not require us to host and manage our own internal monitoring service. Server Density also supports Nagios checks and integrates nicely with our existing infrastructure.

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

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

Personal blog tags: whats new on Drupal.org
Catégories: Elsewhere

SitePoint PHP Drupal: Creating Custom Field Formatters in Drupal 8

Planet Drupal - mer, 11/03/2015 - 17:00

With the introduction of annotated plugins, a lot has changed in Drupal 8. We have a more streamlined approach to describing and discovering pieces of functionality that extend the core. Along with many other components, the former Field API (part of the larger and consolidated Entity API) is now based on plugins.

In this tutorial we will go through defining a custom field formatter for an existing field (image). What we want to achieve is to make it possible to display an image with a small caption below it. This caption will be the title value assigned to the image if one exists.

The code we write here can be found in this repository as the image_title_caption module. But let’s see how we can get to that final result.

The module

Let us start by creating a new custom module (image_title_caption) with only one file:


name: Image title caption type: module description: Uses the image title field as a caption core: 8.x dependencies: - image

Nothing out of the ordinary here. We can even enable the module already if we want.

Continue reading %Creating Custom Field Formatters in Drupal 8%

Catégories: Elsewhere

IXIS: Senior Drupal Support Engineer Position

Planet Drupal - mer, 11/03/2015 - 16:48

Come and join our well established UK team as a senior Drupal support engineer. We support interactive sites and applications of all kinds, so every client can offer different challenges and solutions each month.

You'll have the opportunity to be involved with projects ranging from international brands, enterprise public sector organisations through to charities and media sites. We also run several internal projects which you'll have chance to provide input and development for if you wish - this is where we often experiment with new ideas, techniques and technologies first!

The technical skills we're looking for:

  • Excellent knowledge of Drupal & its configuration.
  • Extensive experience with Panels, Views, Features.

read more

Catégories: Elsewhere

DrupalDare: Visual Form Alter

Planet Drupal - mer, 11/03/2015 - 15:15
I recently found a thread on Reddit asking how to update the description field of a specific form. I would usually solve this myself by doing a module. When the thread was not answered for a long time for some reason I started Googling ways to solve this. While there exists some ways to solve the specific question I could not find a single module in Drupal 7 that lets you do a form_alter directly into the system. So I created a module.
Catégories: Elsewhere

Pronovix: The case for a vehicle sharing distribution in Drupal

Planet Drupal - mer, 11/03/2015 - 15:01

If we want to prevent a global climate disaster we have to act now! That is what Robin Chase, the cofounder and the first CEO of Zipcar, told us last year at NYCcamp. But she didn’t just give a speech about our impending doom, after pressing the urgency she went on to give a really inspiring talk about the power that we, the Drupal community have to do something about it: we have the tools and the people. Collectively we have proven over and over again that we care about more than just our own profit and Drupal is technologically also a great framework to make the tools that can catalyse global change.

Catégories: Elsewhere

Addison Berry: How to Vote for Drupal Association Board Members

Planet Drupal - mer, 11/03/2015 - 13:14

The Drupal Association (DA) At-large Board seat is now open for voting. The polls will remain open through March 20th. (Note: I couldn't find this written down, but I believe this means until 11:59pm UTC on the the 20th.) To be eligible to vote, you need to have a Drupal.org account already, and to have logged into it at least once in the last year.

Before you dive into the voting, you should probably review the candidates and sort out at least who are your top three picks. You can read individual nominations on the candidates listing page, and you can find recordings for three different "meet the candidates" sessions listed in the sidebar of that same page. Here is my profile, and this is the recorded session I took part in. Don't forget that you can also ask candidates questions in the comments on our profiles. The reason you want to pick at least a few top candidates is due to the way the voting actually happens.

The DA uses the instant-runoff voting system, also known as the alternative voting system, which is a pretty neat way to do your voting. You can dive into the details of it by reading the Wikipedia article, or watching a quick YouTube video about how it works and comparing it to the more common voting system. The short of it is that instead of picking just one person you want to vote for, you get to rank the candidates in order of preference. Essentially you can pick "fall-back" votes if your first candidate ends up at the bottom of the pile.

For the DA elections, we have 23 candidates all running for one open position. When you get to the voting page, you're going to see a list of all the candidates, and instead of just checking off one person in the list, you'll be able to rank all of them. Now, you can rank every single person, but you don't have to. You can select only one person if you want, or you could pick your top five. You get to choose how many people you rank, and in which order.

Once you've completed your ranking, then you just submit your vote, and we'll find out the results after March 20th. If you change your mind before March 20th, you can also go back to the voting screen and change your vote. This is an important vote where you are selecting someone who will be representing your voice on the Drupal Association Board. Please get out and vote!

Catégories: Elsewhere

Wellnet Blog: Weekly Module Review - #3 Features Builder, problems zero with Features!

Planet Drupal - mer, 11/03/2015 - 12:51

Weekly Module Review - #3 Features Builder, problems zero with Features!

Features Builder will help you, creating for you all the essentials features.

Catégories: Elsewhere

Eddy Petrișor: Net Netrality

Planet Debian - mer, 11/03/2015 - 10:30
I have seen this awesomeness way too late, but is still awesome.
Catégories: Elsewhere

Tiago Bortoletto Vaz: Freeing myself from flickr

Planet Debian - mer, 11/03/2015 - 07:03

A flickr standard account gives you a free as in facebook service (I really wanted to reuse it!!!). I don't know about the pro account, but I don't believe it will give you much respect. Anyway, I realized that my photo albums in flickr are still online. And I'm currently unable to access my photos locally. I needed to download all them, then I decided to give flickrbackup a try. I started coding it a few years ago because at that time there was no free tools available for that. And then I abandoned it, too bad I feel. But for my surprise it worked without issues! And that's all I needed in my Debian box:

$ apt-get install flickrbackup

$ mkdir myflickr

$ flickrbackup -o myflickr/

(this will open a default browser for authentication and will automatically get the API key, then I just need an ENTER to start getting all my albums)

I'm not sure whether there're other free tools (as in freedom) for that, but before paying for a license or trusting an online service for downloading your sets please give flickrbackup a chance :)

I'll probably set a piwigo instance in a vps. But I fear php. So, suggestions on web galleries are very welcome.

Catégories: Elsewhere

KnackForge: Creating downloadable CSV files in PHP

Planet Drupal - mer, 11/03/2015 - 06:56

This blog explains, how to create a CSV file using PHP and how to download the file instead of displaying it.

<?php // Creates a new csv file and store it in tmp directory $new_csv = fopen('/tmp/report.csv', 'w'); fputcsv($new_csv, $row); fclose($new_csv); // output headers so that the file is downloaded rather than displayed header("Content-type: text/csv"); header("Content-disposition: attachment; filename = report.csv"); readfile("/tmp/report.csv"); ?>

This code tells the browser that it is generating a CSV file and that should be offered for download, rather than displayed in the browser.

header("Content-type: text/csv");

The MIME type of the content is text/csv, the official MIME type for CSV files.

header("Content-disposition: attachment; filename=report.csv");

header to supply a recommended filename and force the browser to display the save dialog.


readfile — Outputs a file.


Catégories: Elsewhere

DrupalOnWindows: Build GIT on Windows from Sources

Planet Drupal - mer, 11/03/2015 - 03:53
Language English

Unluckily for windows users GIT does not get updated as often as it should, and the last precompiled installer is version 1.9.5 from december 2014. But GIT 2.3 is already out.

To follow this tutorial you must be running a Windows OS, and install the old precompiled version of GIT from the official webpage using the installer.

Checkout msysgit to a local directory such as d:\guitbuild

More articles...
Catégories: Elsewhere

Joey Hess: 7drl 2015 day 4 coding through exhaustion

Planet Debian - mer, 11/03/2015 - 00:07

Slow start today; I was pretty exhausted after yesterday and last night's work. Somehow though, I got past the burn and made major progress today.

All the complex movement of both the player and the scroll is finished now, and all that remains is to write interesting spells, and a system for learning spells, and to balance out the game difficulty.

I haven't quite said what Scroll is about yet, let's fix that:

In Scroll, you're a bookworm that's stuck on a scroll. You have to dodge between words and use spells to make your way down the page as the scroll is read. Go too slow and you'll get wound up in the scroll and crushed.

The character is multiple chars in size (size is the worm's only stat), and the worm interacts with the scroll in lots of ways, like swallowing letters, or diving through a hole to the other side of the scroll. While it can swallow some letters, if it gets too full, it can't move forward anymore, so letters are mostly consumed to be used as spell components.

I think that I will manage to get away without adding any kind of monsters to the game; the scroll (and whoever is reading it) is the antagonist.

As I'm writing this very post, I'm imagining the worm wending its way through my paragraphs. This dual experience of text, where you're both reading its content and hyper-aware of its form, is probably the main thing I wanted to explore in writing Scroll.

As to the text that fills the scroll, it's broadly procedurally generated, in what I hope are unusual and repeatedly surprising (and amusing) ways. I'm not showing any screenshots of the real text, because I don't want to give that surprise away. But, the other thing about Scroll is that it's scroll, a completely usable (if rather difficult..) Unix pager!

Catégories: Elsewhere

Open Source Training: The State of Drupal 8: March 2015

Planet Drupal - mar, 10/03/2015 - 23:23

Over the last few years we've been writing a regular series called the "State of Drupal 8".

We aim to give a short, plain English update for people who don't follow Drupal development closely.

Here's your busy person's guide to Drupal 8 in March 2015 ...

Catégories: Elsewhere

Mediacurrent: Why Care About Accessibility

Planet Drupal - mar, 10/03/2015 - 22:21

In 2008, I met a person who had a mobility impairment. She had limited use of her arms and hands. While we were chatting, she mentioned some issues she was having with her computer. I was intrigued. How could she be using a computer without using her hands?  Hoping I wasn't being offensive, I asked her if she'd mind showing me how she interacted with the computer. To my relief, she was happy to enlighten me. The enlightenment was more like a slap upside the head to realize that not everyone uses a mouse and keyboard to operate a computer.

Catégories: Elsewhere

DrupalCon News: Los Angeles Session Submission Overview

Planet Drupal - mar, 10/03/2015 - 20:32

Our call for papers closed recently for DrupalCon Los Angeles, and we couldn't be more excited about how many fantastic submissions we received. While selections are still in process, we can share data with you on how many sessions we received, and on what topics -- and we can give you some tips for getting your session selected.

Catégories: Elsewhere

Drupal Association News: Drupal Events at SXSW 2015

Planet Drupal - mar, 10/03/2015 - 19:10

South by Southwest Interactive starts this Friday in Austin, Texas. The largest tech conference in the world wouldn’t be complete without Drupal, which is why we’ve assembled a guide to all things Drupal at this year’s SXSW.

If there’s a session, party, or workshop that you think should be included, let us know and we’ll add it to the list. In the meantime, here’s all the best Drupal things at SXSW this year.

Workshops: Web Content Publishing with Drupal Eight

Note: This session requires advance signup to attend.

Experience The New Power of Drupal 8 in this Hands-On workshop! In this workshop, you will learn:

  • How to leverage Drupal's new responsive content authoring features.
  • How to customize your site with Drupal's powerful content modeling features including content categorizing.
  • How to creating listing pages and blocks of lists with the enhanced VIEWS module, now a CORE feature, out of the box!

Monday, March 16, 9:30AM - 1:30PM
JW Marriott Room 303-304 (110 E 2nd St)

Hands On: Inclusion, Accountability and Empowerment

This hands-on, two and a half hour long workshop will give you the tools to:

  1. Develop strategies for building more inclusive, accountable and effective spaces — and be better at what you do.
  2. Find ways to be an effective ally to those who are marginalized in your workplace, and build a more inclusive culture.
  3. Find allies outside of your workplace if you can't find any within.

Monday, March 16, 3:30PM - 6:00PM
JW Marriott Room 310-311 (110 E 2nd St)

Large Drupal Projects

The goal of this workshop is to have the participants take away:

    What developer workflow (git, code review) techniques can make a larger project successful
    Techniques for coordinating teams that are geographical dispersed among different organizations
    What scaling and performance issues are more likely to arise in a larger project, and how to anticipate and plan for them
    Planning for a maintainable codebase
    What advanced project management issues might arise from a large Drupal project

Tuesday, March 17, 9:30AM - 1:30PM
JW Marriott Room 303-304 (110 E 2nd St)


Sessions: Interconnected: The Future of the Experience Web

The first wave of the web was open: anyone could build a website and get found through search engines or social media. The second wave was mobile, leading entire nations to leapfrog the initial desktop -- and laptop-centric web. And we’ve just scratched the surface of the third wave: the experience web. It’s driven by internet-connected-everything, and it’s all around us. This third wave gives control to a few intermediaries -- particularly companies that own the entire experience. How can a local Indian restaurant deliver the right experience to a passenger in Google’s self-driving car? The key is mastering context and delivering personalized content to meet consumers where they are.

Dries Buytaert, creator of Drupal & Acquia co-founder, will discuss how we’ll interact with companies and each other in this freewheeling third wave of the experience web.

Sunday, March 15 5:00PM - 6:00PM
JW Marriott Salon A (110 E 2nd St)

Parties: Tech Lover’s Karaoke Night

Join Rocksauce Studios and Four Kitchens for a fun evening of karaoke, drinks, and tech fun!

Tech Lover's Karaoke Night, hosted at the historic Old School Bar & Grill at the heart of Dirty Sixth, will be an evening filled with music, drinks, great food, and tattoos!

Friday March 13, 2015 6:00pm - 9:00pm
Old School Bar & Grill (401 E 6th St, Austin, TX 78701)

Drupal Drop In

This event is open to anyone currently using or interested in Drupal. You can look forward to live music, great food & drink and networking with top innovators that are using Drupal to transform their business.

Saturday, March 14 12:00PM - 3:00PM
Maggie Mae's Rooftop (323 E 6th St)

Catégories: Elsewhere

Commercial Progression: Streamlining the Development Process

Planet Drupal - mar, 10/03/2015 - 18:24

Efficiency feels good.

To some extent, the joy of efficiency (or at least de-cluttering) is illusory. The pursuit of efficiencies may only make sense over long time scales. Making a decision whether to optimize is fraught.

Or is it? The common rule of thumb for duplication in computer programming is 3 duplicates. Anything you do twice, at the cost of labor, is something you should make faster the third time.

Things we've made faster

At the beginning of the year, the dev team committed to increasing efficiency, leading to the eventual ability to type a couple lines in a terminal prompt and have a 95% developed site with all the enterprise-grade Drupal fixins.

Here are some things we do really often that we've automated (or are working on):

How this works

Conceptually, a dev does something like:

  1. compro site -b newclient

...has a new local site set up, rolls the repo with a stage/prod model, pushes it to bitbucket, and has a reasonable set of Drupal configurations for making a modern site. One command, giant head start.

When it comes time to make a new content type, we'd type:

  1. compro ctf pressrelease

...and a new feature would appear in sites/all/modules/features containing a content type and view (with a page and block of teasers, both disabled by default). We could then ostensibly use drush's field commands in conjunction with drush's feature commands to roll an entire IA without looking at the site in a browser.

Once the content model is in place and there's sufficient real or dummy content, we theme it using our excellent in-house practices; entity view modes, minimal CSS, blockify, "extra fields", etc.

Then, for added efficiency, when it's time to roll the stage code onto production, we use:

  1. git roll prod

This git alias looks like so:

  1. [alias]
  2. roll = "!CURRENT=$(git rev-parse --abbrev-ref HEAD) && git checkout ${1} && git merge ${CURRENT} && git push origin ${1} && git checkout ${CURRENT} && git status && bash -c 'aplay ~/repos/compro_config/rollin.wav'"

In English, it checks out the production code, merges the staging code, pushes the merged code to the remote production repo, checks back out to staging, tells the user which branch it's on, and plays a clip of a Limp Bizkit song.

What's next

We'd like to automate our staging and production servers more, and leverage our CI tools to a greater extent. This will mesh nicely with our efficient local machines.

On the local development end, we're working to make removing local sites faster. It would be a dream to be able to spool up a site, test a single thing, and remove the site permanently in the span of a minute or two.

The theming and design processes have some real opportunities for streamlining. We haven't landed on the exact best approach, but are talking about it in the office constantly.


Efficiency feels good. In helping to write many of these streamlining pieces, I would literally say out loud "this feels good". If making systems more efficient is an illusory joy, I don't want to be dispelled of this illusion.

Looking for efficient Drupal development? Contact the experts

Catégories: Elsewhere


Subscribe to jfhovinne agrégateur - Elsewhere