This website is composed of information connected through taxonomy. It is simultaneously a proof-of-concept and a means to allow Agaric to share and store information both within the collective and the world as part of our open documentation philosophy.

User login

This website is composed of information connected through taxonomy. It is simultaneously a proof-of-concept and a means to allow Agaric to share and store information both within the collective and the world as part of our open documentation philosophy.

Using composer require to get an alpha, beta, or release candidate of a Drupal 8 module

The composer require command can help you get your requirements into composer.json more easily. However, that ease is more theoretical than actual for modules without a full stable release.

The Honeypot module has a full stable release version, so any of these will work:

composer require drupal/honeypot:8.*
composer require drupal/honeypot:8.x
composer require drupal/honeypot:8
composer require drupal/honeypot

Drush update not seeing the patch-level version of Drupal 8?

Does it appear that Drush update is not fetching the newest minor version update of Drupal 8? Changelog says 8.0.0 at the top, but you know 8.0.2 has been released, and drush up or drush upc says update information last refreshed that day yet says "No code updates available."?

Spotting and fixing problems caused by referencing the same object in memory

Here's a slightly simplified version of the code causing the problem— very slightly simplified; it really was about this short:

Simple tools for security against surveillance

Recommendations by Noah of HackBlossom following an excellent history of security and surveillance.

uBlock Origin - Never see ads again!
https://github.com/gorhill/uBlock#installation

Privacy Badger - Don't let websites track you!
https://www.eff.org/privacybadger

Figuring out what Django permission names are and what permissions a user has

You can see the permissions a particular user has, in the 'machine-readable' form Django uses, quite easily through the Django shell. For a user with the username 'david', for example:

Set a separate browser window page title from HTML page title (Drupal 7)

This code shows how to set the browser bar page title the Page Title module way, without that module. (This was motivated simply because we were already gathering the info for another purpose in hook_node_view_alter(); there's no reason not to use Page Title!)

Setting breadcrumbs to exactly what you want

In Drupal it is quite easy to set breadcrumbs with the function drupal_set_breadcrumb(), which takes an array of links (as you would make with the l() function). It's a bit of a blunt instrument but it works (and wins out over hook_menu_breadcrumb_alter()).

Drupal in a virtual machine cheat sheet

This cheatsheet presumes you're already set up with VirtualBox and Vagrant, configured for Drupal. (Agaric has our own base box to have a head start on setting up for this purpose, but some of the magic is in the Vagrantfile stored with our projects.)

In a terminal, go to the directory holding your Vagrantfile and your project code. Then the fun begins.

vagrant up

to start the virtual machine.

Overriding Django's admin template from a custom app

If you have tried to override an administrative template in Django using the app directories template loader functionality, you may have found yourself growing frustrated— I mean, you may have found yourself going insane.

The problem was acknowledged but

The order of INSTALLED_APPS is significant! Translations and Templates in Django can be overridden; the first app found will have priority.