My Projects

  • warning: strlen() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 774.
  • warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 741.
  • warning: strlen() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 774.
  • warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 741.
  • warning: strlen() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 774.
  • warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 741.
  • warning: strlen() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 774.
  • warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/ebeyrent/public_html/includes/bootstrap.inc on line 741.

drupal

The permissions_api module provides a method for granting and revoking permissions for a given role. This module helps with the issue of staging a Drupal site across multiple environments, from development sandbox to production environment.The ability to import CCK content types through code is great until you decide that you want members of specific roles to be able to do something with this content type.Currently, the only way to grant the permissions is to navigate through the access control page in the admin interface, which is completely unusable if you have a lot of roles and a lot of modules. This module addresses that problem by providing the following functions:

  • permissions_grant_permissions()
  • permissions_revoke_permissions()
  • permissions_grant_all_permissions()
  • permissions_grant_all_permissions_by_module()
  • permissions_revoke_all_permissions_by_module()
  • permissions_get_permissions_for_role()
  • permissions_get_role()
  • permissions_create_role()
  • permissions_role_inherit()

The Visual Search project is a suite of modules that allow your end users to search for content visually. This is particularly useful in e-commerce applications by giving your customers the ability to search for products by colour, as well as gallery applications.

Visual Search API

This module is the core of visual search, and it provides functions for parsing a given image and extracting colours from the image. This data is then stored in the database for searching.

Visual Search UI

This module provides the user interface for end users to choose colours as search criteria, and also displays the results from that search.

Visual Search Colorpicker

This module works in conjunction with the Visual Search UI by providing a method for defining multiple colour pickers. This gives developers the freedom to integrate whatever colour picker they desire.

Visual Search Node

This module uses the Visual Search API and handles creation, import, and update actions to nodes with images so that the images can be processed.

This project is modeled after the JIRA Connect module to allow single sign-on integration with Atlassian's Crowd application.

The module supports detection of the Crowd SSO cookie to provide automatic login of users already authenticated via Crowd. Drupal accounts are created automatically if the user account doesn't already exist. The module also hijacks the standard Drupal user login form validation handlers to authenticate directly against Crowd instead of Drupal.

The Extended LDAP Groups module is an extension of the LDAP Groups module, which is part of http://drupal.org/project/ldap_integration.

While this isn't really ideal in the long run, it's a good starting point for people who need this functionality right away without having to hack up a contributed module. What I'd really like to see is that this code, or a better version of this code, gets merged into the ldapgroups module. If and when that happens, this module will go away.

This module supports:

  • Role creation, via the core Drupal roles admin form, synchronized as groups in LDAP
  • Added group creation LDIF template to the LDAP provisioning form
  • Role updates, via the core Drupal roles admin form, synchronized as groups in LDAP
  • Role deletes, via the core Drupal roles admin form, synchronized as groups in LDAP
  • Mass LDAP group imports as Drupal roles
  • Group membership updates when roles for a user are granted and/or revoked in Drupal via the core Drupal user form
  • Option to remove user from all LDAP groups when the user account is blocked in Drupal. When the user is unblocked, LDAP group membership is restored, based on the user's roles in Drupal

This module integrates the Biblio and Search Lucene modules and provides facets based on the structured data in biblio nodes.

wordpress

A friend of mine wanted to start his own blog, and as a major astronomy buff, he picked out the Red Planet theme. I thought a nice touch would be to add the Astronomy Picture of the Day widget to his sidebar.  However, nothing is ever as easy as it seems. The plugin failed, because url file access was disabled in the php.ini configuration on the webhost. I attempted to change this using the ini_set() function, but was unsuccessful. Not willing to give up, I rewrote a large portion of the widget that retrieves the APOD content to use cURL instead. In a nutshell, the widget uses cURL to read the APOD page for the current day. There are two images in the page - a small version and a large version. The source of both images is parsed from the captured html, and cURL is used again to fetch the image data for the small image. Because of the security settings, I couldn't do a getimagesize() call against the image URL directly, so I had to write the image data to a temp file first, and then I was able to get the dimensions of the image to resize it to fit within the sidebar.

I found another great widget, which displays a random Apple Movie trailer, complete with movie poster.

Sadly, I ran into exactly the same problem that I did with the APOD widget - use of url file access functions is strictly verboten on my web host. So, here is the modded version of the widget to use cURL:

About Erich

Erich is a web developer and a native New Englander who is passionate about life, the universe, and everything.

He is a Drupal consultant, previously employed as a senior developer at Harvard University, working on the IQSS OpenScholar project.  Prior to joining the team at Harvard, he was the engineering manager at CommonPlaces e-Solutions, in Hampstead, NH, contributing as the lead engineer on the Greenopolis.com and Twolia.com.

Erich is active in the Drupal community, having contributed modules and patches to the community. He presented at DrupalCon in Szeged Hungary, and co-presented at DrupalCon 2009 in Washington, DC.

Erich lives in New Hampshire with his wife, two sons, and three weimaraners.  When not writing code, Erich enjoys landscaping and woodworking.

Faceted search

Categories

Content type

Project types

Artwork Type

Artwork Tags

Recent comments

Activity Stream

August 29, 2011

August 25, 2011

August 24, 2011

August 23, 2011

August 15, 2011

August 11, 2011

August 10, 2011

August 9, 2011

August 4, 2011

August 3, 2011