User login

How to

Information on how to do something... anything.

Removing double spaces in usernames directly in the SQL

A client using the Bulk invite module (by Agaric's David Valdez) had invited hundreds of users with slightly malformed usernames— two spaces between first and last name when there should only be one.

Note that you need to do the change both in the users_field_data table and the users_field_revision table— and you need to clear caches when you're done to see the change on user edit pages, which is where it matters.

Send gitlab.com commit message to IRC

There is sadly no default way to do this directly from GitLab.com— but there's a pretty simple way, with Bishop:

https://github.com/ta/bishop

Install Heroku locally. These instructions from https://devcenter.heroku.com/articles/getting-started-with-ruby#set-up worked great for me:

Replacing the Druplicon favicon in a custom theme for Drupal 8

Placing the favicon.ico in the root of the theme folder, presuming you are using a custom theme, is by far the easiest way to tell Drupal to use that favicon.ico file in the rel shortcut icon (favicon) tag— and so displayed by modern browsers in the tab bar.

How to install Riot desktop (Matrix client) on Debian-based systems

Tested on Debian Mint edition, but this should work for Ubuntu too.

These instructions assume you are willing and able to use the command line— that is, open a terminal and type these lines of commands. Unlike the the official desktop install information, these instructions don't assume you already know and remember how to add a new remote source to your package manager and install from it.

Place a block in a Paragraph in Drupal 8

If you have a block that does something useful, or even has content in it that you'd like to reuse, and you are using Paragraphs on your site

The Drupal 8 port of Block reference has generated a lot of discussion.

The last comment at this time suggested that inclusion of the ability to Add a block plugin field formatter being in Plugin module should do it.

Easily add content with update hooks: use default content module exports to create content that needs to be in sync with configuration

An approach for keeping content that is added as part of development synchronized with test and production environments is to use the Default Content module to export the content. It's built for the content to be exported to an installation profile's 'content' folder, and then the module, if enabled, automatically brings the content in when the site is installed.

Getting a node (or other entity) and playing with it on the command line

Here's one way to get a node so that you can play with it on the command line and figure out what different methods actually do:

array_pop(\Drupal::service('entity_type.manager')->getStorage('node')->loadByProperties(['title' => 'Sample node']))

There's surely faster ways to do it with an ID, and maybe even better would be to use devel generate here. Anyway, this gives a node that can be messed with, like so, putting it all together:

Keeping Drupal's contextual links working even when the whole content item is linked offsite or triggering a lightbox

We have a site where one content type (publicity, for news items and awards) are listed, but the whole thing is wrapped in an anchor tag and linked to outside content. To prevent leaving the site before the contextual edit link is shown, i did this:

Syndicate content