Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 26 min 44 sec ago

Paul Johnson: A seminal moment for Drupal - DrupalCon Asia

Mon, 22/02/2016 - 10:52
Category:

Once the dust settles we will begin to realise DrupalCon Asia was indeed a seminal moment in the history of Drupal. In this short time, as I've managed the social media for the conference, I've watched the Asian Drupal Community come of age.

Huge respect has grown for the region has been born out of the event through high calibre presentations, floorless executing of the event, sheer energy, cultural diversity and harmony. I have no doubt this event was exactly the impetus the region deserved. There's a lot to celebrate.

Absolutely true! #DrupalCon #DriesNote pic.twitter.com/3MBOkha4RY

— Larry Garfield (@Crell) February 19, 2016

One of the reasons for the heightened sense of importance everyone placed on the event undoubtedly stems from the fact for 840 of the 1025 attendees (82%) this was their first DrupalCon. It's been a long time coming, a huge anticipation surrounded the event. More than ever before this con mattered to everyone who passed through the doors.

for 840 of the 1025 attendees (82%) this was their first DrupalCon

So many have taken their first brave step onto the stage of the international speaker circuit, volunteered as sprint mentors, helped organisers with logistics, organised BoFs, met with their peers from across the region and the world.

Many overseas Drupalists recognised the gravity of this event DrupalCon Asia and they came in force. We saw a very strong international presence with attendees from 32 countries including USA (40), UK (15), Australia (10) and Japan (9). Dries Buytaert, Angie Byron, Alex Pott, Gábor Hojtsy, Josef Daernig, Dave Hall, Donna Benjamin to name just a few. Josue Valencia travelled the furthest from Guayaquil, Ecuador (16,499 km).

For years the significance of Drupal's Asian powerhouse has been gathering steam, this event provided the perfect showcase to the world. The event was a triumph for inclusivity and diversity not only that ladies represented 16.5% attendees but also that through Drupal people are able to transcended cultural, political and physical boundaries.

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

— Rachit Gupta (@tweet_rachit) February 21, 2016

Drupal community celebrated

"The best open source community in the world!" - Danese Cooper keynote @DrupalConAsia @drupal #dcasia #DrupalCon pic.twitter.com/KO0GemItS7

— Innoppl India (@InnopplIndia) February 20, 2016

Record breaking sprint participation

What really impressed was that over 350 (34% attendees) came to the contribution sprints. This is the greatest proportion witnessed at any DrupalCon to date.

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

— xjm (@xjmdrupal) February 21, 2016

#DrupalCon India - Sprints https://t.co/OmknHB9wUg pic.twitter.com/BxrJoZRsqZ

— Josef Dabernig (@dasjo) February 21, 2016

Live #drupal8 core commit from antojose, mobaid, @sivkannan77 by @webchick during #DrupalCon https://t.co/6SMBlInGGs pic.twitter.com/EmU61mZJnE

— Josef Dabernig (@dasjo) February 21, 2016

A whole lot of fun!

Between all the sessions, BoF's, hallway track, summits and trainings there was a huge amount of fun going on too. Sand drawings, kite flying, Octocat competitions, . What occurs to me is how do Europe and USA follow this up? The baton passes to New Orleans.

Love these images by @dasjo and the way #DrupalCon Asia is so unique to that which has been before. pic.twitter.com/n9rWD9n7Ty

— Paul Johnson (@pdjohnson) February 19, 2016

A touch of Bollywood hits DrupalCon

A little Bollywood @DrupalConAsia. I love this place and these people so much. pic.twitter.com/e1VADZjWWB

— Holly Ross (@drupalhross) February 20, 2016

Best #Prenote ever?

You know we had fun @DrupalConAsia when you see this pose in the pre-keynote #DCasia #DrupalCon @GauravS04 pic.twitter.com/oEJOsqrnhg

— Gaurav Mishra (@gmishra) February 20, 2016

see how we celebrating #DrupalCon by core of our heart. @DrupalConAsia @Srijan pic.twitter.com/m1m05HuG8v

— Prateek Sharma (@meprateeksharma) February 19, 2016

#DrupalCon India Dancing Flash Mob @ https://t.co/92pDV67uey pic.twitter.com/iWxng69uub

— Josef Dabernig (@dasjo) February 20, 2016

Building bridges between communities

Our 2nd place winner of the @DrupalConAsia 2016 @github Octocat drawing contest is @MalikObaid! DM us. #drupalcon pic.twitter.com/WJoE82opCL

— GitHub Education (@GitHubEducation) February 21, 2016

Kite flying outside on the green

#Selfie #kites #fun @Drupal_Gujarat @DrupalConAsia pic.twitter.com/NIwzum0nDf

— Gaurav Khambhala (@gkhambhala) February 20, 2016

The most selfies ever at one DrupalCon

Where is @dries ? #DrupalCon Asia 2016 https://t.co/o0TURHmbdb pic.twitter.com/5uHSCOecgN

— Josef Dabernig (@dasjo) February 20, 2016

Snap with Dries in #DrupalCon pic.twitter.com/d2mTyFJg8o

— Kavitha Sriram (@kavithad7) February 19, 2016

Today’s photos are flooding in. https://t.co/vRxfFD4KMj Which is your favourite? #DrupalCon Asia pic.twitter.com/8BeHEqUPgv

— DrupalCon Asia (@DrupalConAsia) February 19, 2016

I'm hanging out at #drupalconasia with @er27_kajal and the @qed42 crew. pic.twitter.com/gjW3kmViUe

— Dave Hall (@skwashd) February 19, 2016

and dries in a turban

@drupal @DrupalConAsia #dries pic.twitter.com/mesozFBEVY

— pvishnuvijayan (@pvishnuvijayan) February 19, 2016

Here's a non alcoholic drink to DrupalCon Asia! Where next?

The initiator of the wscci initiative with a non-alcoholic of course @Crell #DrupalCon India https://t.co/tvhtHIfVTv pic.twitter.com/jPkdO95EZ8

— Josef Dabernig (@dasjo) February 19, 2016

Header photo by Michael Cannon

Further information: Map of DrupalCon Asia attendees by Josef DabernigDrupalCon Asia Flickr Group
Categories: Elsewhere

Jeff Geerling's Blog: Reddit AMA on Monday, Feb 22 – ask me about Drupal VM, Honeypot or anything!

Mon, 22/02/2016 - 02:11

I'll be hosting a Reddit AMA on the Drupal subreddit tomorrow morning, Monday February 22, starting at 10 a.m. Eastern / 9 a.m. Central.

During the AMA, I would love to hear any questions you have about Drupal VM, Honeypot, Ansible, writing, open source communities, or really anything else you can think of! I just wrapped up a big project last week, so I'll have a couple hours tomorrow to talk about anything and everything with the Drupal community on Reddit. Even horse-sized ducks and Legos, if you're so inclined.

I'll also be formally announcing the next major release of Drupal VM, with some amazing new features for local Drupal development, so please check in tomorrow morning!

Categories: Elsewhere

ImageX Media: Troubleshooting a Drupal module

Sun, 21/02/2016 - 18:37

 

Categories: Elsewhere

ARREA-Systems: Install and use Swift Mailer in Drupal 8 (part 2 : implementation)

Sun, 21/02/2016 - 01:08
Install and use Swift Mailer in Drupal 8 (part 2 : implementation) Submitted by JK on Sun, 02/21/2016 - 08:08

In previous article we explained how we installed the Swift Mailer module and its dependencies.

In this second part, let's see how we configure and implement it to use in our modules to send formated HTML mail with attachment.

First you will need to have Mail system module installed already. There is no particular issue or difficulty here.

 

1) Configure Swift Mailer

 

In Swift Mailer configuration (/admin/config/swiftmailer/transport) , we select the following options:

Transport:

Categories: Elsewhere

Drupal Association News: Let's meet the 2016 board candidates

Sat, 20/02/2016 - 18:03

Nominations are now closed for the single At-Large seat on the Association Board of Directors. We have an astounding number of candidates from all over the world running for this seat. We're thrilled that so many of you are so invested in our community that you're taking this step. As with any election, we want to have an informed electorate. So, we invite you to get to know these candidates in a couple of important ways.

Learn about the candidates online

Check out the slate of candidates and read what they had to say about their backgrounds and interest in serving on the board. Each candidate page also features a comments section where you can ask about their plans, hopes, and views for the Association and the project. We only ask that you use this comments section as a place to ask questions, not endorse candidates please. 

Join a Meet the Candidates webcast

In addition to the candidate profiles, we're hosting three live question and answer sessions where you can chime in and hear from the candidates directly. Not all candidates will be on each call, but don't worry! If you aren't able to connect with a candidate in one of the sessions, we'll be recording them, so you can check them out later. Here are the sessions (register at the links):

Session One

Tuesday, February 23, 2016 at 16:00 UTC

  • 7 AM PST, US and Canada
  • 10 AM EST, US and Canada
  • 1 PM, São Paulo, Brasil
  • 3 PM, London
  • 11 PM, Beijing
  • 2 AM, Wednesday, February 24, Sydney, Australia
Session Two

Wednesday, February 24, 2016 at 21:00 UTC

  • 12 PM PST, US and Canada
  • 3 PM EST, US and Canada
  • 5 PM, São Paulo, Brasil
  • 8 PM, London
  • 4 AM, Thursday, February 26, Beijing
  • 7 AM, Thursday, February 26, Sydney, Australia
Session Three

Thursday, February 25, 2016 at 01:00 UTC

  • 4:00 PM PST, US and Canada
  • 7:00 PM EST, US and Canada
  • 9:00 PM, São Paulo, Brasil
  • 12:00 AM, Friday, February 26, London
  • 8:00 AM, Friday, February 26, Beijing
  • 11:00 AM, Friday, February 26, Sydney, Australia

I hope we'll hear from you during this important part of the elections process. And mark your calendars: voting begins on March 7!

Categories: Elsewhere

Chris Hall on Drupal 8: Drupal has historically been an abstraction from the front-end

Sat, 20/02/2016 - 17:34
Drupal has historically been an abstraction from the front-end chrishu Sat, 02/20/2016 - 16:34 Introduction

For the purposes of this post Drupal is a content management system to produce web-sites (other use-cases are available ;)).

Some opposition to the major re-factoring of code for Drupal argued the new code-base contained too much abstraction.

The abstraction argument, I didn't get it. Abstraction from what? Abstraction from the internals of Drupal?

The main losers in the re-factoring of code from D7 -> D8 are the those of us who have invested a long time learning those internals and 'Drupalisms', I can understand that, I have learned a lot of this information that will become worthless. That is true of so much else over my time as a developer though and I am more than compensated by the expansion of the new things I am learning into other related technologies and being able to bring things I have learned elsewhere into working with Drupal 8.

I use Drupal to manage content and build websites, Drupal in itself is not a means to an end.

For the longest time however Drupal has been a major abstraction from the front-end and that has been both a blessing and a curse.

A blessing

For a Site Builder (follow the link to see what I mean) the fact that Drupal outputs HTML, CSS and JavaScript for all the things that you can configure in admin is a huge plus, it may even be possible to obtain a theme that gets you most of the way to what you want.

The various complications and varied expectations over layout and content that have evolved over the years with the Web can even be catered with via imaginative use of Views and Panels (with a whole host of magical configurable layout thingies etc.). Or perhaps a theme that implements a framework or a grid layout with a gazillion themes settings.

Drupal 8 should make this experience even smoother, although right now you might be missing some of your favourite contrib. modules.

With enough enough modules, themes, etc. perhaps you don't even need any front-end development if your requirements are not too custom right? But then Drupal becomes a machine replacing the front-end developer, a big ask, especially with fast pace of evolution in this business.

For some back-end developers who are more interested in content structure, transfer, APIs to other systems as well, all is good too, a front-end is better than no front-end and they may not be so focused on front-end anyway.

A curse

If you are a front-end developer, you may well be at the place where evolution is happening fastest. A few years ago you didn't have linters, pre-processors, frameworks, package managers etc. etc. There is always more to learn about UX, accessibility, always new devices and different ways of viewing the same page.

In many places there is no longer a ridiculous system of 'drawing webpages' in Photoshop.  Wireframes and HTML prototypes are used and if you have the skills and knowledge the prototype is largely production standard anyway.

So when you are looking for a system to manage content, to make that prototype dynamic you want a tool to help you fill in the hard-coded bits. There are frameworks and systems that will let you do that, using the code and techniques that you know to 'frame the content' (they may not be quite as good as Drupal at managing content however'.

When you come to Drupal you may hit a wall! 'Drupal is the king of content my young Padawan'. 'But how.. what ... uggg I didn't write that...., which hook, sorry HOOK errr hook_this_HOOK, help, theme.. Theme THEME.

"Don't worry young Padawan, don't think of the Drupal learning curve as a line, more like a .... cinammon swirl'."Why are you trying to do that by hand anyway? Use a micro, mini, panelizer, panel, view pane, custom page context, it will only take you a day (or three) to configure that bit in the admin section".

"It didn't wooooork!".

"Tut tut did you pre-process it?".

"HOORAY I finally have it!"

"Not so fast young Padwan, Drupal coding standards you have ignored!!! tsk tsk tsk".

Somewhere in the middle

And of course there is everything in between, every shade under the sun. Themes and approaches that strip everything back that Drupal so generously gives. Front-end developers clinging precariously to what Drupal outputs, enlightened souls prepared to help all, and jealous guardians of the knowledge they have obtained whilst travelling though the 'cinnamon swirl learning curve'.

And next?

Well Drupal 8 is different, I don't quite have my own personal answer to that yet but getting there. Twig common approaches etc should make everything different, but a lot of what I am seeing still seems to have a pre-d8 mindset behind it.

Not very satisfactory I know, I can tell you my goal. It is simply to have an approach, some examples, documentation and a plan that would enable me to introduce D8 into a skilled agency and for people to be productive in days, and for a large project to be succesful with only a minimal amount of 'specialised' Drupal expertise added to the project after that. 

Not much to ask?

Add new comment
Categories: Elsewhere

Roy Scholten: Drupal UX process improvements shopping list

Sat, 20/02/2016 - 08:40
Set a more specific product vision
  • Continuous discovery of user needs
  • Competitive benchmarking (explain please, Bojhan :-)
  • Design principles are good, specific goals even better?
  • After setting the vision: maintain the vision and commit patches accordingly
  • Be clear about who gets to set and who gets to maintain this vision
Increase velocity:
  • Involve more people who want to design
  • Better define what needs to be done
  • Clarity on how we decide
  • Really decide
  • Have a repeatable process for comparable results
Design multiple options before picking a solution:
  • Know what to work on to focus efforts to get broader set of specific ideas
  • Sketches before prototypes. Everybody can draw an idea
  • Lo-fi prototypes before core patches
  • Designer + developer collaboration from the start
  • Have a repeatable process for comparable results
Compare and evaluate design options faster:
  • Know when an informed opinion is enough, know when some kind of evaluation is needed
  • 3 people every tuesday (online usability testing, simplytest?)
  • A format for guerrilla usability testing during camps
  • Have a repeatable process for comparable results
Find the approach for changes that touch all the things
  • Clarity around what can be incremental, what needs to be one big push
  • What will a 6 week git merge look like?
  • Know from the start what the next 6 months will focus on to direct, harmonize efforts
Tags: processdrupaluxdrupalplanetSub title: Repeatable processes for comparable results
Categories: Elsewhere

hussainweb.me: DrupalCon Asia – Day 0 and Day 1

Sat, 20/02/2016 - 05:49
DrupalConASIA is here!!! I am back in the busy city of Mumbai and in the premises of IIT Bombay, which also saw DrupalCamp Mumbai last year. This time, it is a much bigger conference; in all ways. More people, more sessions, more community, more fun.
Categories: Elsewhere

Drupal Bits at Web-Dev: hook_geocoder_geocode_values_alter()

Sat, 20/02/2016 - 03:28

If you are using the geocoder module in Drupal 7 and you need the opportunity to alter the data being geocoded right before it gets sent to whichever geocoding service you are using, there is a hook for that. The hook is pretty much undocumented at this time, but it is there. hook_geocoder_geocode_values_alter() is available for you if you need it.

Here is an example use case. Our data had US territories stored in the State field of an address (technically 'administrative_area') However, when you send the query off to geocoder, anything that is a US territory ought to be identified as the country, rather than the state. If you send it as a State, it geocodes incorrectly. So here is an example of a fix using the alter hook.

<?php
/**
 * Implements hook_geocoder_geocode_values_alter().
 */
function MY_MODULE_geocoder_geocode_values_alter(&$source_field_values, &$field_info, &$handler_settings) {
  // Any item being geocoded that has a state that is actually a
  // territory needs to have its state and country altered to geocode correctly.
  $territories = array('AS', 'GU', 'FM', 'MH', 'MP', 'PW', 'PR', 'UM', 'VI');
  // Handle cardinality in case of multiple addresses.
  foreach ($source_field_values as $key => $value) {
    $state = (!empty($value['administrative_area'])) ? $value['administrative_area'] : FALSE;
    // Is there a state, and is it really a territory?
    if (($state) && (in_array($state, $territories))) {
      // It is a territory, google geocoder wants it as a country, not a state.
      $source_field_values[$key]['country'] = $state;
      // Remove the State entry.
      unset($source_field_values[$key]['administrative_area']);
    }
  }
}
?>

Incidentally, there are lots of modules with poorly documented alter hooks that may be useful at one time or another. To find them, just search the module code for drupal_alter.

Here is the only other documentation about hook_geocoder_geocode_values_alter. It is the issue and patch that created the alter hook.

Categories: Elsewhere

DrupalEasy: DrupalEasy Podcast 169 - Future President (John Kennedy, D8 Module Acceleration Program)

Fri, 19/02/2016 - 19:26

Direct .mp3 file download.

John Kennedy, Acquia's project manager for Lightning joins Ted Bowman, Ryan Price, and Mike Anello to talk about the Module Acceleration Program - an initiative by Acquia to help get important contributed modules finished for Drupal 8. Also discussed: DrupalCon session submissions, goodbye dependencies, new D8 committer, DA board nominations open, and 8.1!

Interview DrupalEasy News
  • The next session of the 12-week Drupal Career Online course starts in March, 2016 - visit DrupalEasy.com/dco for all the details.
ThreeSix Stories Sponsors Picks of the Week Upcoming Events Follow us on Twitter Five Questions (answers only)
  1. West Coast Swing.
  2. Snapchat.
  3. Start an open-source movement.
  4. Turtles!
  5. Writing his first Drupal module.
Intro Music

"Agony (Coder vs Themer)" - from the DruaplCon Los Angeles pre-note performed by Campbell Vertesi and Adam Juran.

Subscribe

Subscribe to our podcast on iTunes or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

Categories: Elsewhere

Acquia Developer Center Blog: Deciding When to Upgrade to Drupal 8

Fri, 19/02/2016 - 16:56

Since Drupal 8 was released last November, the community has been experimenting, and optimising the upgrade process for Drupal 6 and Drupal 7 sites.

Thanks to the hard work of a large number of (often volunteer) module maintainers, the number of upgraded modules is increasing day by day. Module availability is a key factor in the site upgrade process, so this is really good news.

In this post we'll review some of the tools that have been developed to ease this process.

Tags: acquia drupal planet
Categories: Elsewhere

J-P Stacey: Extend Drupal's autocomplete Javascript with your own

Fri, 19/02/2016 - 15:44

Drupal 7's autocomplete Javascript is very functional, but a client wanted to increase the delay after which your browser thinks you've stopped typing, for specific accessibility reasons. They also wanted to make an initial call to the AJAX callback on page load, to potentially "warm a slow cache" on a third-party service, and speed up later AJAX calls.

The Javascript is functional, but not straightforwardly extensible. To extend the particular component that makes the AJAX calls, you need to introduce your own Javascript and implement prototypal inheritance. In practice, this means doing three things:

Read more of "Extend Drupal's autocomplete Javascript with your own"

Categories: Elsewhere

InternetDevels: Drupal module development services: unique features for your unique website

Fri, 19/02/2016 - 15:41

Discover Drupal module development services
and find out what your website can do for you.

There is a great variety of choice for free contributed and built-in modules in the Drupal CMF that can significantly extend your website’s functionality. You can combine these modules for the desired results, just like using Legos.

Read more
Categories: Elsewhere

Zivtech: 5 Helpful Tips for New Drupal Developers

Fri, 19/02/2016 - 15:10

1. Meet Your New Best Friend Drupalize.me


Use Drupalize.me to search thousands of helpful videos that uncover the intricacies of Drupal. The amount of content on the site can be overwhelming at first, but don’t worry. There are guides if you’re not sure where to start. An Introduction to Drupal & Build Your First Drupal 7 Site are two I recommend for beginners. The videos within each guide are pretty short, so you can take them at your own pace. Watching introduced me to core concepts of Drupal, such as what a node is and how to use views.

2. Jump in With Both Hands


After you’ve watched a few videos, go ahead and make your first site. It might start out as a simple blog, but will quickly evolve into a complex site once you start adding views with relationships and contextual filters. Add blocks, download new modules, embed videos; go crazy! It’s important to practice along with the videos to contextualize what you’re learning and get a sense for how powerful Drupal is. Have fun with it.

3. What Are Words For?


Drupal’s terminology can be confusing. Entities, nodes, panels, panes, panelizer...ahh!! After you’ve watched a few videos & practiced building a site, start to write down and clarify unfamiliar jargon. I recommend checking out the Drupal glossary. If you can get a clear understanding of these terms and when they’re used, you’re well on your way to building more complicated sites.

4. Open Source Tools Streamline Workflow


Whether you’re working at a Drupal shop or learning on your own, use the resources that help you get up and running right away. Here at Zivtech we have all kinds of tools that make setting up sites easier, like Fetcher, Bear and Probo. You could manually set up your database, or you could use Fetcher. You could install a ton of modules and worry about theming, or you could just download Bear. You could stick with a conventional git workflow and check your changes on the local host, change the code, then push to GitHub, or you could just use Probo and preview your changes right away. These tools made it much easier for me to get started as a Junior Dev and a first-time Drupal user.

5. Ask All The Questions


Drupal is supported by a very enthusiastic and knowledgeable community, so reach out when you need help. Come to Drupal meetups, go to a regional camp (Drupaldelphia wink wink), or just sign up on Drupal and post a question in IRC. With over 1,200,000 users on drupal.org, there’s bound to be someone who has an answer.

Lauren Lewis recently joined the Zivtech team as a junior developer. Previously, she worked at The University of Pennsylvania as a data integrity analyst and as a coordinator at Philabundance. Lauren took classes at the Philadelphia chapter of The New York Code & Design Academy and the rest is history.

Categories: Elsewhere

Acquia Developer Center Blog: Drupal, meet PHP FIG: PSR What? 2016 with Lorna Mitchell

Fri, 19/02/2016 - 13:24

PHP FIG? PSR Standards ... What are they? What are they important? This conversation with Lorna Mitchell is another in a series of interviews Campbell Vertesi (@CampbellVertesi) and I carried out in preparation for DrupalCon Asia in Mumbai. We are building the world’s longest DrupalCon session and packing all 6+ hours of it with information and personalities you won’t want to miss! So actually ... For our one hour in the spotlight in Mumbai, we’ve been doing a lot of preparation. Our “session” will include a lot of additional materials like podcasts and blog posts about what we’ve learned along the way.

Our session, Meet PHP-FIG: Your community just got a whole lot bigger, Drupal is about Drupal 8’s membership in the new, interoperable PHP community. We’re covering the basics of what the PHP Framework Interoperability Group (PHP-FIG) is, what the various PSRs are and do, talk about testing and dependency management, and what it means to be a part of the new PHP community — including having better architecture, cleaner code, and more interoperability. All of this adds up to a big move to get projects “off their islands,” saving developers a lot of code, and companies a lot of money, among other benefits.

Also in this series

“Hi Drupal, I'm Lorna. I’m a really enthusiastic PHP user and I'm super excited to see Drupal as being just so much part of PHP these days. I've been to some DrupalCons and seeing the recent release of Drupal 8 has made me very, very, very happy. So have a great DrupalCon. I will see you around at an event or in the issue queues.” - Lorna Mitchell

What are PHP FIG and the PSRs?

Q: Can you give us a rough outline of what PHP-FIG--the PHP Framework Interoperability Group--is and why it's important?

Lorna: Sure. So PHP-FIG is - well, it’s kind of a group of people but actually it's a movement around standardizing our best practices in PHP. It's formed by some very smart and committed—mostly project leads—so it’s framework project leads who really have a sense of what the community needs. It formalizes the best practices. So we can all agree, "Hey, we're going to do it this way.” It allows us to all do our own thing and still play nicely together, so like framework interoperability - literally allows us just to play nicely together.

Q: I would contend that this is one of the biggest enablers for this huge convergence. Its huge coming together that we've seen in PHP over the last - in recent years and I would also contend it to essentially what made it possible for Drupal 8 to even exist in its current form. What would you say to that?

Lorna: I would absolutely agree. Shortly before we really started with this FIG thing which initially was just autoloading, it was PHP 5.3, has namespaces. So now we can pull components and start to make a mix. We don't all need to write our own date class. We don't all need to write our own logo class. Literally, everybody was siloed. If you wrote a framework, you had to write all of it yourself. Now we have standard best practices. Drupal 8 is a really great example of composing something even greater than some of its parts. If we’d had to ship that by writing every line ourselves, it would just never have happened or it wouldn't happen as good.

PSR standards - What is what?

Q: So let's test your PHP-FIG knowledge, Lorna.

Lorna: Oh dear.

Q: PSR-0. Go.

Lorna: Autoloading but we don't use it anymore right? Yes, PSR-0, autoloading. PSR-4 - now we’ve had many places for a while and we know how to play nicely. This is how we really wanted to do autoloading.

Q: What is autoloading? Why is it important?

Lorna: Autoloading in PHP made in the last decade, we don't include files. We just say, “Hey, we’re in this class and we write autoloading rules,” which is PHP knows how to go and look for the code. Before PHP 5.3, every framework kind of had its own rules on naming of classes and ways to find them. Some of them called their classes “.class” – whatever. The autoload means that we can set up the rules for each framework. I don't think anyone really intended that Composer was in our future when we designed the PSR-0 standard. It turned out to be an amazing enabler and now everybody can say if you load all of that code even if you have a class called date and I have one, too. It's gone beyond how should we avoid requiring files and coming to how do we do modern dependency management.

Q: As we all know Lorna, PSR-1 and PSR-2 pretty much come together. We have your basic coding standard and your coding style guide. What are they? Why are they important?

Lorna: They are really important because they allow us to just create a coding standard. Every change should have a coding standard but life is too short to argue about spaces and brackets and new lines and things. So just use PSR-1, PSR-2, they are really good tools for enforcing them. It's important because it makes your code consistently readable. I am expecting layout to look like this. My brain does not have to work hard to read your code where it’s well laid out. PSR-1 describes things like function naming, variable naming, that kind of thing. PSR-2 is a little bit more stylistic. It covers more like white space and bracket layout. PHP is obviously white space agnostic so they split them into the two hubs. I would always recommend that people use both.

Q: Cool. So moving right along - PSR-3 logger interface. What is it? Why is it important?

Lorna: So the logger interface. The idea is that you could use other logging tools and if you needed to extend or implement your own, you can just swap out whatever logging solution you have and put in your own. You could wrap an existing one, you could build your own but the logging interface describes how behavior should work. So in our own applications we can just change them out. That’s the crux of the object oriented programming idea.

Q: Now, talk about our newest approved PSR, PSR 5, the Caching Interface.

Lorna: Yes. This is really the same as the logging story. There is a standard way of having a caching interface. I can write my own caching tools and then realize that yours is a way better. So as long as we’ve implemented the standard, then I can swap early in or maybe I want to cache to a new platform and I may choose different library for that. They'll all use the same interface. So it's super easy, just change your caching mechanism if you need to - performance reasons, different platform like you say technology evolution, it's all out there. We’re not writing websites and shipping them, we're building applications that will live and evolve.

Q: So PSR-7, the HTTP message interface, talk about that.

Lorna: That is super interesting. PHP solves their web problem. So fundamentally, it's a request and it’s a response. We haven’t traditionally written our code like that but it’s a pattern that’s really common in other programming languages that do deal with HTTP messaging. I am super excited to see this one come in and also super excited to see already we have tools that are building on it out in the wild, getting actual stable releases in the community. This is going to be a big paradigm shift about the way that we build things that respond to an HTTP request. Publishing the PSR-7 standard feels like much like PSR-0, which is just the beginning of something - I think PSR-7 is as well.

Building living, evolving applications

Q: When we were touching on PSR-7 you were talking about building applications and iterating and improving them over time, right? Actually, it's a general meta-concept that this swap-ability, these standards allow us to work more efficiently because we’re not reinventing the wheels. Can you talk about the architectural implications of having the PSRs in place and people following them?

Lorna: Okay. There are a few different strengths here. One is I'm a consultant and a trainer as well as a developer. So I'm often asked for my advice. PHP-FIG has helped us to know what the good advice is and know what best practices to follow. So even for people who are on their island, building an application on their own, there is a resource that they can go to and it will help them to make useful decisions. Beyond that, I think once upon a time we would have shipped to website when we were tired of it. In two years we would have shipped to another website and maybe those in concept management but it was a website. PHP now is much more about applications. I barely work on any websites which is good because I barely write HTML. Everything that I do is very application-driven, it's very functional, it's very much software development. Our applications have a future in two senses. One, the technology moves on and we might want to switch things out or update, move from one queuing system to another, introduce a queuing system, realize that we need caching, move to a cloud platform. I think our applications now—given these best practices and given the wide adaption of the object-oriented approach—are able to do that. The other way that they move on is the reasons for them to exist move on, the businesses that they support grow and pivot and become successful and expand and we want to offer more things online. I think good design practices, modern applications allow us to evolve our applications in both those directions. We don’t ship a new one in two years. That's cost-effective and it's also smart.

Q: Right. So it gives us cheaper maintenance. It gives us cheaper innovation. It makes our application future friendly. There is some element of risk mitigation around new technologies coming in as well.

Lorna: Yes, definitely. It means that we are interested in changing things. We don't have to turn off feature development and start afresh. We don't really rebuild. I mean there are cases where you’d like to. We don’t have the option to rebuild portions and everything is unit tested, everything is modular. So we've got those options to start – we really need to change this and to do that kind of by degrees because we can switch things in and out. We are not writing big balls of code.

  • Name: Lorna Jane Mitchell
  • Twitter: @lornajane
  • Website: http://lornajane.net
  • Acquia.com guest author profile
  • Work affiliation: Freelance, "I work where there are people who need me."
  • Drupal/FOSS role: Project lead on joind.in, PHP writer and speaker, "I don’t know any Drupal but I keep finding excuses to hang out with the community."
  • Current projects: Joind.in mainly, but I just had some contributions accepted to XHGui.
  • When/which PHP you started with: PHP 4.2 in 2002
  • About: Lorna is a web development consultant and author based in Leeds, UK. Her books include "PHP Master", "PHP Web Services" and "N Ways To Be A Better Developer", and she loves to write for other outlets such as netmagazine and her own blog http://www.lornajane.net. When she's not writing either code or words for a living, Lorna leads the Joind.In open source project; a tool to enable communities to give real-time, public feedback to speakers and organizers of events. Lorna has spoken at events around the world giving both keynotes and technical talks and is available for hire on interesting projects.
Podcast series: Drupal 8Skill Level: Intermediate
Categories: Elsewhere

Janez Urevc: Entity browser got configuration UI

Fri, 19/02/2016 - 12:33
Entity browser got configuration UI

Today I committed a configuration UI patch to the Entity browser module. This significantly improves experience for site builders. It is now possible to create, update and delete entity browsers without hacking yaml configuration files.

Configuration is available under Content authoring configuration:

All entity browsers are listed in a table:

Add/edit forms are multi-step. General configuration is on first step:

Configuration for individual plugins is on subsequent steps:

Configuration UI depends on form wizard, which is part of Ctools module. Entity browser will still work without it as it is only needed for edit and add forms.

I also release new alpha version of the module, which includes many other important improvements. Check release notes for more info.

We still need to add configuration forms for some of the entity browser plugins. This are very simple and straightforward tasks and suitable for new contributors. Check the issue queue if you'd like to help.

slashrsm Fri, 19.02.2016 - 12:33 Tags Drupal Media Enjoyed this post? There is more! A lot of exciting Drupal 8 media news! When will media be ready for Drupal 8? janezurevc.name runs on Drupal 8!

View the discussion thread.

Categories: Elsewhere

Pronovix: API Documentation week in London, 2-4 March

Fri, 19/02/2016 - 09:08

The first week of March I will be in London for 3 events related to documentation, APIs and Drupal Developer portals. If you are working on an API documentation project, you should not miss this opportunity:

Categories: Elsewhere

DrupalCon News: DrupalCon New Orleans has a Dedicated PHP Track!

Fri, 19/02/2016 - 04:55

For the first time in the US, DrupalCon New Orleans will have a dedicated PHP track. The Drupal project is written in PHP, however dedicated PHP sessions were often not included. That has now changed! The goal of the dedicated track is to expose shared experiences between the PHP and Drupal communities. Through these shared experiences, new tools, abilities, and ways of thinking are exposed to make everyone better developers.

Categories: Elsewhere

Drupal @ Penn State: More Fun with Maps

Fri, 19/02/2016 - 00:56

A quick update on an issue I had with an Open Layers map and replacing the OL modules with Leaflet and IP Geolocation Views & Maps .

Categories: Elsewhere

Matthew Saunders: Drupal Association Elections 2016

Thu, 18/02/2016 - 23:57

As you might know, I’ve been an elected At Large member of the Drupal Association board for the last two years. I’ve been chairing the Governance Committee. Some highlights of that work includes changes that implemented term limits for Board members, extension of the term for At Large member to two years, liaising with the community on issues they wanted to discuss, and a myriad of activities related to good governance.

drupal association election 2016drupal
Categories: Elsewhere

Pages