For Part 3 of this series we will be getting into what tools and modules can be used to create an intranet of committees using Drupal and civiCRM

For this we will be going over how Drupal can be used to create an intranet with access to membership directories and provide individual group pages for each committee within your organization, with the ability to subscribe to messages organize events and share documents.

As the desire for neater and sleeker user interface increases, the ability to provide a website administrator with the ability to sort content that will appear on a list page. Granted, there are a number of great modules that allow for the sorting of pre-defined nodes, but sometimes you just have to sort items (whether they are nodes or rows from a custom table) in a completely custom way.

Blog Header ImageIn a previous blog post, I gave a quick overview of how closures work in JavaScript. Closures are a very powerful tool in JS development and can be used in many different design patterns. In this post, we'll look at how the module pattern works thanks to these closures.

Continuing from part one of Creating the ultimate non-profit solution using Drupal and CiviCRM, this tutorial will cover using the main civiEvents, civiMember and civiContribute. To manage your non profit better using drupal.

This is the first in a multi part series in getting the most out of a Drupal + CiviCRM deployment.
Series Topics Will include

I'm pleased to introduce Unleashed Technologies' first open-source project, "maxchars"!  maxchars is a jQuery plugin for easily adding and enforcing character limits on input elements with a friendly UI.  It works similar to Twitter, where users are presented with a helpful message stating the number of remaining characters or notifying them if they've exceeded the limit.  Similar plugins already exist, but we wanted to design something far simpler and easy to integrate.

JavaScript has quickly become an important language used in many aspects of website development. Although it may look very simple and straightforward to new programmers, it has several features and "gotchas" that may leave you scratching your head, wondering why your code doesn't work. This article will help you understand some of these ideas and explain how you can implement them to instantly improve your scripts.

Closures are a very powerful yet underused feature unique to of JavaScript (and other ECMAScript languages). They essentially provide your code with private variables that other scripts can't access. This is accomplished by exploiting three interesting features (or "quirks") of JavaScript:

On a number of occasions in the last year, we've created new websites that required importing a great deal of content from an old website. Instead of going through the hassle (not to mention the sheer length of time) of entering each page via the node insert form, it's much easier to utilize the programmatic node insert feature of Drupal.

One of the best things about developing in Drupal 6 is the almost limitless ability to hook into core functions, contributed modules, and being able to tailor Drupal to meet your individual needs. For me, a lot of these awesome features involve the ability to programmatically utilize Drupal core modules, such as Views and CCK.