Drupal

CKEditor Widgets Bootstrap Grid

New Drupal Modules - 29 July 2018 - 7:06am

CKEditor Widgets Bootstrap Grid
This is just another small module introducing the Bootstrap Grid to CKEditor.

This only works if you have Bootstrap theme/library enabled!

Categories: Drupal

Feeds Big File Fetcher

New Drupal Modules - 29 July 2018 - 2:59am

This module will use cRUL to download the URL into a system file.
It is not processing the file directly, to avoid memory issue (by loading the content of the file in memory).

I've used this module together with:
https://www.drupal.org/sandbox/darthsteven/1728218

to import a large .xml file, avoiding memory issues.

Categories: Drupal

Layout Kit

New Drupal Modules - 28 July 2018 - 5:10pm

Layout Kit is a ready to use set of layouts, now (take a look at screenshots):

  • Accordion.
  • Conmutator (accordions where all the sections can be closed/opened at once).
  • Tabs: horizontal.
  • Tabs: vertical.
Categories: Drupal

hussainweb.me: Drupal Meetup Bangalore – July 2018

Planet Drupal - 28 July 2018 - 1:31pm
July’s Drupal meetup was held at 91Springboard in Koramangala. We are back after a long time and that’s thanks to 91Springboard for providing us with the venue. Snacks in the meetup and lunch after the meetup were courtesy of Axelerant.
Categories: Drupal

Cielo Integration

New Drupal Modules - 28 July 2018 - 7:31am

This module provides an integration with cielo api.

Cielo is the largest Brazilian credit and debit cart operator and the biggest payment system company in Latin America by revenue and market value.

Categories: Drupal

mark.ie: Exclude Current Node from List of Related Nodes by Taxonomy Term

Planet Drupal - 28 July 2018 - 3:28am
Exclude Current Node from List of Related Nodes by Taxonomy Term

You know the scenario - you want to list nodes that have the same taxonomy term(s) as the node you are currently viewing. Easy, but you also want to exclude the currently-being-viewed node from the list. Always trips me up.

markconroy Sat, 07/28/2018 - 11:28

Each time I have to do this, I read a blog or two or a Drupal issue or two and still I always end up with a quirk. Here's what I normally do:

  1. Create the view
  2. Add a contextual filter for the taxonomy field you want to filter by
  3.  Provide default value
  4. Taxonomy term ID from URL
  5. Load default filter from node page, that's good for related taxonomy blocks
  6. Limit terms by vocabulary
  7. Click Apply
Now I'm Stuck

This gives you a list of nodes related to the current one, but the current node will always show up in your list. If you edit that contextual filter and expand the 'More' tab at the end, and then choose 'Exclude: If selected, the numbers entered for the filter will be excluded rather than limiting the view.' you will be forgiven for thinking this will exclude the current node. IT WON'T. In this case, it will exclude the currently selected taxonomy term - which is the opposite of what you want to do.

The Solution? Another Contextual Filter
  1. Create another contextual filter for 'ID', as in, the Node ID.
  2. Provide default value
  3. Content ID from URL
  4. Scroll to bottom of page and expand the 'More' tab
  5. Click Exclude: If selected, the numbers entered for the filter will be excluded rather than limiting the view.

Now, the second filter will exclude the currently-being-viewed node, while the first filter will do the related-node-taxonomy-magic-dance.

 

Categories: Drupal

Matt Grasmick: Documentation Initiative Update, UX Changes to Drupal.org

Planet Drupal - 27 July 2018 - 6:02pm

The documentation initiative was announced at DrupalCon Nashville nearly four months ago. In his keynote, Dries’ highlighted my blog post, in which I provided statistics and anecdotes about the challenges of Drupal.org’s documentation and evaluator experience. The documentation initiative aims to address these challenges. What’s happened since then?

I’ve worked over the past few months with a small team of contributors to propose solutions, build consensus, and make improvements to the documentation on Drupal.org. Thank you to all of those that have been active in the issue queues and bi-weekly meetings!

The work has been focused on the initiative’s three goals:

  1. Make UX improvements to documentation on Drupal.org.
  2. Improve existing Community…
more
Categories: Drupal

Commerce Guys: Scheduling time for maintaining Drupal Commerce integrations

Planet Drupal - 27 July 2018 - 4:42pm

Commerce Guys maintains a suite of ecosystem modules that give merchants easy access to third-party integrations as part of leading the Drupal Commerce project.

Historically, the issue queues for these modules were looked at when a client requested it or someone from our team had spare time, but that timing was pretty irregular. To provide developers and merchants with a better experience, we’ve decided that moving forward we’re committing dedicated time to review these third-party issue queues on a regular basis.

Our Commitment
Once a week, we’re setting aside time to review new issues in the queues. We’ll use that time to do several things: identify bugs, direct people toward resources to help them solve their problems more quickly, identify earlier when we need more information from the reporter, and help move community patches forward.

Cleaning the Current Queues
As part of this renewed focus on integrations, we’re starting by cleaning up the issue queues. To give ourselves a clean slate, we’ll be closing a lot of these older issues. This will allow us and other contributors to focus on relevant problems. There are a significant number of old issues hanging around that represent duplicate bug reports, tasks that were resolved via other patches, or issues that cannot be resolved without clear steps to reproduce the problem.

What to if we close an issue you still need resolved?
If we close an issue that you’re still having problems with please let us know! The best thing to do would be to reopen the issue with additional information. Please include any error messages you’re seeing, custom code that may affect the module, and clear steps to reproduce the bug. Screenshots or recordings of the issue in action would be great, too!

Categories: Drupal

Ashday's Digital Ecosystem and Development Tips: Five Drupal Features Essential to Publishing

Planet Drupal - 27 July 2018 - 2:00pm

If you are in the publishing industry, you already know that Drupal 8 is by far the most useful CMS for publishers. It was great in Drupal 6 & 7 and with 8 it keeps getting better with each major release. Combined with the community contributed modules, Drupal 8 is the best platform for publishers yet. Here are five features in Drupal 8 that are essential to publishing.

Categories: Drupal

OpenSense Labs: Smart Trim your Content and Modify Teasers

Planet Drupal - 27 July 2018 - 8:26am
Smart Trim your Content and Modify Teasers Raman Fri, 07/27/2018 - 20:56

Teasers provide a brief summary or a short description of an article (or any other content). They give a visitor an insight and a quick overview of the content. Hence, it becomes crucial for a teaser to be eye-catchy in order to get that one click from the reader. It should leave them with a sense of curiosity and intrusiveness.

Drupal, out of the box, provides a teaser view mode and three formats for the text fields – Default, Summary or Trimmed and Trimmed. However, the trimming feature is very limited and allows only the number of characters to be configured.

Trimming options for text fields out of the box

We can use a contributed module, Smart Trim to take this trimming functionality to another level. Let us have a look at it.

Downloading and Installing Smart Trim

The module has dependencies on a few core modules including Field, Filter, User, System, and Text. Once you have made sure these are enabled, you can download and install it using any of the below methods.

$ drush dl smart_trim && drush en smart_trim -y

or

$ drupal module:download smart_trim && drupal module:install smart_trim

or

$ composer require 'drupal/smart_trim:^1.1'

After downloading the module using composer, enable it from the admin UI available at admin/modules.

Enabling Smart Trim module using admin UIModifying Teasers of Content using Smart Trim

The module declares a new field format, Smart trimmed, with a set of configurable options. To modify the teasers of your content, follow the below steps.

  1. Navigate to Manage → Structure → Content types → {your-content-type} and select the Manage Display tab.
     
  2. Next, select the view mode from the sub-tabs. You may do it for any of your view modes, but for now, let us do it for the teaser view mode.
     
  3. Change the field format of the required field to “Smart trimmed” to take advantage of the module. You can do this for any of the text fieldsSelecting Smart trimmed text format
  4. Click on the gear icon to bring down the configuration options for the format. Here, as you can see, we get a lot more options than the standard trimmed format.Configuring the format settings
  5. You can now configure the following settings as per your preference
     

    Configuration

    Default Value

    Description

    Trim Length

    600

    The number of units of text in the Smart Trim mode (including HTML markup)

    Trim Type

    Characters

    Use characters or words to count the trim length

    Trim Suffix

    -

    Suffix characters at the point of Trimming

    Wrap Output

    False

    Add a tag to wrap the trimmed content

    Wrap Class

    Trimmed

    CSS class of the wrapper tag

    More Link

    False

    Show a more link

    More Class

    More-link

    CSS class of more link

    More Text

    More

    Text for more link

    Summary

    Use summary if present, and do not trim

    Use a provided summary or the trimmed content

    Strip HTML

    False

    Strip off the HTML added in the WYSIWYG for the trimmed content

    Honor a zero trim length

    False

    Allow a trim length of zero units

  6. Click on “Update”, followed by the “Save” button to save the changes

Now, go back to your view or the page where the configured view mode is being used. You will observe that the changes have been successfully applied.

Teaser of an article with Smart trimmed field format

Looking at the source code of the page, we can see that the wrapper tag has been added with the configured CSS classes. You can now also add custom CSS for these classes in your Drupal theme.

Observe the CSS classes applied to the div tag and more linkSumming Up

The Smart Trim module blends smoothly and proves to be one of the must-have modules or your Drupal site. Its easy configuration allows site builders to quickly add a new field format and harness the full power of the teaser view mode.

In case of any query or suggestion, don’t forget to leave a comment down below.

blog banner blog image Blog Type Tech Is it a good read ? On
Categories: Drupal

Flysystem Aliyun OSS

New Drupal Modules - 27 July 2018 - 8:23am

Provides an Aliyun/Alibaba Cloud OSS plugin for Flysystem.

Dependencies

composer require aliyuncs/oss-sdk-php:2.3.0 -vvv

Configuration

Example configuration:

Categories: Drupal

Microsoft sends strong message about GitHub's independence

Dries Buytaert - 27 July 2018 - 6:53am

On the heels of Microsoft acquiring GitHub for $7.5 billion, Google has partnered with Microsoft to provide a continuous integration and delivery platform for GitHub. While I predicted Microsoft would integrate build tools into GitHub, I didn't expect them to integrate with Google's as well. Google and GitHub probably partnered on this before the Microsoft acquisition, but I'm pleasantly surprised that Microsoft has decided to offer more than Azure-based solutions. It sends a strong message to anyone who was worried about Microsoft's acquisition of GitHub, and should help put worries about GitHub's independence to rest. Satya Nadella clearly understands and values the Open Source movement and continues to impress me. What an interesting time to be a developer and to observe the cloud wars!

Categories: Drupal

Cludo Search

New Drupal Modules - 27 July 2018 - 2:05am

This module allows users to set up Cludo search https://www.cludo.com/ on their website, it sets up search blocks for the form and for the results page.

There is a configuration page where you can add your Cludo Authentication details and the path to your search page.

Categories: Drupal

OpenAPI Field Formatter

New Drupal Modules - 26 July 2018 - 11:31pm

Placeholder for a visualization library agnostic field formatter for OpenAPI files.

Until it will be released please use the Swagger Field Formatter.

Initial discussion about this project: https://www.drupal.org/project/swagger_ui_formatter/issues/2984658

Categories: Drupal

Role Menu Block

New Drupal Modules - 26 July 2018 - 7:18pm

The new block for sidebar display, it work well with color admin theme project.ColorAdmin

Categories: Drupal

Semaphore format

New Drupal Modules - 26 July 2018 - 2:07pm
Categories: Drupal

Acquia Lightning Blog: Lightning Layout with Layout Builder

Planet Drupal - 26 July 2018 - 11:30am
Lightning Layout with Layout Builder Adam Balsam Thu, 07/26/2018 - 14:30

Since Layout Builder was added to Drupal core in 8.5, Lightning has had plans to adopt it and retire Panels and Panelizer. We've been working hard at closing the feature gap between out of the box Layout Builder and what Lightning Layout currently provides. At the same time, we've added some significant new features to Layout and made massive architectural changes to the storage of blocks created as part of a layout.

Here's a quick peek at creating a landing page using the Lightning Layout.

Note that this branch of Lightning and Lightning Layout are both alpha stability. We're hoping for beta stability this winter and a full release with a migration path early next year. This graphic shows the high-level features of each branch.

Resources

$ composer create-project acquia/lightning-project MYPROJECT $ cd MYPROJECT $ composer require acquia/lightning:4.0.0-alpha1 --no-update $ composer update # Install Drupal as you would normally.

 

Categories: Drupal

Analytics With Auth0

New Drupal Modules - 26 July 2018 - 9:54am

The Analytics With Auth0 module allows developers to declare custom Google Analytics events tracking while passing a custom dimension of the Auth0's User ID.

Requirements

Categories: Drupal

Acro Media: Secure Encryption with Libsodium and Acquia Cloud

Planet Drupal - 26 July 2018 - 7:45am

Encryption is an important part of any website that needs to store sensitive information. Encryption takes sensitive data that is in a readable form and encodes it, making it unreadable. This essentially hides the information from anyone who might try to access it without permission to do so. The encoded information can only be decoded by an entity that has a paired decryption key.

Our requirements for this particular Drupal website build included:

  • Acquia Cloud - One of the leading Drupal hosting providers.
  • Libsodium - Because of Acquia Cloud, we needed a custom compiled php extension
  • Encrypt - A Drupal module that exposes encryption APIs to other modules.
  • Key and Lockr.io - Drupal modules for managing the encryption key.
  • Sodium - A Drupal module to provide libsodium to the encrypt module.
Why use libsodium instead of mcrypt?

Libsodium is a portable, cross-platform implementation of NaCl. Experts recommend libsodium for its simple interface and strong cryptography. The sodium Drupal module takes an easier approach, which is to use a high-level package, paragonie/halite, to work with libsodium.

The other choice for encryption in PHP is mcrypt. It's the default method in the Drupal 7 version of the encrypt module. Despite that, it's a bad choice because it's difficult to use correctly. Mcrypt is deprecated in PHP 7.1 and removed in PHP 7.2.

Installing Libsodium on Acquia's PHP 7.0

PHP 7.2 has libsodium built in and if you're on 7.1 or below you can install it from PECL. We're going to be using Acquia Cloud, so we can't yet run PHP 7.2 and we can't install any PHP extension we want - not as easily as we'd like to.

Acquia requires that extensions be compiled including their dependencies. The php-libsodium extension depends on libsodium itself and we have to produce one binary for both libraries. We'll be compiling libsodium the crypto library as a static library and php-libsodium the php extension that provides bindings to libsodium for PHP applications as a dynamically linked library so it can be loaded by a regular PHP install.

Let's get started!

  1. Download the latest libsodium from https://github.com/jedisct1/libsodium/releases.

  2. Compile libsodium so it's static, not shared. Put it in a directory we'll use later.

    $ ./configure --libdir=/home/me/sodium/library --disable-shared --enable-static--enable-static makes it static, not shared. It'll be a part of the php extension when we build it instead of a separate dependency.

    --disable-shared prevents creating a shared library version of the library.

    --libdir puts it in a directory where we'll use it later.

  3. Compile with PIC (Position Independent Code).

    $ make CFLAGS='-g -O2 -fPIC'
    $ sudo make installHere's our sodium library and a pkgconfig directory we'll need to point the php extension at.

    $ ls /home/me/sodium/library
    libsodium.a libsodium.la pkgconfig
  4. Download the latest version 1 release of the libsodium php extension from https://github.com/jedisct1/libsodium-php/releases.

    Use phpize to get the extension ready to compile. Normally a PHP extension is compiled as part of PHP. This script is used to set up things up so it's like we're doing that. You need the -dev version of PHP to get phpize, so install php7.1-dev or the equivalent for your situation.

    $ phpize7.1
    Configuring for:
    PHP Api Version: 20160303
    Zend Module Api No: 20160303Now you'd notice a lot more files in the directory, like the configure script.

  5. Set the package config directory to the one where we installed libsodium.

    $ export PKG_CONFIG_DIR=/home/me/sodium/library/pkgconfig
  6. Configure libsodium-php with the path to libsodium.

    $ ./configure --with-libsodium=/home/me/sodium/library --libdir=/home/me/sodium/library--with-libsodium tells it where to find the dependency we just created.

  7. Check that libsodium.so is not looking for a shared libsodium library.

    $ ldd modules/libsodium.so
    linux-vdso.so.1 => (0x00007ffcdd68e000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f71f26eb000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f71f2d0f000)There's no libsodium dependency there, so we're good to use our libsodium.so PHP extension! Deploy the file and configure PHP to load the extension. Since we're on Acquia Cloud, Acquia does that after we provide the file.
Get encrypted!

If you're running Drupal and need encryption setup, or if you're looking to start a new project and exploring options and requirements, ! One of our business developers will be happy to help.

Categories: Drupal

EDW HealthCheck

New Drupal Modules - 26 July 2018 - 7:19am

The HealthCheck module is a monitoring module that exports the status of a drupal application's core, modules and themes in a JSON format.

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal