Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 20 hours 46 sec ago

Jacob Rockowitz: Webform Cards... To infinity and beyond!!!

Mon, 2020-06-22 17:10

Our expectations of the Webform module are directly tied to Drupal’s Form API, a robust and secure framework for building, validating, and submitting forms. Still, Drupal’s current Form API implementation is about ten years old. It is starting to show its age. When Drupal’s Form API was built 16 years ago, form rendering and validation were always executed server-side; Ajax was a new kid on the block. Now, with modern frontend frameworks, like React and VueJS, form rendering and validation happen clientside, in the web browser. This approach results in a faster, more flexible ‘modern’ user experience.

Modernizing Drupal and Webform User Experience

The Drupal community is working on modernizing Drupal’s user interface and experience. In the meantime, Drupal and the Webform module should provide the best user experience possible. Any request to the server (aka the Drupal backend) is, by definition, slower than changes and behaviors happening in the client (aka web browser). The first step to improving Drupal and the Webform module’s user experience and performance to move most data validation to the client’s web browser using clientside validation.

Clientside validation

Even though modern browser’s support HTML 5 Clientside validation, the implementation is inconsistent and there are known accessibility issues. The Clientside Validation module , which uses the jQuery Validation plugin, solves some of these accessibility issues and offers the most consistent user experience. Installing the Clientside Validation module will immediately improve...Read More

Categories: FLOSS Project Planets

DrupalCon News: Drupal9 at DrupalCon Global

Mon, 2020-06-22 13:15

The Drupal community has accomplished amazing things with the release of Drupal 9. It’s the easiest major version upgrade in a decade, extending the pattern of continuous innovation from Drupal 8, with dramatically easier tools for end-users. 

DrupalCon Global is a great opportunity to learn more about Drupal 9 and the Drupal project overall. No matter your role or where you are in your Drupal journey, there are sessions that will give you the content you need. 

 

Categories: FLOSS Project Planets

Sooper Drupal Themes: Sooperthemes is now DXPR. Meet DXPR Builder 1.0.0: The Drupal Layout Builder For Marketers

Mon, 2020-06-22 10:21
A Drupal Authoring Experience For Marketers

We are excited to announce that as of June 22nd, 2020, we have a new name and brand identity:

Sooperthemes is now called DXPRWhy we are rebranding

Starting 10 years ago we have worked to make Drupal easier to use for everyone. In the past 10 years, much has changed for all of you who interact with Drupal in some way.

With the introduction of Drupal 8, a new era of scalable, more reliable development practices were introduced. With Drupal 9, an affirmation of Drupal's intent for long-term stability and easier updates has calmed everyone's hearts (at least here at DXPR).

Drupal authors and digital marketers have replaced themers and site builders as our primary audience. 5 years ago our focus started shifting from developing our low-code Drupal theming framework towards developing a visual authoring experience that lets authors create media-rich, mobile-friendly pages without coding. 

Jurriaan Roelofs, Founder at DXPRTry live demoIntroducing DXPR Builder 1.0.0

Inspired by you — our customers and supporters — we introduce DXPR Builder: the layout builder that showcases the result of our 5 years of listening, developing, and improving the Drupal experience for Drupal's most important audience: The Authors.

Authors, especially digital marketers, have been frustrated by the lack of a visual layout builder for Drupal. With the inability to create mobile-friendly layouts, digital marketers relied on IT support to create landing pages, or even anything more complicated than a Word document.

With DXPR Builder, you can upgrade any Drupal 7, 8, or 9 websites with the following awesome no-code capabilities:

  • Immediate inline editing
  • Mobile-friendly layouts up to 12 columns
  • Access your local media or DAM
  • Add marketing elements including icons, countdown timers, and more
  • Supports Drupal views, blocks, translations, revisions, workflows, and other Drupal technologies.
Giving back to the open-source community: DXPR Theme on d.o.

Because our source driver of new business is now our Drupal layout builder module we have decided to open-source the DXPR Theme.

DXPR Theme, the successor of Glazed Theme, was previously our most successful product. This low-code Drupal design framework is a Bootstrap based theme plugin for Drupal 7, 8, and 9.

With over 200 easy-to-use theme settings, DXPR Theme will save your IT team many hours and improve the time-to-market for global changes to the design of your website.

DXPR is more than just a new brand

With our new pay as you grow pricing model, we will be able to help developers implement and customize our product better than ever.

Customer service and tech support are areas that DXPR will focus on improving. I have been the customer service manager at Sooperthemes over the past 10 months; we grew our support team by employing more tech support engineers and enhanced our workflow automation to improve promptness and efficiency. 

As part of the DXPR team I am excited to say that our support and customer success teams are now ready to handle enterprise-class clients, and are ready to serve the Drupal community. 

Nour Eldin, Customer Service Manager at DXPRCurious what your Drupal experience looks like with DXPR?Try Live Demo
Categories: FLOSS Project Planets

Evolving Web: What's Next for Drupal 9?

Mon, 2020-06-22 10:01

Drupal 9.0 was launched earlier this month as a continuation of Drupal 8. This time around, the core update was more about updating the technology underlying Drupal's codebase and eliminating dependencies than introducing brand-new features, but fear not: we'll be getting some of those soon enough.

Drupal releases features on a semi-annual basis, and version 9.1 is expected to be rolled out around December this year. Due to the decentralized nature of Drupal's development, the roadmap for 9.1 isn't necessarily set in stone; that said, the strategic initiatives and core objectives are well-documented, so we know what we can expect in the foreseeable future. Most importantly, gone are the days when Drupal was developer-first, editor-second: it's all about usability and accessibility for everyone moving forward.

Let's take a closer look at what that might entail. On the menu: a new front-end theme, automatic updates, and community-driven improvements collected from the 2020 Drupal Product Survey.

Olivero Front-End Theme

When I built my first-ever Drupal site during an Evolving Web training session, I remember thinking two things: "Wow, this is really flexible and fun to use once you get the hang of it", and "Wow, the default theme looks a bit dated". I'm a fan of Drupal, but the Bartik theme and its decade-old design just don't quite do it justice for first-time users.

Drupal has made it a major priority to completely overhaul its user experience and be friendlier for everyone, not just developers. Now that Claro, a new, accessible admin theme, is available in Drupal 9, contributors are focusing on Olivero, a modern front-end theme designed to showcase the CMS in its best light out of the box. Like Claro, Olivero follows a new-and-improved design system that prioritizes user experience and accessibility.

Screenshot of the Olivero front-end theme for Drupal sites

It'll be a good few months before we can officially say bye-bye to Bartik, so here's what we know about Olivero so far to tide you over in the meantime:

  • It looks really good. Olivero's sharp colour palette, modern typography, and judicious use of white space gives Drupal sites a polished, state-of-the art look straight out of the box.
  • It'll be WCAG AA-compliant from the ground up. Accessibility is a major focus in Olivero, which is slated to include a high-contrast mode among myriad other accessibility-first features and functionality.
  • It supports all the most recent features added to Drupal, including embedded media and the drag-and-drop layout builder.

To read more about Olivero's development (and see the prototype high-contrast mode in action), check out this blog post by Lullabot, one of the teams involved in building the theme. According to the post's author, a launch within 9.1 is the most likely release scenario, so stay tuned this December.

Automatic Updates

As it stands, updating a Drupal site isn't the most straightforward process. That's set to change in the foreseeable future, however, as automatic updates have been one of Drupal's main strategic initiatives for some time now.

Major features of the existing Automatic Updates module, which is planned to eventually become part of Drupal core, include:

  • Major update announcements to notify admins when a core update is on its way, what it entails, and how to prepare
  • Update readiness checks to automate the process of ensuring sites are compatible with the latest update
  • One-click updating to allow admins to trigger the database update directly via the Automatic Updates service

These features are currently being tested and refined by the community, and we can expect a core release as soon as they're ready. Get all the details about the Automatic Updates project in the Drupal docs.

The 2020 Drupal Product Survey

Drupal's project lead Dries Buytaert recently started collecting responses to the annual Drupal Product Survey (here's the related post on Dries' blog). The survey's goal is to prioritize upcoming initiatives according to the community's needs. The results will be unveiled this July during the global virtual DrupalCon.

Looking at the survey's contents can give us some clues as to what might be coming to Drupal in the mid- to long-term (but we'll have to wait till the results are out to get a clear picture of how the Survey will influence Drupal's strategic direction).

Target Audiences

When you take the survey, the first questions are about how you use Drupal. The rest of the survey is then tailored according to your response. Here's a glimpse of the different demographics you can choose from to give you an idea of who the questionnaire is intended for (short answer: anyone who has anything to do with Drupal in any capacity!).

The first question on the Drupal Product Survey shows the scope of its audience

Content Editor Experience

The content editing experience in Drupal has seen constant improvements over the last several releases, but how will it evolve in 9.1 and beyond? The survey's questions for content creators include a list of potential Drupal enhancements, which respondents are asked to prioritize. A few highlights:

  • More refined draft/publishing control. This has already been addressed in recent updates; Drupal 9 includes enhanced content moderation workflows that are well-suited to actual editorial processes. It'll be interesting to see how this will be improved upon even further.)
  • Improved accessibility testing and control. Drupal core aims to adhere to stringent accessibility requirements out of the box (note leigh link here to that one page), but it could definitely offer even more testing features for creators directly via the admin UI
  • Improved contextual help and overall "how-to" guidance and Redesigned information architecture/simplified terminology for admin pages. A lot has been done in recent updates to make Drupal more user-friendly and approachable, so this survey question should be a good indicator of how successful those efforts have been--and what still needs to be done to further democratize the CMS.

Other noteworthy points relating to content creation workflows include:

  • Making more pre-built templates available
  • Autosaving
  • Real-time previewing of content being edited
  • Improvements to structured data and metadata management
Developer Experience

Site builders, theme builders, designers, and front- and back-end developers answering the survey also get questions about usability and accessibility, but those obviously look a bit different than the ones targeting content authors.

Discussion points aimed at developers and designers include these potential Drupal enhancements:

  • Improved configuration management
  • Additional front-end development tools, like NPM support and SDKs for common JavaScript frameworks
  • Drush-style out-of-the-box command-line tools integrated into Drupal Core (if you're currently looking for Drush commands to use during deployment, consider getting the Drush module, which adds several admin functionalities)
  • Improved data modeling tools
  • Better support for atomic content (i.e. reusable, channel-agnostic assets), in addition to a component-based theme system with reusable interactive theme elements like responsive tables
  • More modules added to Drupal Core, such as Feeds (to provide a migration UI), Rules (to provide a business logic UI), Admin toolbar, and Pathauto (for generating URL path aliases)
  • Privacy management support, such as user-managed identity access for GDPR
Help Shape Future Versions of Drupal

Of course, this is just the tip of the iceberg when it comes to future plans for Drupal. If you have an opinion on anything we just covered (or on Drupal in general), make sure to take the 2020 product survey (direct survey link) to have your voice heard. Drupal is, and always has been, a community effort, so by taking the time to fill out the questionnaire you'll be directly contributing to the future of a powerful open-source CMS that powers millions of experiences across the web.

Meanwhile, if you want the facts about the latest current edition of Drupal, sign up for our upcoming webinar What You Need to Know About Drupal 9.

+ more awesome articles by Evolving Web
Categories: FLOSS Project Planets

Tag1 Consulting: Introduction to DrupalSpoons, a new developer workflow for Drupal contributors

Mon, 2020-06-22 08:16

In this exciting episode of Tag1 Team Talks, Moshe Weitzman (Subject Matter Expert, Senior Architect, and Project Lead at Tag1) hopped on with Michael Meyers (Managing Director at Tag1) and your host Preston So (Editor in Chief at Tag1 and author of Decoupled Drupal in Practice) for a deep dive into what makes DrupalSpoons so compelling for Drupal contributors and the origin story that inspired Moshe to build it.

Read more preston Mon, 06/22/2020 - 05:16
Categories: FLOSS Project Planets

Flocon de toile | Freelance Drupal: Customizing a CSV export with Entity Export CSV on Drupal 8

Mon, 2020-06-22 05:49
The Entity Export CSV module allows us to quickly set up CSV exports for any type of Drupal 8 content entity. Sometimes, we may need to customize the exports we perform, such as exporting 2 different pieces of information from the same Entity Reference field for example. Let's find out how to customize our CSV exports.
Categories: FLOSS Project Planets

CTI Digital: Drupal 7 End of Life: What's next for your website?

Mon, 2020-06-22 04:22

It’s nearly a decade since the release of Drupal 7. During this time, we have seen new legislation in web accessibility, privacy (GDPR), the rise of mobile internet, and the proliferation of high-performance devices. 

Categories: FLOSS Project Planets

imalabya.co: Setting up Default Contents for Drupal installation profile

Sun, 2020-06-21 05:36
Setting up Default Contents for Drupal installation profile

While building an installation profile or a distribution using Drupal it's likely to set up the contents every time there is a new build. This becomes a chore when the number of available functionalities or listing increases. It becomes difficult to test the different listings without a proper number of contents.

Default content provides a way to include default contents for the required entities in JSON format and added as a dependency to the profile setup. This will import the minimum required set of contents available for testing and demo upon installation.

Using the Default content module

The Default Content module doesn't do anything on its own. It needs a custom module to be in the module which has the entity JSON exports to import. Now, when I say entities any type of entities can be imported; files included. However, for files, we need to do some manual work. The project page however mentions that it supports Files import using the File entity module, but I couldn't make it work but used a workaround.

Pre-Requisites & Setup

The post assumes you have the Default Content modulus & Drush CLI is installed. 

Create a new module demo_default_content in your profile and add the default_content module as a dependency. HAL & Serialization can also be added as a dependency but since it's added a dependency in default_content so it can be skipped.

name: 'Demo default content' type: module description: 'Default content export' core_version_requirement: ^8 || ^9 package: "SDNN" dependencies: - default_content:default_content Exporting contents

The exported JSON files for the entities will be placed in a directory called content inside the custom module. To export content, there 2 Drush commands available.

  1. Export a single entity drush dce
  2. Export all referenced entities for an entity drush dcer which is preferable since all the references are handles automatically. However, there are a few things to take care of while using it [mentioned below]

Provided, there is an article or number articles with the fields like term reference, media & author; running the following Drush command will export all the articles node and the referencing entities for it.

drush dcer node --folder=path/to/demo_default_content/content

This will create a folder structure like the following

content/ ├── file │ └── 136733d4-def1-4d2d-ba68-9cf20a2c5094.json ├── media │ └── 116c9694-0f3a-4bcc-82f1-9302b766afd0.json ├── node │ └── c48fe37c-8660-4838-9984-017f06565e51.json ├── taxonomy_term │ ├── ea674d7c-e086-40e5-9956-41c0cf6746b2.json │ └── ff343e13-0136-4ca7-aa7a-6b6596ebf844.json └── user ├── cc247ecf-6435-4a23-9552-1b4d49489efe.json └── cc247ecf-6435-4a23-9552-1b4d49489efe.json Fixing the exported contents
  1. Remove any JSON file which exports the user with ID 1 if the module is being installed separately and not added as a dependency to the profile. Search for an entry "uid": [ { "value": 1 } ] in the JSON exports under the user directory. If the file contains the user ID 1 then remove the file.

  2. Now, files JSON export will have the references to the file path in the public:// directory. But in a fresh install, since the files will not be present the images will appear to be broken.

To handle the broken image, create a folder called "assets" (name is arbitrary). Place the upload files in the "assets" folder like images in Media and user Picture. It's recommended to place the files in separate folders for each entity type.

Now, since the image files are not present in the public:// directory, copy the files from the modules assets directory to the public:// directory when the module will be installed using hook_install()

$fs = \Drupal::service('file_system'); // Copy the media assets. $media_path = 'public://media/'; $fs->prepareDirectory($media_path, FileSystemInterface::CREATE_DIRECTORY); $media = $fs->scanDirectory(drupal_get_path('module', 'demo_default_content') . '/assets/media', '/\.(jpg|png|jpeg)$/'); foreach ($media as $source) { $fs->copy($source->uri, $media_path . $source->filename); } // Copy the user pictures. $picture_path = 'public://picture/'; $fs->prepareDirectory($picture_path, FileSystemInterface::CREATE_DIRECTORY); $picture = $fs->scanDirectory(drupal_get_path('module', 'demo_default_content') . '/assets/picture', '/\.(jpg|png|jpeg)$/'); foreach ($picture as $source) {   $fs->copy($source->uri, $picture_path . $source->filename); }

This will ensure that the files are present when the default entities are exported.

Conclusion

So, the Default content is a great tool to quickly setup a default set of contents while working on an installation profile. This is really helpful during doing a manual QA, running Behat test or when we need to demo the functionalities of the profile. Although, there are other ways to create default contents using which Umami demo profile is using, but the Default content module make exporting and importing contents pretty easy to use.

malabya Sun, 06/21/2020 - 15:06 Drupal developmentSite buildingCI/CD & Automation
Categories: FLOSS Project Planets

DrupalEasy: Composer Plugins for Drupal Developers

Sat, 2020-06-20 15:13

As always-evolving Drupal developers, we have been in the process of moving towards having a Composer-based workflow for managing our Drupal project codebases. While it is (normally) an easy jump from "drush dl" to "composer require" for Drupal contrib modules and themes, there's another significant opportunity for us to take advantage of during this evolution that should be considered. 

We are all familiar with the concept that Drupal modules extend the functionality of Drupal site; we should also be embracing the fact that there is a whole class of Composer dependencies that extend Composer's functionality. These are appropriately called "Composer plugins".

Composer Plugins 101

If your Drupal project is using the drupal/recommended-project or drupal-composer/drupal-project Composer template (or similar), then you're already using Composer plugins. The second part of this article will surface some additional Composer plugins that you may want to consider adding to your Drupal codebase.

Adding a new Composer plugin is normally a two-step process. First, use "composer require" to add the plugin to your project. The second step usually (but not always) involves adding some plugin configuration to your project composer.json's "extra" section. 

For example, one of the dependencies of the drupal/core-recommended Composer template is the composer/installers plugin - this is how Composer knows to put Drupal modules in the modules/contrib/ directory and not in the (Composer default) vendor/ directory. 

If you were working on a project that didn't already use composer/installers, then you would need to add it to the project using

composer require composer/installers

Then, after reading a little bit of documentation, you would learn that in order for Composer to place dependencies of type "drupal-module" (as defined in the module's composer.json file) in your project's web/modules/contrib/ directory, you would need to add the following to your project composer.json's "extra" section:

"extra": {   "installer-paths": { "web/modules/contrib/{$name}": ["type:drupal-module"],   } }

One other thing to be aware of when it comes to Composer plugins is that many (most?) plugins are able to run directly via a Composer command. For example, the drupal/core-composer-scaffold command (details below) can be run at any time via "composer drupal:scaffold". 

Side note: if I have one complaint about Composer plugins it is that often the plugin's vendor/name are not consistent with the plugin's defined key in the "extra" section (composer/installers vs. installer-paths). I would much prefer if the key was defined based on the plugin's vendor/name. For example, something like "composer-installers-paths" - this would make it easier for new users to recognize the relationship between plugins and data in the "extra" section, IMHO.

Useful Composer Plugins for Drupal projects Must haves

composer/installers

  • Description: Allows dependencies to be placed in directories other than /vendor/. 
  • Availability: Included as part of drupal/recommended-project Composer template (via drupal/core-recommended), part of the default drupal-composer/drupal-project template.
  • Configuration key: installer-paths

drupal/core-composer-scaffold

  • Description: Places default Drupal scaffolding files outside of the /core/ directory and allows for modifications to scaffolding files.
  • Availability: Included as part of drupal/recommended-project Composer template, part of the default drupal-composer/drupal-project template.
  • Configuration key: drupal-scaffold

cweagans/composer-patches

  • Description: Automatically applies patches (both local and remote) to dependencies. 
  • Availability: Included as part of the default drupal-composer/drupal-project template.
  • Configuration keys: patches, patches-file, enable-patching, patches-ignore.
Worth considering

zaporylie/composer-drupal-optimizations

  • Description: Provides Composer performance boost for Drupal projects by ignoring legacy symfony tags. 
  • Availability: Included as part of the default drupal-composer/drupal-project template.
  • Configuration keys: composer-drupal-optimizations.

topfloor/composer-cleanup-vcs-dirs

  • Description: Automatically removes .git directories for cloned dependencies. Only necessary when dependencies are committed to the project's Git repository. 
  • Availability: Install as you would any other Composer dependency.
  • Configuration keys: None.

szeidler/composer-patches-cli 

  • Description: Companion plugin to cweagans/composer-patches that allows for the addition of patches (and other functionality) from the command line.
  • Availability: Install as you would any other Composer dependency.
  • Configuration keys: None.

oomphinc/composer-installers-extender

  • Description: Companion plugin to composer/installers that allows for any arbitrary package type (such as npm packages) to be defined and then handled by the composer/installers plugin.
  • Availability: Install as you would any other Composer dependency.
  • Configuration keys: installer-types.

joachim-n/composer-manifest

  • Description: Creates a simple "composer-manifest.yaml" file in the project root listing all dependencies (and their exact version numbers) currently used in a project.
  • Availability: Install as you would any other Composer dependency.
  • Configuration keys: None.

hirak/prestissimo

  • Description: Composer performance boost - enables parallel downloads of dependencies during Composer commands. Will not be necessary in Composer 2.x.
  • Availability: Install as you would any other Composer dependency.
  • Configuration keys: None.
Not necessary for experienced developers

drupal/core-project-message

  • Description: Allows text to be displayed after "composer create" and "composer install" commands have completed.
  • Availability: Included as part of drupal/recommended-project Composer template.
  • Configuration key: drupal-core-project-message

Am I missing any? If so, please let me know in the comments below. Thanks to everyone who responded to my Twitter post on this topic!

Want to learn more about Composer? Check out our Composer Basics for Drupal Developers workshop.

Categories: FLOSS Project Planets

Lullabot: How We Determined Lullabot’s Engineering Values

Fri, 2020-06-19 13:43

Is technology by itself good, bad, or neutral? Does the application of technology as its own process carry any inherent viewpoint or judgment? Are technologists — the engineers, scientists, builders, makers, and creators who build, utilize, and share technology — cognizant of their role in the design and functioning of their own tools? If technology advances internal beliefs in a more efficient, widespread manner, is it important to examine those internal beliefs first? 

Categories: FLOSS Project Planets

Drupal blog: The Maintainers Intiative

Fri, 2020-06-19 04:50

This blog has been re-posted and edited with permission from Gregg Boggs' blog.

With Drupal 9 here, (the upgrade process)[https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-to-drupal-9-or-higher] from Drupal 8 to 9 is short and impressive. Upgrading is similar to a Drupal 8 minor upgrade. After some testing, your Drupal 9 website is ready to go. But, what about Drupal 8 modules? Thanks to the smooth upgrade path to Drupal 9, most large modules are ready to go! But, what about the smaller modules that haven't been maintained in a few years? Enter (the Maintainers Project)[https://www.drupal.org/project/maintainers]!

What is the Maintainers Project?

The Maintainers Project is a community organized effort started by Damien Mckenna from Media Current and I to improve the support of Drupal contributed modules. Maintaining a large collection of modules is a big undertaking. So, I focus on issues marked "Reviewed and Tested by the Community" or "Needs Review" and testing releases. Rather than trying to write new code, the goal is to ensure more people get responses to their contributions.

Do You Have a Module That Needs Support?

We've started with modules over 3000 that haven't had support in a while and modules we've worked on before. But, we're expanding to as many modules as we can. The best way to get us involved in your module is to join us on (Drupal Slack)[https://www.drupal.org/slack]. Or, if Slack isn't for you, you can add Greg Boggs (careful of the space) as a maintainer on your project, or file an issue on the maintainers project, and I'll do my best to jump in to help.

What's the Long Term Plan?

Today, I'm focused on providing support to get Drupal Contrib ready for Drupal 9. To make the project sustainable, we'll need to grow the team. With just the small team we have, when I work on a module, the community springs to life and people from all over the world are already helping to get the work done.

Kudos to Mrinalini Kumari from @Srijan. She's doing great work helping getting patches polished for the release of several of the #Drupal 9 contrib modules I'm working on. It's super awesome opening an issue I'm about to finish and finding the work already done!

— Greg Boggs (@gregory_boggs) June 8, 2020

Categories: FLOSS Project Planets

Agiledrop.com Blog: How to find the right digital agency

Fri, 2020-06-19 03:17

This post will take a look at how to find the right digital agency that will take care of your specific digital experience needs. In it, we'll define the three most important criteria for determining if you’ve found the right one and the best ways to check that they meet those criteria.

READ MORE
Categories: FLOSS Project Planets

Lullabot: How and When to Upgrade from Drupal 7 to Drupal 9

Thu, 2020-06-18 13:25

If you're one of the 70% of Drupal sites that are still on Drupal 7 at the time of this writing, you may be wondering what the upgrade path looks like to go from Drupal 7 to Drupal 9. What does the major lift look like to jump ahead two Drupal versions? How is this different than if you'd upgraded to Drupal 8 sometime in the last few years? And how long will it be before you have to do it again?

Categories: FLOSS Project Planets

Nonprofit Drupal posts: June Drupal for Nonprofits Chat

Thu, 2020-06-18 11:20

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

No set agenda this month -- we can discuss whatever Drupal related thoughts are on your mind. If you would like to contribute to the conversation, please join us. 

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

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

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

REMINDER: New call-in information -- we're on Zoom now!

View notes of previous months' calls.

Categories: FLOSS Project Planets

Drupal Association blog: The Story of the Drupal India Association - Guest Post

Thu, 2020-06-18 04:03

Rahul Dewan sent us this story, documenting how the Drupal India Association was formed, and we wanted to reproduce it here to help it reach the greatest audience. As you will read, the Drupal India Association has significantly helped the Drupal community in India work together to grow the community and joins 28 other local associations around the world. The Drupal India Association is a great example of this, and we’re thrilled to see the momentum behind the community there. 

The formation of a formal ‘Drupal India Association’

For several years, a conversation about the need to form an India-centric Drupal Association has been doing rounds among Drupal business owners. However, this idea finally found conviction and the necessary determination to push it through, when Shyamala Rajaram signed-off from her position on the Board of the Drupal Association after completing her two-year term.

Shyamala’s voice and tone over the phone call one morning, was so full of enthusiasm and energy that inspite of all my skepticism and reservations of ‘why do we need a legal entity to do all the good work we want to do?’, melted away. “We Indians can make so much more impact in the world of Drupal!”, she said. Almost immediately, under Shyamala’s leadership, was laid the foundation of the ‘Drupal India Association’ (DIA) just before the Drupal Camp Delhi in June 2019.

In my experience, it’s the inertia and if i may, a bit of analysis-paralysis, which holds us back from making a determined push to make things happen. Then started the process of forming a board, enrolling all the business owners and key community members to form a formal board. 

The following companies came forward to contribute seed money of Rs.21,00,000 (approx $30,000) to form a kitty: 

  1. Ameex Technologies
  2. Axelerant Technologies 
  3. Innoraft Technologies
  4. Open Sense Labs 
  5. QED42
  6. Srijan Technologies
  7. Unimity Solutions 
The ambition of contribution and influence

By the time Drupal Camp Pune happened in September 2019, what we finally had in place was a functional yet loose governing body — with pretty much every leader from across six cities in India. Inspite of the informality of the board we starting collaborating exceptionally well. On the sidelines of the Pune Camp we stated our ambition of creating a sphere of influence in the entire Indian Ocean Rim, and agreed to not only limit our influence to India.


Board meeting in Pune.  

All of the members present were patting ourselves about the high number of contributions that India makes to Drupal. Dipen Chaudhary, the pioneer of the Drupal community in India and our board member, busted our little bubble by reminding the group that it was a classic of ‘quantity of quality’ and that contributions coming from India were much lower in the rung while all the heavy lifting such as contributions to the Drupal Core were made by the west, Americans in particular. 

Meanwhile, with Prasad’s help we were able to get initiatives like offering discounted Acquia Certifications at every camp. 

Our ‘Big-Hairy-Audacious-Goal’ (BHAG)


After the Chennai Board Meeting

On the sidelines of the Drupal Camp Chennai in December 2019 Shyamala invited—Shri Ramraj the founder of Sify and an advisor and board member of some of the largest Indian IT service companies. We took turns in sharing what we think was inspiring us to come together. Not impressed, Ramaraj prodded us to think of some big goals. He said that coming together is easy, but staying together requires a North Star, and nudged us to think of some big ambitious goals. 

Dipen’s reality check of the Indian contributions had been bothering me since our meeting in Pune. Drupal 9 was on the cards. For us, it wasn’t hard to put two-and-two together and suggest an audacious goal of becoming the largest contributor to Drupal 9 by June 2020 when D9 releases. A lot of anxious looks and pin-drop silence later, a consensus was reached— that we are going to go after this goal. 

Personally, true to the Indian tradition, i felt like touching Ramraj’s feet, truly living by the Indian tradition of showing respect to Gurus or teachers.

Enter ‘COVID-19’ 

Under Mukesh’s leadership Drupal Camp Kolkata planned for March 2020 was in full swing. All the funds being raised were for the first time were being raised under the aegis of Drupal India Association. Excitement levels were high. 

And then came the Covid crash. Drupal Camp Kolkata was cancelled. All the money from the various sponsors of the camp returned. Down but not out! 

Not letting the ball drop

Fortnightly recurring calls and Shyamala showing up on them each & every time, ensured that the group did not fall back into inertia. Our event calendar for Drupal Camps, Meetups, Contribution days agreed to in Chennai, ensured that our activities and also North Star goal remained in sight. 


A social promo prepared for excitement of release of Drupal 9 

Meanwhile, Piyush Poddar led our social media charge and designed systems to ensure Drupal agencies get into a healthy competition of contributing content to be promoted under DIA. 

Drupal Cares
We joined hands as a group to run campaigns for the ‘Drupal Cares’ initiative asking Drupalers in our respective companies to sign up as members and also donate. 

Drupal 9 Porting Weekend
Surabhi Gokte worked with Gábor Hojtsy to help organise the Drupal 9 porting weekend on May 22–23. Led by 10 mentors, 45 Indian Drupalers worked on 165+ modules for porting over to D9.

Under Dipen and Rachit’s leadership, Surabhi is now pushing forward to put together a plan for an all-India online event — our next BHAG (phew!). Do look for news on Drupal Groups for this.

Well, what about our North Star?

When we setup our North Star goal we had decided that our developers would ofcourse continue to tag their respective companies but additionally would add DIA as the client

As i write this post, Drupal India Association, has risen from zilch to being at position #7 on the Drupal Marketplace in terms of contributions.

Drupal contributions listing for DIA

While we will not end up meeting our BHAG ‘by June 2020 when D9 releases’, we will continue to strive as a group to become ‘the largest contributor to Drupal 9’.

All credit to the contributing developers and community members

None of our North Star BHAG could ever be possible without all the unnamed Indian developers working in several member companies who’ve been spending time doing Drupal contributions, including on weekends and after-office hours. Contributors like Prof. Sunthar, Prafful, Vidhatananda, Hussain, Rakhi, Vijay, Surabhi, Sharmila cannot go without mention. 

At the Drupal Association, we look forward to hearing more from Rahul and their BHAG.

Categories: FLOSS Project Planets

Promet Source: A Well-Plotted Roadmap Streamlines Drupal Migration

Wed, 2020-06-17 20:34
With this month’s release of Drupal 9, factors fueling migration have moved up a few notches, but as the November 2021 decommission date for Drupal 7 and 8 rapidly approaches, there’s one huge factor that’s superseding all others. Drupal 7 and 8 are both heading toward end-of-life status.  Now is the time to accept the inevitability of a migration to Drupal 9.   Free Webinar! 6 Steps to Streamline Drupal Migration  
Categories: FLOSS Project Planets

myDropWizard.com: Drupal 6 core security update for SA-CORE-2020-004

Wed, 2020-06-17 15:15

As you may know, Drupal 6 has reached End-of-Life (EOL) which means the Drupal Security Team is no longer doing Security Advisories or working on security patches for Drupal 6 core or contrib modules - but the Drupal 6 LTS vendors are and we're one of them!

Today, there is a Critical security release for Drupal core to fix a (Cross-Site Request Forgery) CSRF vulnerability. You can learn more in the security advisory:

Drupal core - Moderately Critical - Cross Site Request Forgery - SA-CORE-2020-004

Here you can download the Drupal 6 patch to fix, or a full release ZIP or TAR.GZ.

If you have a Drupal 6 site, we recommend you update immediately! We have already deployed the patch for all of our Drupal 6 Long-Term Support clients. :-)

FYI, there were other Drupal core security advisories made today, but those don't affect Drupal 6.

If you'd like all your Drupal 6 modules to receive security updates and have the fixes deployed the same day they're released, please check out our D6LTS plans.

Note: if you use the myDropWizard module (totally free!), you'll be alerted to these and any future security updates, and will be able to use drush to install them (even though they won't necessarily have a release on Drupal.org).

Categories: FLOSS Project Planets

Drupal.org blog: Developer Tools Initiative - Part 6: Update on Merge Requests

Wed, 2020-06-17 15:03

This is the sixth post in our series about integrating Drupal.org with a 3rd party developer tooling provider:

In March of last year the team here at the Drupal Association migrated all of the Git repositories at Drupal.org from bespoke Git hosting to a self-hosted GitLab instance. This was a major milestone in modernizing the developer workflow, immediately providing better search within project codebases, a better code viewer, and direct code editing in the browser for project maintainers.

However, we know that the primary feature the community has been waiting for is merge requests. We're very excited to report that we're now very close to opening up a beta test of merge requests integrated with Drupal.org issues.

Stepping back for a moment, let's remember the ideal contribution flow that we defined when evaluating our Developer tool options: 

  • The issue itself should remain a single-threaded conversation for discussing the particular problem to be solved.
  • Every issue will be associated with one canonical issue fork(with multiple branches, as needed) which can be collaborated on by any contributor, and merged by a project maintainer.
  • Contributors will be able to modify the code in these issue forks by:
    • Checking out the code and committing/pushing changes to the workspace.
    • Inline editing files using GitLab's web interface.
    • Legacy: uploading a patch.
  • All types of contribution—whether merge requests or the legacy patch workflow—will continue to trigger DrupalCI testing.
  • Issue forks can be rebased (manually or automatically) when needed to resolve conflicts with upstream commits.
  • Contributors and project maintainers will be able to comment on individual lines of code.

The foundation for this work is the ability to create these issue forks from an issue on Drupal.org. This involves building an interface from Drupal.org that creates an issue fork in GitLab associated with the Drupal.org issue, and then any Drupal.org user can push to that fork and branches within it. Maintainers may then merge this work from a branch on the issue fork the project.

That foundational work to create the necessary git hooks and access control management is now complete.

The next steps are: How can you get involved?

If you are a contributed module maintainer, and would like to be a part of the early beta test program for Drupal.org-integrated GitLab merge requests, please indicate your interest by posting a comment to this issue with a list of projects you would like to opt-in.

When will merge requests be available to the community at large?

Creation of issue forks and branches will be available to a limited subset of projects this week, the week of June 14th, 2020. Over the course of the next several weeks we hope to implement the additional UI features that will display relevant information about the issue forks back in the Drupal.org issue, and ultimately allow merge requests themselves.

We hope to have the beta of merge request functionality available to some projects no later than DrupalCon Global, in Mid-July. From there, we'll work through feedback from our beta testers, and work with Drupal core maintainers, to enable issue forks for all projects in the coming months

We hope that you're as excited about this update as we are. It represents a lot of thought on the part of many community contributors, and a lot of work on the part of the Drupal Association staff.

Post-Script - What about DrupalSpoons?

As you read this update, many of you may be wondering how this work fits together with a emerging community initiative called DrupalSpoons. DrupalSpoons is an effort to not only use GitLab for merge requests, code viewing, inline editing, etc… but also to replace Drupal.org issues and DrupalCI with their GitLab equivalents, unifying the developer experience in a single UI.

To be clear, neither we at the Drupal Association, nor the DrupalSpoons initiative are recommending that projects begin migrating to the current experimental DrupalSpoons environment. Their goal is that initiative will prove new workflows and ideas that can be brought back into the official community tools on git.drupalcode.org.

The DrupalSpoons contributors have done some helpful and innovative work so far. We appreciate seeing contributors pushing the boundaries of what can be done with 'off-the-shelf' tools, and there's potentially quite a lot we might learn from this work that will inform future tooling for the Drupal project. For example, it's likely that we'll look to DrupalSpoons' use of GitLabCI as we look towards the next generation of DrupalCI.

We are always watching and listening to see what the community wants and needs for Developer Tools. Over time, new tools emerge that add significant value. As the Drupal Association, being responsible for maintaining these tools, we would like to approach each component independently (i.e: look at merge requests, issues, or GitLabCI, each independently) as the DrupalSpoons project continues.

In the meantime, we are moving forward with integrating GitLab merge requests with the Drupal.org issue queues. Once that's complete, we'd like to see a gap analysis to see what would be gained and lost when comparing Drupal.org issues with GitLab issues.

Categories: FLOSS Project Planets

Security advisories: Drupal core - Less critical - Access bypass - SA-CORE-2020-006

Wed, 2020-06-17 14:10
Project: Drupal coreDate: 2020-June-17Security risk: Less critical 8∕25 AC:Complex/A:User/CI:None/II:Some/E:Theoretical/TD:UncommonVulnerability: Access bypassCVE IDs: CVE-2020-13665 Description: 

JSON:API PATCH requests may bypass validation for certain fields.

By default, JSON:API works in a read-only mode which makes it impossible to exploit the vulnerability. Only sites that have the read_only set to FALSE under jsonapi.settings config are vulnerable.

Solution: 

Install the latest version:

Versions of Drupal 8 prior to 8.8.x are end-of-life and do not receive security coverage. Sites on 8.7.x or earlier should update to 8.8.8.

Reported By: Fixed By: 
Categories: FLOSS Project Planets

Pages