Agaric Design Collective

Making stuff better: the Agaric way

43 Main.jpg

Agaric Design Collective uses the power of open source free software, the internet, and people to build sites that give control to our clients and their communities.

We build individual, organization, and business sites. Our passions are for community-driven sites, democratic communication in the service of human coordination, and great design.

A full service branding and web presence company, we also provide hosting on our dedicated servers, training, and brochure and business card design. Our core offerings, custom development, and consulting are based on the state-of-the-art content management framework Drupal.

Our founding principles include the goal of helping all people gain the most power possible over their own lives. We apply this to our work and build online applications that our clients can easily update and expand on their own. Agaric Design proudly uses world-class open source free software that means freedom from lock-in and always keeps our clients in control.

Our headquarters are in Natick, Massachusetts, and our members hail from several parts of the state, Rhode Island, and Germany. Thank you for visiting our site, which we will continue to improve on the rare occasions we can take time from working for you!

Making stuff better: the Agaric way.

 

Featured Content

Link to twitter status message from Drupal twitter module repost

Link twitter status messages to the twitter account display of these status messages.

 

Installing Tweetdeck on Ubuntu 9.04 64bit

So you wanna get TweetDeck rocking out on Ubuntu 9.04 64 bit?

First, you have to get Adobe Air installed:

Grabbed most of the important bits from http://www.bauer-power.net/2009/05/getting-adobe-air-to-work-in-ubuntu-9...

 

Views 2 Theming - The Presentation

the slides for my presentation on Views2 Theming given at design 4 drupal at the MIT Stata Center on June 13th, 2009 in room 141....

 

Drupal Design Camp Boston this weekend, Providence meet tonight, Redesign sprint Fri, and a general camp in the works

This weekend Design For Drupal Boston promises to be the biggest Drupal event to hit New England since the 2008 North America DrupalCon, with 27 sessions proposed and nearly 200 registered attendees, including a number of current – and no doubt more future – Drupal stars.

Hastily donned hats off to the hard-working organizers, including Susan MacPhee, Kevin Flavin, and Christefano.

For more reasons to be proud to be a New Englander – as if marriage equality were not enough – upcoming Drupal events include, tonight, the Boston Meetup in Providence, Rhode Island on the occasion of a Lullabot invasion and this Friday, for people who want to help refurbish Drupal's home, Kieran Lal of Acquia helps bring a Drupal.org redesign orientation sprint to MIT. And all these events are free.

Agaric has five people attending and submitted five sessions to the Design Camp.  (Looks nice and balanced?  Well, Kathleen Murtagh has images in content, version control, and Zen-sustainable theming, leaving Views 2 theming and RDFa semantic goodness to a couple of the rest of us.)

If you have a burning desire to present, Susan asks for developers to help cover fundamentals.  Or if you feel you'd have liked to help organize a camp and wonder why you didn't know about the planning of this one, not only is it not too late to volunteer this weekend, you can still get in on the ground floor of the second New England DrupalCamp in two months.

 

Query about inclusion of all-income Drupalers at DrupalCon Paris

[Sent via the http://paris2009.drupalcon.org contact form]

This question is about scholarship / support information for attendees. I note that such efforts do not have to be organized by the DrupalCon Paris organizers, but you will necessarily be a key point of coordination in any case.

 

Drupal 7 module development gotchas

First we discovered that you need a .module file for your module to be recognized. A .info file is not enough. (In this case, we only wanted the .install file, we made an empty .module file, and all was well. But then we wanted to add some functions to that empty .module file...)

Now we have found that you need to declare

files[] = agaric_example.module

 

Drupal 7's jobqueue doesn't guarantee your hard drive won't be hit by a meteor

Meteor safety is surely the most important metric in open source free software, and we must warn you: Drupal 7's new Jobqueue doesn't guarantee your hard drive won't be hit by a meteor.

This has been a public service announcement from Agaric Design Collective. Good day.

 

Your mom likes IE6!

Your mom likes IE6. It is true. Most likely, it is because it is all she knows. So, to all the mom's out there, we love you and appreciate all you have done. We would just appreciate it more if you changed your browser and upgraded to Firefox. But, we would settle for IE8, even IE7.

 

Get the directory name from a file path string in PHP

There is a built-in PHP function to get the directory portion of a file path from a string (lopping off the filename itself).

http://us3.php.net/dirname

 

Debugging errors in Drupal or anything running on Apache

Had occasion to do a quick (read: emergency) debug session for a live site today, and as I remembered the steps for a change, wandering around on a server not our own, I share with them with the world repackaged as a debugging lesson:


$ cd /var/log/httpd/
-bash: cd: /var/log/httpd/: Permission denied
$ sudo tail -f /var/log/httpd/error.log
Password:

 

Recent Content

Disable Trackpad Tap to click Ubuntu and HP Pavillion

Disable Trackpad Tap to click

hp pavilion dv6000 turn off trackpad clicks
hp pavilion dv6000 turn off trackpad tap to click ubuntu

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"

 

pwn: let users grant permissions they own to roles (delegate only their own privileges to others)

drupal allow user to administer only permissions they have
drupal give lesser permissions
permission delegate
drupal grant permissions you have

Agaric and the world needs a

Drupal role permission to set permissions for any permission it has

http://gotdrupal.com/videos/manage-drupal-permissions-more-easily

 

Link to twitter status message from Drupal twitter module repost

Link twitter status messages to the twitter account display of these status messages.

 

complex view example

<?php
$view = new view;
$view->name = 'contributions';
$view->description = 'Articles and Commentary';
$view->tag = 'content type';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

 

Installing Tweetdeck on Ubuntu 9.04 64bit

So you wanna get TweetDeck rocking out on Ubuntu 9.04 64 bit?

First, you have to get Adobe Air installed:

Grabbed most of the important bits from http://www.bauer-power.net/2009/05/getting-adobe-air-to-work-in-ubuntu-9...

 

SSH agent forwarding on Mac OS X debugging

ssh -v agaric-production

OpenSSH_5.1p1, OpenSSL 0.9.7l 28 Sep 2006
debug1: Reading configuration data /Users/ben/.ssh/config
debug1: Applying options for agaric-production
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to agaricdesign.com [66.135.37.243] port 22.
debug1: Connection established.

 

Adding (verifying) your Drupal site to Google's Webmaster Tools

I don't see an API for your entire Google account coming soon, or Google should already be able to skip the verification step for sites using Google analytics.

So the easiest way is to make a new node or create a new path alias to an existing page with the path that google wants: googleed909f3ff5bcb87e.html in this case.

And delete it afterward.

 

Views 2 Theming - The Presentation

the slides for my presentation on Views2 Theming given at design 4 drupal at the MIT Stata Center on June 13th, 2009 in room 141....

 

Jamaica Plain Meetup in Roxbury reportback

Report-back on Jamaica Plain Drupal Café.

I tried to sell everybody on funding Decisionmaking API. No checks were handed over on the spot.

 

Drupal Design Camp Boston this weekend, Providence meet tonight, Redesign sprint Fri, and a general camp in the works

This weekend Design For Drupal Boston promises to be the biggest Drupal event to hit New England since the 2008 North America DrupalCon, with 27 sessions proposed and nearly 200 registered attendees, including a number of current – and no doubt more future – Drupal stars.

Hastily donned hats off to the hard-working organizers, including Susan MacPhee, Kevin Flavin, and Christefano.

For more reasons to be proud to be a New Englander – as if marriage equality were not enough – upcoming Drupal events include, tonight, the Boston Meetup in Providence, Rhode Island on the occasion of a Lullabot invasion and this Friday, for people who want to help refurbish Drupal's home, Kieran Lal of Acquia helps bring a Drupal.org redesign orientation sprint to MIT. And all these events are free.

Agaric has five people attending and submitted five sessions to the Design Camp.  (Looks nice and balanced?  Well, Kathleen Murtagh has images in content, version control, and Zen-sustainable theming, leaving Views 2 theming and RDFa semantic goodness to a couple of the rest of us.)

If you have a burning desire to present, Susan asks for developers to help cover fundamentals.  Or if you feel you'd have liked to help organize a camp and wonder why you didn't know about the planning of this one, not only is it not too late to volunteer this weekend, you can still get in on the ground floor of the second New England DrupalCamp in two months.

 

Checkout a specific revision of a file with Git

git checkout abcde file/to/restore

Reference:

How do I reset/revert a specific file to a specific revision using Git?
http://stackoverflow.com/questions/215718/how-do-i-reset-revert-a-specif...

 

E-mails being sent or nodes being saved by batch api breaking on a regular schedule just during cron runs

If you are having weird problems in Batch API processes, such as the base URL for notification e-mails being replaced with something less-than-useful like /var/www/drupal, the culprit may be (somehow) cron.php being called by a command line script (rather than curl or something going to cron.php over the internet).

 

MetroWest Drupal Meetup

A good meetup and a stellar example of Drupal free association. We started with a look at how to do recurring, role-enhancing subscription payments with Ubercart because Scott McCabe as well as Dan was at that point in a sight, we were all distracted by something shiny – Views theming I think – and things flowed from there.

 

Having the top-level menu items not be links (for use with dropdown menus)

The best approach may be to avoid this entirely with proper information architecture. I always try to make these have meaning themselves, but certainly with not expecting most people to click on them anyway, this does not always make sense. Instead, the way Agaricer Kathleen did it for one project is simply to have each dropdown be a separate menu.

 

Query about inclusion of all-income Drupalers at DrupalCon Paris

[Sent via the http://paris2009.drupalcon.org contact form]

This question is about scholarship / support information for attendees. I note that such efforts do not have to be organized by the DrupalCon Paris organizers, but you will necessarily be a key point of coordination in any case.

 

"Content profile registration broken": debugging rogue form validate overrides

Bad coding in a development partner's custom module was the culprit. It was overriding content_profile_registration's setting of a validation function (and every other module's, too).

Inside the custom module's implementation of hook_form_alter() lives the error:
<?php
switch ($form_id) {
// ... ignore lots of code
case 'user_register':
// ... ignore more code

 

Check if a field exists

http://api.drupal.org/api/function/field_info_field/7

field_info_field('field_name') returns an object or NULL.

 

Undo a conflicting change in your working copy that you didn't want anyway

In short, resolve a conflict in favor of the outside repository.

The file can be a

mv offending.file ~/elsewhere
git checkout offending.file

See also for resetting everything: http://agaric.com/note/git-update-and-ignore-local-changes

References
http://bryan-murdock.blogspot.com/2007/07/git-revert-is-not-equivalent-t...

 

Example of hook_block in Drupal 6

<?php
/**
* Implementation of hook_block().
*/
function fightfi_block($op = 'list', $delta = 0) {
$block = array();
switch ($op) {
case 'list':
$block[0]['info'] = t('Sidebar Links');
$block[1]['info'] = t('Footer Links');
return $block;
case 'view':
switch ($delta) {
case 0:
$block['subject'] = t('Sidebar Links');

 

Drupal 7 module development gotchas

First we discovered that you need a .module file for your module to be recognized. A .info file is not enough. (In this case, we only wanted the .install file, we made an empty .module file, and all was well. But then we wanted to add some functions to that empty .module file...)

Now we have found that you need to declare

files[] = agaric_example.module

 

May Western Mass Drupal Meetup Notes

Here is a breif outline of what I went over

Feed API module
http://drupal.org/project/feedapi

http://dhakimzadeh.com as a use case
setting up feeds
-linking to content types
-mapping fields
-views integration
setting up a point and click blog site with google reader, and things like it

other features on http://dhakimzadeh.com
- jquery image resizing (code for that is below)

 

Making changes to a nested array that may have arrays or strings in some values

Pulled this from the test module for the new RDF module we're putting in Drupal core.

// dealing with a nested array where the top level can be a string or an
// array is complex and helper functions may be a good addition

<?php
rdf_mapping_alter_create('rdf_test_container', 'title', )

/**
* Make adding an attribute and property sane. $prop can be an array.
*/

 

Upgrading Drupal modules

Automated help:
http://drupal.org/project/deadwood

http://drupal.org/project/coder also has upgrade assisting functionality.

General best practices and Drupal 5 to 6:
http://drupal.org/node/114774

 

Git update and ignore local changes

The don't-take-no-for-an-answer way:

git reset --hard