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.

App.net Core Values

App.net is a for-pay social network, https://join.app.net/

Their core values are pretty great:

1. We are selling our product, NOT our users.

We will never sell your personal data, content, feed, interests, clicks, or anything else to advertisers. We promise.

2. You own your content.

App.net members always have full control of their data and the fundamental right to easily back-up, export, and delete ALL of their data, whenever they want.

Capture all sent mail locally with Postfix

For development, you don't want any e-mail sent to the outside world, but you do want to be able to see all mail your sites or application try to send. Here is a configuration of Postfix to do that.

The trick is to BCC everything to a local user, and discard without error any other sending.

This is based on several guides and Q&As online but well, none of them worked for me, so here's exactly what i did (minus all the missteps).

CFWheels DBMigrate plugin

Started with http://code.google.com/p/cfwheels-dbmigrate/ which last released 0.6 in October 2010.
Now trying the 0.8.2 release of its fork on Github, https://github.com/charliecochran/cfwheels-dbmigrate-plugin

CFWheels taking action on a particular error

http://cfwheels.org/docs/1-1/function/errorson

If you have more than one error on a property (aka column in a database table, as defined in your model) you need to create custom errors so you can name them

For instance, in your User.cfc model in your custom error method you have:

Firefox sets the minimum calculated width of the HTML element based on your navigation bar

I just spent a long time fruitlessly debugging work on a mobile web site because my firefox window, while itself becoming as thin as i wanted to drag it, was setting the HTML element to the minimum width my admittedly overcrowded navigation bar could crunch to-- 677px in my case.

Command line Git on Windows

A principal at Agaric regrettably uses Microsoft Windows as a primary operating system. In fact, though, everything works great for him using the open source integrated development environment Eclipse to develop, including using the eGit plugin-- except when something goes wrong, and my (limited) command line knowledge of Git is useless to help him.

Fortunately, it turns out to be pretty easy to have command-line Git on Windows with Eclipse, it just isn't well documented.

Setting up Git to Rebase on Pull Without Command Line

in

In the .gitconfig file in your home directory, ~ for Linux, and for Windows something like c:\Users\MyName, make sure there are these lines:

[branch]
  autosetuprebase = always

And in the project-specific .git/config (in the project's root directory), make sure there are lines like these, in particular of course the last one:

[branch "master"]
  remote = origin
  merge = refs/heads/master
  rebase = true

Show main menu links in the admin menu

<?php
/**
* Alter the admin menu to show main menu links there also (for admin pages).
*/
function example_admin_menu_output_alter(&$content) {
 
// Retrieve the Main menu link tree.
 
$tree = menu_build_tree('main-menu');
 
$links = admin_menu_links_menu($tree);
  if (!empty(
$links)) {
   
// Fake out a top-level main menu link.
   
$links['#title'] = t('Main menu');
   
$links['#href'] = '<front>';
   
$links['#options'] = array(
     
'alias' => true,
    );
   
$links['#weight'] = 100;
   
debug($links);
   
$content['menu']['main_menu'] = $links;
  }
}
?>

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