Skip to main content

Blog

Painting of a fancy peacock.

Recommendations for social media as Twitter melts down: Host your own community

As Elon Musk destroys Twitter, a lot of clients have asked about alternative social media, especially 'Mastodon'— meaning the federated network that includes thousands of servers, running that software and many other FLOSS applications, all providing interconnecting hubs for distributed social media. Agaric has some experience in those parts, so we are sharing our thoughts on the opportunity in this crisis.

A white cassette tape laying in the grass.

How to add an audio player to a content node in Drupal 9

Getting an audio player to show on your content nodes only takes a few steps. However, like many things in Drupal, knowing what those few steps are can be a bit of a challenge. This short guide will provide a basic introduction for anyone looking to use this core functionality on their site.

Old-fashioned half-used colorful red and blue fireworks box, labeled 'Thunder Bomb' with the warning Caution-Explosive in large capitalized letters.

Drupal 9 Component Plugin ContextException "not a valid context" after CTools, Symfony update

Upgrading to CTools 3.10.0 and/or various Symfony upgrades can break the simple task of adding content on your Drupal site.

A cartoon dinosaur trying to plug two cords together but their arms are too short.

Drupal 9.4 installation with existing configuration fails because "unable to uninstall the MySQL module"!?

How to deal with the error "Unable to uninstall the MySQL module because: The module 'MySQL' is providing the database driver 'mysql'.."

Silhouettes of a people on soapboxes shouting through bullhorns at a crowd, demonstrating stand / deliver, a portable dueling free speech unit, a mobile box equipped with two platforms and megaphones.

Uniting Visions: Kicking off Thursday 3pm ET planning & building sessions for democratic conversation scaling platform, Visions Unite

Hi friends and collaborators, join us today at 3pm ET (or any subsequent Thursday at 3) as we kick off a series of research, planning, discussion, and building sessions for Visions Unite.

Good discussion here with a great takeaway. Meet your fellow workers! https://portside.org/2022-05-12/revolutionary-grounds

This is a tweet. No summary needed...

Indieweb Drupal logo consisting of the top of the Drupal drop and a stylized i and w.

Here is a social media microblog-sized post just to say we are syndicating to social.coop Mastodon and Twitter thanks to the Indieweb module!

It's great to be here, and there, and there.

Laptop with lock icon.

Create and use a custom permission in your module

You can define your own permissions for the Drupal permissions page (/admin/people/permissions in modern Drupal, Drupal 8, 9, 10, and beyond) and then add conditional options to your code to do different things based on the role of the user and the permissions configured by a site administrator.  See how!

BigBlueButton screenshot.

Why we resist Zoom and choose BigBlueButton for video chat

We can look at the recent popularity of some widely used platforms like Zoom and ask ourselves some questions as to why we still use them when we know a lot of terrible things about them. Agaric prefers to use a free/libre video chat software called BigBlueButton for many reasons, the first one being the licensing, but there are many reasons.

A drawing of a laptop with open tabs extending outside of the laptop as horizontally tiled windows.

Drupal toolbar not working in dev environments in Firefox? Here's why.

Drupal's toolbar not showing due to Uncaught DOMException quota has been exceeded may be due to sites sharing a top-level domain (default for some local development environments like DDEV) combined with a Firefox bug.

""

Upgrade from Drupal 6 or 7 when it is right for you: In the era of modern Drupal, release cycles of major versions have only minor importance

Drupal 7 has a much longer lifespan than the (already pushed back) official date, and Drupal 8 has an essentially infinite lifespan because it can update in-place to Drupal 9 easily and the same will be true of Drupal 10, 11, ∞. There's no reason to rush an upgrade— but there's no reason to wait either.

Community-managed categories

A long-held goal, this functionality still hasn't been built.  But if you're interested, please contact us!  Community-managed taxonomy opens categorization of content to the site's community. Users can influence both what terms nodes are tagged with and how these terms are themselves organized.

A plain two-edged razor blade (for a pun on double-edged raiser).

Double-edged Raiser: Past time to ditch Blackbaud

I have watched in sadness and sometimes anger as large non-profit after large non-profit collectively poured enough money into Raiser's Edge and other Blackbaud licenses and consulting services to fund massive feature enhancements for the main FLOSS alternative, CiviCRM— improvements which would then be free for everyone, forever.

A chart showing children's health outcomes.

Are you building communities of practice for community health in this time of public recognition of injustice?

The struggle to take seriously the impact of racism on public health during the covid-19 crisis spotlights the importance of health communities of practice and their need to have high-quality, data-driven discussions. How do we have and expand these conversations well?

List of configuration options for destination plugins

Drupal migrations reference: List of configuration options for destination plugins

In the previous article we provided a reference of available configuration options for migrate source plugins. In today’s article we are doing something similar for destination plugins. We will present a reference of available configuration options for migrate destination plugins provided by Drupal core and some contributed modules. Knowing which options are available might require some Drupal development knowledge. By providing this reference it should make the process of writing migrations easier.

List of configuration options for source plugins

Drupal migrations reference: List of configuration options for source plugins

In a previous article we explained the syntax used to write Drupal migration. We also provided references of subfields and content entities' properties including those provided by the Commerce module. This time we are going to list the configuration options of many migrate source plugins. For example, when importing from a JSON file you need to specify which data fetcher and parser to use. In the case of CSV migrations, the source plugin configuration changes depending on the presence of a headers row. Finding out which options are available might require some Drupal development knowledge.

Example migrations mapping of content entity properties

Drupal migrations reference: List of properties per content entity

In a previous article we explained the syntax used to write Drupal migrations. When migrating into content entities, these define several properties that can be included in the process section to populate their values. For example, when importing nodes you can specify the title, publication status, creation date, etc. In the case of users, you can set the username, password, timezone, etc. Finding out which properties are available for an entity might require some Drupal development knowledge.

List of configuration options in YAML definition files

Drupal migrations reference: List of configuration options in YAML definition files

In today’s article we are going to provide a reference of all configuration options that can be set in migration definition files. Additional configuration options available for migrations defined as configuration will also be listed. Finally, we present the configuration options for migrations groups.