AWS Cloudsearch

New Drupal Modules - 15 December 2017 - 4:03am

AWS Cloudsearch works like Solr and other search Engine.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: What makes Drupal SEO friendly

Planet Drupal - 15 December 2017 - 3:51am
To achieve the highest ranking in the search engine, the website has to be SEO friendly. Google SERP (Search Engine Results Page) has one of the most important roles growing businesses with the help of a website. Drupal is a very powerful system that ensures search website optimization with its modules. It gives us the ability to control all the elements of the web pages with the help of already installed automation tools for SEO, which places it at the very top of SEO friendly CMSs. Let's look at some examples.   SEO-friendly URLs Because search engines search for keywords in URLs, they… READ MORE
Categories: Drupal

Amazee Labs: Estimations - Amazee Agile Agency Survey Results - Part 7

Planet Drupal - 15 December 2017 - 2:46am
Estimations - Amazee Agile Agency Survey Results - Part 7

This is part 7 of our series processing the results of the Amazee Agile Agency Survey. Previously I wrote about defining work, this time let’s focus on estimations. How do you estimate and who does estimations in your teams?

Josef Dabernig Fri, 12/15/2017 - 11:46

First, we asked about how teams estimate. 43.3% of the contestants answered “Estimation is done in days/hours”, 20% say “Estimation is done in story points based on complexity” and 16.7% mentioned, “Estimations in done in story points based on effort”. The remaining answers of 3% each varied in different degrees of combined estimations, i.e. teams would estimate on a higher level using story points and compare then against hour based task estimations. Also one of the 30 contestants answered that they don’t do estimates at all. For some background information, you can refer to this article on story points.

At Amazee we do two different kinds of estimations. We estimate in days for the offers that we create and put a general price tag below the contract. This is intended to fix a budget but not to guarantee an exact feature set to be delivered. When we go to the implementation phase, teams estimate Jira tickets using story points. The story points are based both on complexity and effort, based on our velocity we can related story points to a price tag and compare against the initial offer and how much budget is left.

We also asked about who is involved in estimation. 50% say that “the entire team does all estimations”, 36.7% mentioned that “a tech lead does high-level estimates, the team estimates on a lower level”. 6.7% say that “a tech lead does all estimates”.

For us, at Amazee we tend towards having a tech lead doing high-level estimates and having the team estimate on individual stories and tasks which get prepared for a sprint to work. The tech lead role can be fulfilled by any developer of a Scrum team and may change however the team and the team lead decide it would work best. More complex offers get challenged by multiple developers, more straightforward suggestions will be estimated by only one developer together with the PO. All proposals get reviewed by management. When the team does estimations, we do them along with the entire Scrum team. In some instances, we will limit the number of people in estimation meetings to find a balance between shared knowledge and how much time can be spent discussing as a group of people.

How do you estimate? Please leave us a comment below. If you are interested in Agile Scrum training, don’t hesitate to contact us.

Stay tuned for the next post where we’ll look at client interactions.

Categories: Drupal

CultureFeed My Program

New Drupal Modules - 15 December 2017 - 1:03am

This Drupal module extends the CultureFeed Drupal module suite.

It adds the functionality to create a personal list of events a person would
like to attend.

Note: Items are automatically removed once they are passed via a cron hook.

Categories: Drupal

Feeds iCal

New Drupal Modules - 14 December 2017 - 6:02pm

This module provides a Feeds Parser and Feeds Item to allow for the import of content from iCal sources.

The module relies heavily on the johngrogg/ics-parser package which it includes.

Common extensions for iCalendar files are .ical, .ics, .ifb, and .icalendar

This module does not as of yet deal with RRULE occurrences, though the underlying library does, so it would be a matter of adding that functionality to the Feeds Parser.

Categories: Drupal

Chromatic: Announcing a New Decoupled Drupal Project: FamilyCircle.com

Planet Drupal - 14 December 2017 - 1:36pm

FamilyCircle.com provides expert advice about teens, family, food, style and home life, from the editors of Family Circle Magazine. When the time came to design and deploy a headless Drupal/Node.js platform, Meredith Corporation called on Chromatic’s expertise to help lead the way.

Categories: Drupal

WeKnow: Managing a Distributed Team

Planet Drupal - 14 December 2017 - 12:20pm
Managing a Distributed Team

weKnow is a fully distributed company, something we proclaim loudly and proudly to our partners and potential clients when engaging with them. It’s a characteristic that gives us the competitive edge because it highlights weKnow’s core values and the character of every individual that works at here.

I decided to write this because our clients are always amazed by how seamless our operations and projects run. They always seem amazed by the fact that we span 12 countries and cover 6 time zones, yet seamlessly integrate into their projects from kickoff to completion without a hitch. This is how we keep things running smooth…

kabarca Thu, 12/14/2017 - 20:20
Categories: Drupal

DrupalBASE: The information itself is useless

Planet Drupal - 14 December 2017 - 10:58am

The information itself is useless.

Quite original start for a web-published text, isn't it? Still the confirmation is true. Solutions don't demand information, solutions demand clearly organized data. No matter what is the domain – in every situation people tend to organize data in a readable well-understandable formats.

Multiple mechanisms of collecting and storing the data are developed, and technologies continue to progress. But the key question of data presentation often remains ignored.

Categories: Drupal

WeKnow: How we approached building the new weKnow site

Planet Drupal - 14 December 2017 - 10:39am
How we approached building the new weKnow site

It’s been a little over a year since weKnow came to life as a rebranding for Anexus, which allowed me to join the company as a new business partner. My main goal within the company is directing our efforts to explore new fields and technologies (that’s right, we are not just a Drupal shop anymore!)

As a web solution provider, having a website that accurately reflects what we do is a challenging task, because usually our plate is full with client work, and it’s not uncommon to put your own website at the end of the queue. This is why last year we decided to put together a basic landing page while setting aside some time to work on the company image as part of the rebranding.

jmolivas Thu, 12/14/2017 - 18:39
Categories: Drupal

Promet Source: Implementing ADA Section 508 for Local Government: A Developer's Journey to Web Accessibility

Planet Drupal - 14 December 2017 - 6:15am
My name is Katherine Shaw and I am a front end web developer at Promet Source. I'd like to start by sharing a little bit of my background, as it has helped me to understand why accessibility, on the web and in the world around us, is such an important issue. I am an advocate for web accessibility and in today's blog, I'll be share how I became so passionate about implementing ADA Section 508 best practices into my work as a developer, which all began when I was working for local government.
Categories: Drupal

Banana Dashboard

New Drupal Modules - 14 December 2017 - 5:55am

Expose a simple dashboard for users with links to various sections of the site. A unique feature of this module is that the configuration file is a yaml file. The module has no admin ui and is supposed to be used by developers by declaring hook_banana_dashboard_yaml_file_path_alter and providing the custom configuration file.

Sample configuration file

Categories: Drupal

Electric Citizen: Twig for Drupal 8 Development: Twig Templating Part 2 of 2

Planet Drupal - 14 December 2017 - 5:12am

In the recent post Twig for Drupal 8 Development: Twig Templating Part 1, we covered some Drupal Twig templating basics like debugging, custom templates, inheritance, variables, filters, attributes, and macros. This post will cover more advanced topics. You will learn about preprocessing variables, expanding the available templates with theme suggestion, Drupal 8 Views and Twig, and the Twig Tweak module.

Categories: Drupal

Tim Millwood: Drupal Service ID Collectors

Planet Drupal - 14 December 2017 - 1:29am
Drupal Service ID Collectors

Since Drupal 8 we've had services. This also brought the concept of a service collector or tagged services. This allows services to be tagged with a specific tag, then a service collector can collect all services with the a given tag and use whichever service "applies".

As you could imagine loaded all of these tagged services when loading the service collector service can be a performance nightmare, which is why Drupal 8.4.0 brought us service ID collector functionality.

Tagging a service with the service_id_collector tag will pass all services with a given tag as the last parameter in the constructor. This will be an array of service IDs ordered by the priority. You will then need to use the ClassResolver service to lazily instantiate the collected service IDs.

  class: \Drupal\my_module\MyModuleNegotiator
  arguments: {'@class.resolver'}
    - { name: service_id_collector, tag: my_module_negotiator }
  arguments: {'@entity_type.manager'}
    - { name: my_module_negotiator, priority: 100 }
  arguments: {'@entity_type.manager'}
    - { name: my_module_negotiator, priority: -100 }
  arguments: {'@entity_type.manager'}
    - { name: my_module_negotiator, priority: 0 }

 * The negotiator for my module.
class MyModuleNegotiator {

   * The class resolver service.
   * @var \Drupal\Core\DependencyInjection\ClassResolver
  protected $classResolver;

   * The negotiator service IDs.
   * @var array
  protected $negotiatorServiceIds;

   * Constructs the negotiator.
   * @param \Drupal\Core\DependencyInjection\ClassResolver $class_resolver
   *   The class resolver service.
   * @param array $negotiator_service_ids
   *   The negotiator service IDs.
  public function __construct(ClassResolverInterface $class_resolver, array $negotiator_service_ids) {
    $this->classResolver = $class_resolver;
    $this->negotiatorServiceIds = $negotiator_service_ids;

   * Run the negotiators.
  public function runNegotiators() {
    foreach ($this->negotiatorServiceIds as $negotiator_service_id) {
      $negotiator = $this->classResolver->getInstanceFromDefinition($negotiator_service_id);
      if ($negotiator->applies()) {

timmillwood Thu, 14/12/2017 - 09:29 Tags drupal planet drupal-planet drupal8 Add new comment
Categories: Drupal

General Data Protection Regulation Compliance

New Drupal Modules - 14 December 2017 - 12:47am

Basic GDPR Compliance use cases (drupal 8.x only):

  • Form checkboxes
  • Pop-up alert
  • Policy Page
Policy Page

* If the Policy Page does not suit you - create your own, replace the link & clear cache.
* Policy Page based on:

Categories: Drupal

myDropWizard.com: CiviCRM secrets for Drupalers: Email Campaigns

Planet Drupal - 13 December 2017 - 6:14pm

We're Drupalers who only recently started digging deep into CiviCRM and we're finding some really cool things! This series of videos is meant to share those secrets with other Drupalers, in case they come across a project that could use them. :-)

Most Drupalers at one time have had to deal with either sending e-mail newsletters directly from Drupal, or integrating with a 3rd party tool like Mailchimp or Constant Contact.

CiviCRM has built in e-mail newsletter functionality, and if you add to it the WYSIWYG e-mail builder Mosaico you can build really rich, responsive e-mail campaigns!

Watch the video here:

Video of CiviCRM secrets for Drupalers #1: E-mail Campaigns

Some highlights from the video:

  • A sneak peek at Round Earth: our project that bundles Drupal 8 + CiviCRM
  • Drupal 8 + CiviCRM vs. "only" Drupal
  • A quick walk-through on how to quickly and easily create an email campaign
  • Plus, we mention a couple of current "gotchas" that could save you frustration!

Please leave a comment below!

Categories: Drupal

Better Links

New Drupal Modules - 13 December 2017 - 4:52pm

Allows you to configure class and target attributes for a link field.

The Drupal 8 Link field is missing a few vital configurations. This module is an attempt to add some basic features such as classes and a target to the field configuration. Future releases will add more of the attributes needed to create a robust link in an entity.

Categories: Drupal

FFW Agency: The ABC's of Drupal: Region, Revision, Role

Planet Drupal - 13 December 2017 - 4:03pm
The ABC's of Drupal: Region, Revision, Role Ray Saltini Thu, 12/14/2017 - 00:03

For anyone who's ever looked up a definition of a Drupal term and still wondered what it means, here are some practical explanations you can use to navigate the Drupal-verse. This is the latest in a series on Drupal-specific terminology.


Regions divide Drupal pages into different sections. Each section contains information that determines the positions of various elements. These elements can include menus, headers, footers, and sidebars. The elements in each Region are called Blocks. (For more information on Blocks, see Aliases, Blocks, and Content Types.)

A Drupal site's active theme keeps information on the number, name, and location of each Region. Different themes can have different Regions. Typically, administrative themes have fewer regions spaced in wide columns across a page. The themes that face a site's end-users often have more complex layouts, which means more Regions. (To learn more about Themes, see Article, Base Theme, Content.


Together, Blocks and Regions make up Drupal's core's primary layout functionality. This combination is a simple yet powerful solution that has been steadily expanded with each major version of Drupal. 

As a note: Drupal Regions can be overridden by contributed modules such as Panels. Regions can also be overridden by custom page templates that apply to specific URLs or URL alias patterns. While the use of Panels can increase overhead and complexity, it makes additional layouts and landing page capabilities available to site builders. Layouts made with Panels are saved in the site's database, which mitigates the risk of rolling custom code by editing a site's theme files.


A Drupal Revision is a saved version of a set of changes to a piece of Drupal content created with a Content Entity. Revisions apply to any piece of content on a site, including Articles, Basic Pages, and custom content types.

After a piece of content is created, any changes or updates made to the content are saved in new versions, or Revisions. Drupal does this rather than editing an existing published version. These versions are stored indefinitely each time a set of changes is saved, and can be found on a content item's administrative interface. Users can save revisions in unpublished draft form, to be published at a later date. Previous versions can also be republished, which allows content authors to revert content to an earlier state.

Drupal's core revision feature supports a powerful workflow functionality that can be custom-configured to align with an organization's processes for content approval. Revision functionality can also be extended with the contributed Diff module to highlight changes between various drafts.


Roles assign various permissions to a Drupal site's users. This includes the ability to edit and manage content and configure settings. Roles are typically grouped into sets of permissions that are determined by a user's expertise in the organization. A Role is a user-defined set of permissions that can be granted to groups of individuals. Typical Drupal user roles include Administrator (preconfigured), Content Creator, and Content Manager.

Anonymous and Authenticated are two special preconfigured user states that are accessed through the user administrative pages. Anonymous users are typically granted only the most basic permissions. By definition, Authenticated users are those that are known to the system. Authenticated users have an account and unique email address that associated with a cookie that resides locally in their browser.

When new functionality is added to Drupal, additional permissions are typically added to the system. These permissions can then be assigned to new or existing roles.

What Next?

If you've got questions about specific Drupal terms, let us know. Drop a request for a definition in the comments and we'll add it to our next ABCs of Drupal post. 

Categories: Drupal

Azure API

New Drupal Modules - 13 December 2017 - 3:09pm

// WIP

Categories: Drupal


New Drupal Modules - 13 December 2017 - 1:14pm
Categories: Drupal


Subscribe to As If Productions aggregator - Drupal