Drupal

Acquia Developer Center Blog: Chris Pliakas on the Scrum Process, Working with Drupal, and What’s Next for Content Hub. Part 2 in a Series.

Planet Drupal - 7 March 2016 - 11:48am

In Part 1 of this 2-part series, Chris Pliakas, the director of Content Services Engineering at Acquia, described how he managed the Acquia Content Hub project, which was released in November, 2015. In this, the second part of the interview, he discusses the Scrum process, the benefits of working with an open source framework like Drupal, and what’s next for the Content Hub project.

Tags: acquia drupal planet
Categories: Drupal

Admin Status

New Drupal Modules - 7 March 2016 - 9:56am
Synopsis

The Admin Status module allows certain messages to be shown on the top of the page to users with the right permission. For example, the settings can be configured to show a message on the top of the page if the database needs to be updated (e.g. drush updb).

Requirements

None.

Recommended modules

N/A

Categories: Drupal

Zivtech: Bob Moul will be the keynote speaker for Drupaldelphia 2016

Planet Drupal - 7 March 2016 - 9:13am

Drupaldelphia has announced that Bob MoulMoul is the 2016 keynote speaker.

Drawing from 35 years of experience ranging from start-ups to Fortune 500 companies, Bob Moul will share lessons he learned on his journey from the mailroom to tech CEO. The keynote, titled “How to Succeed at Success - Stacking the Odds in Your Favor,” will focus on how to build a successful and empowered life while balancing relationships, health, and, of course, a business itself. This keynote will share practical tips, insightful quotes, and real life experiences gained from his work in different cultures around the world, making and losing money, and even failure.Moul will share lessons he learned on his journey from the mailroom to tech CEO. The keynote, titled “How to Succeed at Success - Stacking the Odds in Your Favor,” will focus on how to build a successful and empowered life while balancing relationships, health, and, of course, a business itself. This keynote will share practical tips, insightful quotes, and real life experiences gained from his work in different cultures around the world, making and losing money, and even failure.

In addition to his many years of experience and current position as CEO of Cloudamize – a leading cloud infrastructure analytics company – Bob Moul is also an active advocate for entrepreneurship and education in Philadelphia. He serves on the board of directors of the Philadelphia Industrial Development Corporation (PIDC), the Philadelphia Alliance of Capital and Technology (PACT), Ben Franklin Technology Partners of Southeastern Pennsylvania, Philadelphia Academies Inc., USA250, as well as being the former chair and president of Philly Startup Leaders.Moul is also an active advocate for entrepreneurship and education in Philadelphia. He serves on the board of directors of the Philadelphia Industrial Development Corporation (PIDC), the Philadelphia Alliance of Capital and Technology (PACT), Ben Franklin Technology Partners of Southeastern Pennsylvania, Philadelphia Academies Inc., USA250, as well as being the former chair and president of Philly Startup Leaders.

Bob was named a 2011 Ernst & Young Entrepreneur of the Year finalist for Philadelphia, the 2013 Small Business Person of the Year by the Philadelphia Chamber of Commerce, and one of the most influential business people in Philadelphia by both Philadelphia Magazine and the Philadelphia Business Journal.

Bob’s career-long dedication to innovation, the technology industry, and community engagement ensures this keynote will go well beyond traditional keys to success. His insights from a long and illustrious career will bring a well-rounded perspective to Drupaldelphia 2016.

More about Drupaldelphia

Drupaldelphia is Philly's annual gathering for all things Drupal, the open source content management system. This event attracts developers, site-builders, content administrators, designers, and anyone interested in using Drupal in their organization or upcoming project. This spring, it will again be hosted at the Pennsylvania Convention Center at 1101 Arch St Philadelphia, PA 19107. You can buy tickets now on the Drupaldelphia website.

* This post is based on a press release that originally appeared on Drupaldelphia.

Categories: Drupal

Comment Repair

New Drupal Modules - 7 March 2016 - 8:50am

Adds administrative tool to repair broken comment threading.

Usage

  • Enable module.
  • Set "Repair comment threading" permission to desired user roles.
  • Go to repair page: /admin/content/comment/repair

Drupal 8 version is in the works.

Categories: Drupal

Drupal Association News: Voting Open for 2016 At-Large Board Seats

Planet Drupal - 7 March 2016 - 8:50am

Voting is now open for the 2016 At-Large Board positions for the Drupal Association! If you haven't yet, check out the candidate profiles and review the Meet the Candidate sessions (we ran three) that we held. Get to know your candidates, and then get ready vote.

Cast Your Vote!

How does voting work? Voting is open to all individuals who have a Drupal.org account by the time nominations open and who have logged in at least once in the past year. These individuals' accounts will be added to the voters list on association.drupal.org and they will have access to the voting.

To vote, you will rank candidates in order of your preference (1st, 2nd, 3rd, etc.). The results will be calculated using an "instant runoff" method. For an accessible explanation of how instant runoff vote tabulation works, see the this video.

Elections will be held from 7 March through 18 March (midnight UTC) 2015. During this period, you can still review and comment on candidate profiles.

Have questions? Contact Drupal Association Executive Director Holly Ross.

Categories: Drupal

Elavon Subscription

New Drupal Modules - 7 March 2016 - 7:49am

This module allows you to create subscriptions using the Elavon service.

It includes an example submodule that integrates with Drupal Commerce, but the core is Rules based so could be used to integrate with any other payment/e-commerce systems.
It plays nicely with the Commerce Realex Subscriptions module.

Categories: Drupal

Twig Extender

New Drupal Modules - 7 March 2016 - 7:41am

Add a simple plugin system to add new twig extensions (Filter and Functions). Provides a new service provider for "twig.extensions" to add new plugins.

Two plugins are included:

Filter: truncate
A Wrapper for https://api.drupal.org/api/drupal/core!lib!Drupal!Component!Utility!Unic...

Categories: Drupal

IXIS: Drupal 8: Creating field types with multiple values

Planet Drupal - 7 March 2016 - 7:15am

In learning about custom Drupal 8 module development, I found plenty of very simple field module examples, but none that covered how to store more than one value in a field and still have it work properly, so it's time to fix that.

To save you typing or copy and pasting things around all the code in this post is available on Github at https://github.com/ixis/dicefield

Concepts

There are three main elements to define when creating a field type:

read more

Categories: Drupal

Path Entity Context

New Drupal Modules - 7 March 2016 - 6:36am

Module provides a CTools context that loads an entity of given type from a given path argument.

E.g. if current path is user/%user/orders/%commerce_order, the module allows to obtain commerce order
object from the fourth path argument.

The module adds one new context per entity type (e.g. "Node from path", "User from path"). Context settings form allows
to select the path argument position to use as entity ID.

Categories: Drupal

tanay.co.in: Drupal Association Board Elections - Shyamala for Director at Large

Planet Drupal - 7 March 2016 - 2:31am

Starting Monday, you can vote for the next at-large director on our board. Before you do, our candidate sessions: https://t.co/B0lUqmUac4

— Drupal Association (@DrupalAssoc) March 4, 2016

Drupal Association Board Elections are around. So what are these elections? How would it matter to anyone in the Drupal community? Why should one vote?

The At-large Director position is Drupal Association’s way to ensure community representation on the Drupal Association board. ie, you could have a share in shaping the future of Drupal Association by voting for the right candidate whom you think would best represent the community’s interests. You can see the list of candidates competing for this here. More about the election process here.

I have decided to vote for Shyamala Rajaram. I met Shyamala for the first time in November 2008 at a Chennai Drupal Meetup, which she had organized. I had just moved into the city, for my job at TATA Consultancy Services. That was my first weekend in Chennai. Didn’t have many friends around and a lot of time to kill. Drupal, at that time to me, was one of the many CMSs that I had freelanced earlier. Although it was my favorite. But I never saw it as a career option. And was surprised to see a meetup happening in Chennai that weekend and thought of dropping by.

But the meetup definitely had a significant impact on my life and career. I had dabbled a lot with Drupal while in my college (Vellore Institute of Technology). Though Drupal was my favorite, I had always seen in as one of the many CMSs that were mushrooming every day in the PHP ecosystem. This specific meetup gave me an opportunity to see that Drupal and its community existed outside of the internet as well ;-)

And what surprised me the most was that the newspaper portal that I read every day then, one of the largest in India, was actually powered by Drupal, and architected by none other than Shyamala and her team!

Being one of the first adopters of Drupal in India, Shyamala has been organizing meetups in and around Chennai since 2007. She has spearheaded many community initiatives, including taking Drupal to Colleges in and around Chennai.

I believe she has the right mix of leadership and technical capabilities and can best represent the Drupal community in general, and India & Asia in specific, on the board of Drupal Association. All the very best Ma’am!

 
Categories: Drupal

Zoocha Blog: Setting up Drupal Code Sniffer

Planet Drupal - 7 March 2016 - 2:22am

A few weeks ago I had to go through the process of setting up php code sniffer on my new computer, and realised how confusing most of the blog posts out there are and how many loops and posts you have to jump through to get it set up.

I decided to write a quick post with all the commands in one place and small descriptions for most of the commands:

Installing Drupal Coding Sniffer

1. Download php code sniffer (source code: https://github.com/squizlabs/PHP_CodeSniffer)

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

sudo mv phpcs.phar /usr/bin/phpcs

sudo mv phpcbf.phar /usr/bin/phpcbf

sudo chmod a+x /usr/bin/phpc*

Test that it's installed by running phpcs -hand it should output the code sniffer help.

2. Download the Coder module

Note: download the 8.x branch, even if you intend to use it on Drupal 7.

You can download it in any 'normal' folder, but not in a Drupal project.

cd /folder/where/i/want/coder

drush dl coder

It should download the latest version which is 8.x - if it doesn't then add --select to the drush command and choose the 8.x branch.

3. Add Drupal standards to PHP Code Sniffer

Tell phpcs to use the Drupal standards from the downloaded Coder module:

sudo phpcs --config-set installed_paths /folder/where/i/want/coder/coder/coder_sniffer

At this point you have PHP Code Sniffer set up with Drupal coding standards.

You can use it from command line by running:

phpcs --standard=Drupal file/to/check

or add it to your favourite text editor/IDE.

Adding code sniffer to Sublime

Here are the few steps you need to follow to add it to Sublime Text 2/3:

1. Download the Sublime Build file from the repo: https://github.com/sirkitree/DrupalCodingStandard

wget https://raw.githubusercontent.com/sirkitree/DrupalCodingStandard/master/DrupalCodingStandard.sublime-build -O ~/.config/sublime-text-3/Packages/User/DrupalCodingStandard.sublime-build

If you don't know where your Sublime installation saves its packages then open Sublime, go to Preferences > Browse Packages, and replace the above path with yours.

2. Activate the Drupal Build file by going to Tools > Build System > DrupalCodingStandard in Sublime.

3. Open any Drupal file and hit Ctrl (Cmd) + B to run the sniffer on that file.

Adding code sniffer to PHPStorm

I have recently started using so am slowly getting used to it and setting up features I used to use in Sublime. Adding PHPCS to PHPStorm is simple and only takes a few steps.

Go into the Settings and either search for the keywords 'code sniffer' or go to Languages&Framerworks then Code Sniffer under the PHP section.

In the Development environment I have chosen Local and clicked on the ... next to the drop down. Add your /usr/bin/phpcs path to the phpcs path and click Validate to make sure it picks it up.

Now that you have phpcs added as a code sniffer we need to tell the 'Inspections' to use it.

In the same settings window, either search for 'code sniffer' again, or go directly to Editor > Inspections. Tick the box for PHP Code Sniffer validation under PHP and then choose the 'Coding standard' from the right hand pane. If the only values in the drop down are 'Custom' or you cannot find 'Drupal' in there then hit the little 'refresh' button next to the drop down and it should pull all the coding standards added to your php code sniffer. Then choose 'Drupal' from the drop down and you are good to go.

The code sniffer will start adding errors/warnings inline in Drupal files, or you can run a code inspection manually by going to Code > Inspect Code and choosing either the whole project or the current file.

 

Sources:

http://github.com/squizlabs/PHP_CodeSniffer

https://www.drupal.org/project/coder

http://github.com/sirkitree/DrupalCodingStandard

http://www.jetbrains.com/phpstorm/help/using-php-code-sniffer-tool.html

Categories: Drupal

File Force Download Imagecache

New Drupal Modules - 7 March 2016 - 1:32am

Extension for File Force Download module to apply an image style (AKA imagecache) on the downloadable image file.
In contrast to the File Force Download only, which this module extends, it doesn't simply allow to download the original image file but to download an image style derivate of the image instead.
This is for example helpful, if you want to preprocess the downloadable image style generally first (watermarking, etc.).

Categories: Drupal

Update log

New Drupal Modules - 6 March 2016 - 12:58pm

The Update log module provides an overview to all updates, providing information of each update. It will log each update that is processed via Drush or update.php.

Categories: Drupal

Webform draft authlink submissions

New Drupal Modules - 6 March 2016 - 9:53am

Webform extension to allow save draft submissions to anonymous users and complete this form later with an authlink.

Webform patch must be applied:
https://www.drupal.org/node/2682057#comment-10938171

How to activate:

1. Create/Edit a webform
2. Go to webform -> Form settings (node/X/webform/configure)
3. Advanced settings:
- Check: Show "Save draft" button
- Check: Allow "Save draft" authlink
4. Save

Categories: Drupal

CKEditor CodeMirror

New Drupal Modules - 6 March 2016 - 12:15am

CKEditor CodeMirror module adds syntax highlighting for "Source View" in CKEditor WYSIWYG editor using CKEditor CodeMirror Plugin.

Categories: Drupal

Boxout

New Drupal Modules - 5 March 2016 - 10:47pm

A CKeditor plugin that allows editors to add a block of text to the content.

When you click on the Boxout button, a popup will be displayed and you can insert a Header and a Body. Click Insert and it will add a div that will format and display the box as you can see on the snapshot attached.

See the Step by step guide on how to Install and use here: https://drupal.org/node/2086583

Categories: Drupal

Greg Boggs: Drupal 8 Theming Best Practices

Planet Drupal - 5 March 2016 - 11:43am

The theming guide for Drupal 8 will get you started in the basics for theming a Drupal site. But, once you’ve learned the basics, what best practices should you be applying to Drupal 8 themes? There are lots of popular methods for writing and organizing CSS. The basics of CSS, of course, apply to Drupal.

  • Don’t get too specific
  • Place your CSS in the header and JavaScript in the footer
  • Organize your CSS well
  • Theme by patterns, don’t go top down
  • Preprocess your styles
Use configuration first

When it comes to Drupal, there are some common mistakes that happen when a front end developer doesn’t know Drupal. In general, apply your classes in configuration. Do not fill your Drupal theme with custom templates like you would for WordPress. Template files, especially with Twig, have their place. But, configuration should be your primary tool. My favoriate tool for applying classes is Display Suite and Block class. Panels is also good. And, fences isn’t terrible.

By applying your classes in configuration allows you to easily edit, reuse, and apply classes across every type of thing in Drupal. If you apply your classes with templates, it’s difficult to apply them across different types of content without cutting and pasting your code. However, don’t be afraid to use some presentational logic in your Twig templates.

Be careful what you target

In Drupal, there are many times where the only selector you have that will work is an ID. If you have this problem, Don’t use it! Never, ever, ever, apply your CSS with ids in Drupal. This is true for every framework, but in Drupal it’s a bigger problem because IDs are not reusable, they are hard to set, and they often change. A backend developer will not be able to apply your styles to other items without fixing your CSS for you. Don’t write CSS that you know a PHP programmer will have to rewrite because you don’t want your PHP programmer writing CSS.

Use view modes

Make sure to target your styles to reusable elements. So, avoid node types because those aren’t reusable on other nodes. Instead, use view modes and configuration to apply selectors as you need them.

Avoid machine names

This relates back to avoiding IDs. Machine names in Drupal sometimes need to change, and they are not reusable. So, don’t target them. Instead use view css, block class and configuration to apply classes to your content.

Don’t get too specific

Drupal 8 markup is better, but Drupal is still very verbose. Don’t get sucked in by Drupal’s divs. Only get as specific as you need to be. Don’t replicate Drupal’s HTML in your CSS.

Apply a grid to Drupal

Choose a grid system that allows you to apply the grid to any markup like Singularity or Neat. While you certainly can Bootstrap Drupal. Using Bootstrap on Drupal requires a heavy rewrite of the HTML which will break contributed modules like Drupal Commerce in obscure, hard to fix ways.

Use a breadcrumb module

Do not write advanced business logic into your theme templates. If your theme is programming complex features, move that code to a module. Or, install modules like Current Page Crumb, or Advanced Agg to handle more complex functions. This isn’t WordPress, your theme shouldn’t ship with a custom version of Panels.

Don’t hard code layouts

Use {{ content }} in your templates and let the View Modes, Display Suite, or Panels handle your layouts.

Don’t use template.php

If you need some ‘glue’, write or find a module meant for it. Drupal is built by many, many tiny modules. Learn to love it because well-written modules are reusable, maintained for free and always improving. Custom code dropped into your theme makes for hard to maintain code.

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal