User login

Agaric

Undo Drupal's over-aggressive shortening of user names

And use a real ellipses!

Drupal's theme_username() is used many places within Drupal, and shortens any name over 20 characters, which can be a lot if you encourage people to use full names. This can be undone with a preprocess function in your module or theme, just replace EXAMPLE with your module or theme name.

Maintaining a Drupal project with Git: Vacating the master branch

If you've already been committing code to master, do this to start a new 7.x branch and kill off the code in the master branch so noone gets confused.

cd /path/to/repo
git checkout -b 7.x-1.x

git push origin 7.x-1.x

git checkout master
git rm -r *
echo "Real code is not kept on the master branch, to see the code: git checkout 7.x-1.x" > README.txt
git add README.txt
git commit -m "Add a README explaining that the master branch is empty."
git push origin master

Define and Use a JQuery Plugin as a Helper Function for Drupal JavaScript

Here's the basics of defining and using a JQuery plugin within the context of Drupal.

This is definitely not the best and highest use of a plugin, and may in fact be a downright abomination-- this isn't a plugin that really works outside the context of the code it is written for, and certainly not outside Drupal. But it was a clean way to abstract out 42 lines of code, so here it is, for the enjoyment of all.

The first part here is simply how to call JQuery from Drupal, the second part is the plugin.

How to fetch a file at a URL and set it as the default image in an image field

There's two separate cool things here that you might want to do. One, simply know how to save a file from a URL (there's a secret Drupal function for that in system module) and two, how to give an image field a default image when creating it programmatically (that part is outsourced to the fieldhelp module).

Set a git commit message in bash but also go to Vim for further editing

A colleague insists that messages abide by the 72 character limit advisory, and i want to change my habit to get the files-changed and, just as important, files-left-out information that git commit will give in the Vim editor.

I'm still a bit addicted to the git commit -m "Message here" workflow of entering messages right in the command line, and it's more than just habit: it is very useful to be able to look at the git add -p record.

Have menu local tasks (view, edit, etc. tabs) show menu item description as tooltip

Most menu items in Drupal 7 show a link tool-tip, or title, but local tasks (the tabs you are most used to seeing as the edit link tab on full node pages sadly do not follow this sensible pattern.

Until Drupal core is fixed so that menu item "description" is applied to title attribute of menu tab links", here is a fix for Drupal 7. Change this to your custom theme's name (replace 'example') and drop into your theme's template.php file:

Shaping Drupal's Future (presentation description)

Drupal does not belong to the Drupal Association. It does not belong to Node One, Phase Two, Chapter Three, Four Kitchens, Palantir, Acquia, or even Agaric. It does not belong to Dries— except the name. It belongs to you, and every other person who steps up to claim it, equally.

What does it mean to take ownership?

Drupal Training Programs

Agaric does trainings (in addition meetups and camps and involvement in events and programs related to the the Definitive Guide to Drupal), but we haven't started a formal public program. Update 2014: OK we've done enough, especially with OwnSourcing, to consider it semiformal. Contact Agaric or contact OwnSourcing for Backbone, Drupal 8, or other exciting trainings.

How Clientside Validation's JavaScript Works

Everything added as a method only exists elsewhere as a type of rule (in PHP). See for example these searches.

PHP Arrays plus symbol (+) syntax

http://www.php.net/manual/en/language.operators.array.php

With the $array1 + $array2 syntax, anything with a text key in $array1 is kept, at the expense of anything with the same key in $array2.

Syndicate content