Main Drupal Feed

Subscribe to Main Drupal Feed feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 3 days 9 hours ago

OPTASY: How to Upgrade to Drupal 9: Just Identify and Remove Any Deprecated Code from Your Website

Fri, 06/21/2019 - 15:01
How to Upgrade to Drupal 9: Just Identify and Remove Any Deprecated Code from Your Website radu.simileanu Fri, 06/21/2019 - 15:01

This is no news anymore: preparing to upgrade to Drupal 9 is just a matter of... cleaning your website of all deprecated code. 

No major disruption from Drupal 8. No more compatibility issues to expect (with dread)...

“Ok, but how do I know if my website's using any deprecated APIs or functions? How do I check for deprecations, identify them and then... update my code?”

2 legitimate questions that must be “haunting” you these days, whether you're a:
 

wishdesk.com: Responsive design in Drupal 8: great core & contributed modules

Fri, 06/21/2019 - 12:23
Drupal 8 has been built with mobile devices in mind. It has responsive default themes, responsive admin interfaces, and powerful opportunities for mobile-friendly design. Great Drupal 8 modules are very helpful in implementing any ideas in this area.

Agiledrop.com Blog: Burnout: Symptoms of developer burnout & ways to tackle it

Fri, 06/21/2019 - 07:06

Burnout is becoming an increasingly prevalent problem, especially in a field as fast-paced as development. In this post, we'll take a look at how you can spot the symptoms of burnout in your developers and what measures you can take to tackle it.

READ MORE

TEN7 Blog's Drupal Posts: Our Drupal site is LIVE on Kubernetes (and Why That’s Awesome for You)

Thu, 06/20/2019 - 19:17

We just moved our Drupal site to DigitalOcean and powered it with fully open-source, Kubernetes infrastructure that you could be using too. This is thrilling for us, and will be for you too!

Hook 42: Reflections of Drupal Camp Chattanooga 2019

Thu, 06/20/2019 - 15:11
Reflections of Drupal Camp Chattanooga 2019 Lindsey Gemmill Thu, 06/20/2019 - 15:11

Ramsalt Lab: GDPR cookie consent banner with categories

Thu, 06/20/2019 - 14:01

EU Cookie Compliance, one of the top 100 Drupal modules, is a Drupal module that offers a cookie consent banner with various features, making it more convenient for your site to become GDPR compliant. GDPR is the new data privacy regulation that came into effect on 25 May 2018 and it sets out to bolster the rights citizens of the EU have over their data which is held by companies. Ramsalt Lab is currently supporting and maintaining the module as part of our GDPR audit services.

According to GDPR, if you have any traffic from EU citizens on your site, you need to ask for consent before you, or third-party scripts, process any of their personal data.

One recurring GDPR feature request we’ve seen over the past few years has been to allow granularity in the cookie compliance consent, so that the user could accept or decline various cookie categories. This feature has now been added to the recently released versions 8.x-1.6 and 7.x-1.29. You can find the new consent method on the module settings page. To enable this feature, select “Opt-in with categories” as the consent method.

In this blog post, you can learn how to configure the EU Cookie Compliance banner to use GDPR categories, as well as how to use the categories in your code to track the user only when they give consent.

GDPR consent banner configuration

Choosing this consent method reveals an expanded set of fields named “Cookie Categories” that you can find beneath the “Consent method” options. Here you can set up your cookie categories and configure how the banner behaves. Let’s first look at the categories:

Categories are entered using the following pattern: “key|label|description”. The description is optional. The above setup will result in the following EU Cookie Compliance consent banner:

This will result in a fairly large GDPR consent banner. Note that the banner appearance in EU Cookie Compliance is based on a Drupal theme template, so you could always create a theme specific template and for example place the descriptions on the same line as the title, or perhaps have the descriptions appear on hover if space is a concern. By default, the banner has two buttons when you use the category consent method: “Save preferences” and “Accept all cookies”.

Below the text field for cookie consent categories are some additional options. The first option, which is on by default allows you to replace the “Agree” button with the two “Save preferences” and “Accept all cookies” buttons. In addition to labeling the buttons, you can also choose to make the first option compulsory by choosing “Tick the first checkbox and mark it read-only”. You can also choose to “Tick all category checkboxes by default” to make it more convenient for the user to opt-in to cookie usage under GDPR.

Code usage

In order to let your site and javascript comply with the cookie preferences set by the visitor, you may have to write some custom code. Although EU Cookie Compliance has some options to whitelist cookies and block scripts, not all scripts are added to the page source using the standard Drupal methods and can be altered through f.ex hook_js_alter in Drupal 7 (which is what the module attempts to do).

EU Cookie Compliance has for years had a method you can call to check if the user has agreed to store cookies and processing their personal data:

Drupal.eu_cookie_compliance.hasAgreed()

This function will return true when consent is given, and false when the user has declined processing of their data.

With the newly introduced categories, you can call the same function with a parameter:

Drupal.eu_cookie_compliance.hasAgreed(category)

Where ‘category’ is one of the category keys that you have defined on the EU Cookie Compliance module settings page, for example:

if (Drupal.eu_cookie_compliance.hasAgreed('performance')) {
  // Load scripts that deal with performance.
}

Conclusion

Many high profile sites allow visitors to choose among categories when the visitors give consent to the processing of private data through cookies in their browser. Now your site can do offer the same granularity if you use a recent version of the EU Cookie Compliance module.

If you need help setting up your GDPR cookie banner, or have questions about how your site can become GDPR compliant, you can always get in touch with us at Ramsalt Lab through our contact page.

OPTASY: Laravel or Drupal 8? What Are the Key Differences? Which One Best Fits Your Use Case Scenario?

Thu, 06/20/2019 - 13:34
Laravel or Drupal 8? What Are the Key Differences? Which One Best Fits Your Use Case Scenario? adriana.cacoveanu Thu, 06/20/2019 - 13:34

What does Drupal 8 do that Laravel does not? What key functionalities, that Drupal ships with, do you need to build from scratch in Laravel? And how would opting for Laravel benefit your specific type of project? In short: Laravel or Drupal 8?

“It's like comparing apples to oranges” some might say since one's a framework and the other one a CMS.

Even so, if it's unclear to you what are their particular use cases and their built-in features, you can't know whether it's a CMS or a framework that best suits your project type, right? That best serves your project-specific needs:
 

Horizontal Integration: Customize distributions with sub-profiles

Thu, 06/20/2019 - 13:00
We've been starting many of our projects using Acquia's Lightning distribution. This gives a good, consistent starting point for and helps speed development through early adoption of features that are still-in-the-works for Drupal 8. Like other distributions, Lightning bundles Drupal Core with a set of contributed modules and pre-defined configuration. While Lightning is a great base to start from, sometimes you want to deviate from the path it provides. Say for example you want to use a Paragraphs based system for page components, your client has a fairly complex custom publishing workflow, and you also have different constraints for managing…

Dries Buytaert: Announcing a private beta of Acquia Content Cloud

Thu, 06/20/2019 - 08:55

Earlier this week at our Acquia Engage conference in London, Acquia announced a new product called "Content Cloud", a headless, SaaS-based content-as-a-service solution built on Drupal.

Years ago, we heard that organizations wanted to:

  • Create content that is easy to re-use across different channels, such as websites and mobile applications, email, digital screens, and more.

  • Use a content management system with a modern web service API that allows them to use their favorite front-end framework (e.g. React, Angular, Vue.js, etc) to build websites and digital experiences.

As a result, Acquia spent the last 5+ years helping to improve Drupal's web services capabilities and authoring experience.

But we also heard that organizations want to:

  • Use single repository to manage all their organization's content.
  • Make it really easy to synchronize content between all their Drupal sites.
  • Manage all content editors from a central place to enable centralized content governance and workflows.
  • Automate the installation, maintenance, and upgrades of their Drupal-based content repository.

All of the above becomes even more important as organizations scale the number of content creators, websites and applications. Many large organizations have to build and maintain hundreds of sites and manage hundreds of content creators.

So this week, at our European customer conference, we lifted the curtain on Acquia Content Cloud, a new Acquia product. Acquia Content Cloud is a content-as-a-service solution that enables simplified, headless content creation and syndication across multi-channel digital experiences.

For now, we are launching an early access beta program. If you’re interested in being considered for the beta or want to learn more as Content Cloud moves toward general availability, you can sign up here.

In time, I plan to write more about Content Cloud, especially as we get closer to its initial release. Until then, you can watch the Acquia Content Cloud teaser video below:

Aten Design Group: Six Drupal 8 Modules for Working with Datasets

Wed, 06/19/2019 - 14:37

Earlier this month we launched a redesign of the Commonwealth Fund’s Health System Data Center, a platform for exploring state health system data through custom tables, graphs and maps. With interactive visualizations covering dozens of topics, roughly 100 indicators, and tens of thousands of individual metrics, the platform helps make underlying data actionable for advocates, policy makers, and journalists tackling healthcare system issues all over the country.

We used Drupal 8 to build the data center backend, and we used React and Highcharts to render its interactive charts and graphs. Drupal 8’s flexible entity storage system made it a perfect fit for housing the data. Its capabilities for leveraging third-party APIs and JavaScript libraries made integrating with React and Highcharts far simpler than other alternatives.

We’re all incredibly excited to see the Health System Data Center live. For us at Aten, this is the latest in a series of project launches dealing with data visualization. Along the way, we’ve been working on a collection of tools specifically tailored to the unique needs of data-intensive projects. Here are six Drupal 8 modules that help solve specific challenges when working with data. (Note that some of these are sandbox modules. While sandbox modules don’t have official releases, you can still download the code, try them out, and of course, get involved in the issue queue!)

Six Drupal Modules for Working with Datasets Datasets

We’ve worked on a lot of data projects that use a common architecture. Typically, projects include a collection of Datasets, each of which references a variable number of specific Indicators and Metrics. This module provides custom entities and related functionality for quickly deploying this common architecture.

JS Entity

When embedding multiple instances of a Javascript application on a page (in this specific case, a React app), we often need a way to very quickly pass data to the DOM. This module provides a configurable approach for defining which fields should be passed directly to Drupal’s JavaScript API for each specific view mode. It also offers a number of configuration options, including the ability to rename properties (or field names) to match what your application is looking for.

JS Component

Here at Aten, data projects often involve dynamic visualizations built as JavaScript applications (specifically with React or Vue) that are both embedded within a page rendered by Drupal and leverage data stored in Drupal’s entity system. This module provides an easy way for developers to define JavaScript apps entirely in YAML configuration files, which are exposed in Drupal automatically as blocks. Since they are ultimately just blocks, defined applications can be added to pages by any of the typical means.

MarkJS Search

We often need a way for users to quickly search through a lengthy list of indicators. This module provides fast, responsive highlighting and filtering for search input by leveraging the 3rd-party Mark.js JavaScript library.

Entity Importer

Site owners need a way to keep data accurate, relevant and up-to-date. This module provides a drag-and-drop interface for Drupal’s migrate functionality, making it easy to upload datasets as a series of CSV files. (Learn more from an earlier post: Entity Import: A User Interface for Drupal 8 Migrations.)

Entity Extra Field

When working with JavaScript applications exposed in Drupal as custom blocks, we often want a way to push those blocks directly into the node view page. This module provides a way for site builders to define Extra Fields on entities, which can be blocks, views, or tokens. Extra Fields can be placed and rearranged like any other entity field. (Entity Extra Fields module leverages Drupal’s “Extra Field” system. To learn more about Extra Fields, read Placing Components with Drupal's Extra Fields).

Let’s Talk

If you’re considering a data project for your organization and having trouble getting started, we’d love to help – whether that means talking through long-term goals, responding to a formal RFP, or anything in between. Get in touch and let’s talk about your data.

TEN7 Blog's Drupal Posts: Episode 062: 2019 Flyover Camp With Tess Flynn

Wed, 06/19/2019 - 14:05

Our frequent DrupalCamp attender and speaker, DevOps Tess Flynn, returns to the podcast to recap her recent experience at Flyover Camp, a brand new Drupal camp in Kansas City, Missouri.

Host: Ivan Stegic
Guest: Tess Flynn, DevOps Engineer at TEN7

Podcast highlights: 

DrupalEasy: DrupalEasy Podcast 220 - Jen Lampton - Backdrop

Wed, 06/19/2019 - 09:34

Direct .mp3 file download.

Jen Lampton (Backdrop user account), co-founder of Backdrop CMS, senior Drupal developer at Jeneration.com joins Mike Anello and Ryan Price to get reacquainted with Backdrop and to discuss why it could be a good long-term solution for sites after Drupal 7's end-of-life.

Discussion DrupalEasy News Upcoming Events Sponsors Follow us on Twitter Subscribe

Subscribe to our podcast on iTunes, Google Play 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.

TIP Solutions: Migrating data from .CSV files using feeds and commerce feeds modules

Wed, 06/19/2019 - 08:14

In the last article, we programmed a new module which created CSV files from data on a different server. Now, we need to migrate this data into our live-system. As first step we need to create a commerce store to which our products and product variations belong. Otherwise, they cannot be imported.

Migration Commerce Planet Drupal

Lucius Digital: Headless Drupal | Dynamically load React's javascript and css files as libraries in decoupled Drupal.

Wed, 06/19/2019 - 07:58
Last month we worked in a project where we implemented a progressively decoupled Drupal platform. We needed a React.js frontend to to all kind of magic that was less available in Twig.

Electric Citizen: 2019 Twin Cities Drupal Camp Recap

Tue, 06/18/2019 - 21:53

The 9th annual TC Drupal Camp (“TCDC”) took place earlier this month (June 6-8th), and I was once again “on the scene” for this great regional conference.

Around 200 people convened in downtown Minneapolis in June for great sessions, keynote, training, networking and socializing during a beautiful and sunny week in Minnesota.

As one of the core volunteer organizers, I got to work alongside some great community members and really get a close up view of all that took place. So for those who missed it, let’s recap the conference!

Nonprofit Drupal posts: June Drupal for Nonprofits Chat

Tue, 06/18/2019 - 15:32

Our normally scheduled call to chat about all things Drupal and nonprofits will happen this Thursday, June 20, at 1pm ET / 10am PT. (Convert to your local time zone.)

Feel free to share your thoughts and discussion points ahead of time in our collaborative Google doc: https://nten.org/drupal/notes

We have an hour to chat so bring your best Drupal topics and let's do this thing!

Some examples to get your mind firing: how do I recreate [feature] on my Drupal 7 site in Drupal 8? I need to explain [complicated thing] to a non-technical stakeholder -- any advice? How can I get Drupal and my CRM to play nicely?

This free call is sponsored by NTEN.org but open to everyone.

View notes of previous months' calls.

ComputerMinds.co.uk: 10 Interesting Drupal Modules

Tue, 06/18/2019 - 13:07

Drupal is lucky to benefit from a very active community of developers meaning that there is a wide and varied range of contributed modules to extend the functionality of Drupal core. In this article we’ll take a quick look at 10 interesting contributed modules; some are well known whilst others are a little bit more obscure.

1. Admin_menu (D7) / Admin_toolbar (D8)

Out of the box the Drupal admin interface can be a bit unwieldy and whilst this has been significantly improved over the years, especially with the advent of Drupal 8, there’s still room for improvement. Enter admin_menu/admin_toolbar which are two similar modules to make navigating the admin interface a whole lot easier by providing a neat little toolbar with drop downs so you can navigate the whole admin interface from any page of your site.

2. Kraken

This module allows you to use the kraken.io web service to optimise images on your website. It works be exposing a kraken optimise image style effect which can be applied to image styles on your Drupal website.

3. Popup_field_group

This is a nice little module maintained by ComputerMinds which gives the option to display the children of a field group in a popup overlay. Buttons are exposed to toggle the popup.

4. Flood_unblock

Drupal 7 introduced a feature to prevent brute force attacks meaning that no more than five failed login attempts per user in any six hour period or no more than 50 failed attempts from an IP address in a one hour period are allowed. Failed login attempts are recorded in the flood table and this module gives administrators an easy way to unblock users that have exceeded these limits.

5. Paragraphs

Paragraphs give much greater control over content creation on your Drupal site. A paragraph is a set of fields which has its own theme associated with it to give much greater flexibility over how content gets rendered on your site. So for example you might have a paragraph which floats an image left and displays text on the right - the possibilities are endless. Take a look at tiles in action to find out more about working with paragraphs (we use the term tiles to mean the same thing!)

6. Stage_file_proxy

This module is useful when working on a development version of your Drupal site by providing a proxy to the production site’s files directory. When you need a production file the module maps this the production files directory and downloads it to your development files directory.

7. Field_display_label

This is a nice little module to allow you to change a field label on the edit form so that it’s difference to what’s rendered when the field is displayed. So for example you might have a name field labelled ‘what’s your name?’ on the edit form which just renders ‘name’ when it’s displayed.

8. Custom_add_another

Another simple module maintained by ComputerMinds which gives site admins the ability to customise the ‘add another’ text for multi valued fields.

9. Notice_killer

This is a nice little module that will split out PHP notices and warnings from other Drupal notices and also logs a bit more information about each so that you can track them down and fix them more easily.

10. Rabbit_hole

This is a useful module that prevents certain entities from being viewable on their own page. So for example if you have an image content type which you never want to be accessible on node/xx then this is the module for you!

Dries Buytaert: Web personalization made simple: announcing the all-new Acquia Lift

Tue, 06/18/2019 - 10:15

Today, we released a new version of Acquia Lift, our web personalization tool.

In today's world, personalization has become central to the most successful customer experiences. Most organizations know that personalization is no longer optional, but have put it off because it can be too difficult. The new Acquia Lift solves that problem.

While before, Acquia Lift may have taken a degree of fine-tuning from a developer, the new version simplifies how marketers create and launch website personalization. With the new version, anyone can point, click and personalize content without any code.

We started working on the new version of Acquia Lift in early 2018, well over a year ago. In the process we interviewed over 50 customers, redesigned the user interface and workflows, and added various new capabilities to make it easier for marketers to run website personalization campaigns. And today, at our European customer conference, Acquia Engage London, we released the new Acquia Lift to the public.

You can see all of the new features in action in this 5-minute Acquia Lift demo video:

The new Acquia Lift offers the best web personalization solution in Acquia's history, and definitely the best tool for Drupal.

Agiledrop.com Blog: Interview with Mario Hernandez of Mediacurrent: Contributing to Drupal through workshops and training

Tue, 06/18/2019 - 06:45

Meet Mario Hernandez, Senior Frontend Developer at Mediacurrent. With over 10 years of experience in Drupal, Mario has seen the CMS evolve significantly throughout the years. Find out more about some of Mediacurrent's most interesting projects and what aspect of his work Mario enjoys the most.

READ MORE

Mediacurrent: Introducing Open Waters - A New Podcast for Strategic Marketing with Open Source

Mon, 06/17/2019 - 22:33

​Mediacurrent is proud to announce the launch of our new podcast with the release of our pilot episode. Open Waters is a podcast exploring the intersection of open source technology and digital marketing. It’s made especially for CMO's, Directors and Managers of Marketing, technology, and digital strategy.

Our Purpose

We think open source is an ocean of opportunity to maximize your martech investment. 

We encourage you to listen and learn about using open source technology and forward thinking marketing strategy to generate and convert leads, improve security, increase speed to market, and identify the ROI of your digital investments. Our goal is to educate about the challenges and solutions we see with our own clients and in the market.

Welcome to Open Waters - Episode 0 

Dive in to our pilot episode!



Audio Download Link

In this episode:

  • New format, shorter but more frequent episode release schedule.
  • We're taking a different direction from our Mediacurrent Dropcast, no longer focused strictly on Drupal. Instead, we will be talking about the business benefits of open source software.
  • We are going to change up some sections. A little less news, and more about solutions.
  • We will probably still do the Pro Project pick from our Dropcast
     

Upcoming Episodes:

  •  Ben Robertson, who presented at the GatsbyJS Days conference in December, will join us to talk about the benefits of Gatsby JS.
  • Mario Hernandez will be on the podcast to talk about our upcoming expanded training for components. 
  • We’ll have an episode to talk about how to choose a CMS, whether it’s Drupal, WordPress, or any of the other bazillion options.
  • Bob Kepford, you may have heard of him, will be on to talk about serverless 101 and the problems it can solve.
  • We will have Jason Lengstorf from Gatsby on to talk about the project.
  • And much, much more.
Subscribe to Open Waters 

New episodes will be released tri-weekly on Tuesdays.

How Can I Support the Show?

Subscribe, leave a review, and share about us on social media with the hashtag #openwaterspodcast. Have an idea for a topic? Tweet at our hosts Mark Casias, Bob Kepford, and Mario Hernandez. Be sure to subscribe in your favorite podcast platform. Links to follow.

Pages