Drupal Articles

Keeping It Real With Drupal

Some people like SNL's Stuart Smallie (OCD, child of alchoholic, and has an eating disorder) pin messages on their bathroom mirror that that are engraved with phrases such as "people like me", "easy does it". In a similar tradition, I need to pin this list of sterling advice from 37signals on my door, bathroom mirror, and the inside of my eyelid. Some of these maxims are hugely important for people working with drupal. For example:

Fight Features: Build half a product, not a half-ass product

Setting Up Drupal: How To Write an Epic Story About a Mundane Easy Task

So Steven J. Vaughan-Nichols says Drupal is hard to install. I disagree: its hard to design a good looking site; its hard to write content that people bother reading; its hard to organize content so people can find it; its hard to focus your mind on key features, and avoid making your website a portal O' bloat packed with features that serve no particular purpose.

Its particular hard to keep your site up to date. I swear that staying up with, and enduring major updates is about as difficult as quiting smoking AND starting to floss. Moreover getting 12+ sites to behave well when running off of one codebase with 8 different admins -- most of whom may not know what goes on behind the interface -- is a constant battle of the wits -- mainly with me, myself, and my ingenious stupidity.

Cooking with Drupal

Jeff Eaton has put up an awesome website for anyone who is just starting to get their head wrapped around drupal: Cooking with Drupal.

I like the culinary metaphor. Modules are like spices. The more you use, the less value you get from each one. Too many modules, and too much functionality usually confuses visitors (as well as yourself, KISS* is a good rule in drupal).

Drupal 4.7: Taking Drupal One Step Closer to World Domination

It seems to me that Drupal 4.7's bugs no longer overshadow its great new features. Last night, I built the beginnings of my latest project using Drupal 4.7 beta-3. It went so well that I took pictures of some of the huge improvements, and cool gizmos that only work with 4.7.

There is also a common theme in these modules that is  relevent to recent posts by Civicspace Labs Director Zack Rosen, and Lord Protector of Drupal, Dries  Buytaert.


The Control Panel Module 


One small module, one huge step for drupal in the intensifying opensource CMS wars. What we have here is no static Mambo/Joomla! admin section - this is a menu that's been transmogrified into a control panel from an actualy menu tree. In otherwards, its fully dynamic, and customizable from the the menu administration page. Notice how it deals with nested menus "logs", and "settings" and you'll suddenly recognize what menu your looking at. Hopefully, we can eventually build an api into the control panel so that modules can include their own icons for use in the control panel.

TinyMCE updates: 


You now have control over every single button on TinyMCE. Only include the one's you need, and screw the rest. Yes, this makes us very happy. There also appears to be new room for extending the interface, allowing (possibily) plugins like img_assist  to exist within the tiny_mce interface. That is another big one for Drupal when it happens. TinyMCE actually makes its profit off of the text editor by selling plugins that basically do what img_assist, and upload modules do. If we could integrate upload, and img_assist into tinymce -- we'd have the holy grail of opensource CMS WYSIWYG editors -- no competition -- none. Folks, I think these are the types of features 95 percent of users care about.

Nice Menus (javascript, css dropdown menus) 


My cursor isn't seen, but my its currently hovering over "user agents". Why is this signficant? Well, I used to have to go through at least 4 page refreshes (which translates to 14 something seconds) to get to that point. Now,  this is a big improvement. Any feature that shaves off time (and this module shaves off easily 3/4ths of the time it used to take) it takes for me to get where I need to go receives an A+


Again -- key feature that most every user could use: graphs to help them sort through the hundreds of thousands of rows that can end up in their traffic logs. GraphSTAT appears to be a perfect base for a new generation of logs which put emphasis not on data, but displaying the data in a meaningful

Drupal Category Module Looks Very Promising

Today while going over my drupal-related RSS feeds, I ran across a very advanced module that is currently in development: the category module. I've noticed this module several times before, and I must admit that I was skeptical. This skepticism was undoubtably due to the module's colossal function:

The categoryi module allows you to structure your site into a tree-like hierarchy of pages, and to classify your dynamic content, all within one seamless interface. Gone are the days when these two tasks were carried out using separate and incompatible tools: now it's all one and the same. Built upon the solid foundations of the book and taxonomy modules, the category module overcomes the weaknesses of both these tools, to give you more power than ever before in customizing the navigational experience of your Drupal site.

However, this module has started creating an unusally large amount of buzz, so I decided to register at the demo site, and give the module a spin.

A Practical Tutorial on Drupal Project Management

I'm currently in the midst of learning some awful lessons about providing customized drupal installations. Because of this, I'll be following a couple strict rules in terms managing all future projects. For those of you who may just beginning in this field, save yourself, and follow these rules from the get-go:

  • If you work by contract, always bid the project for significantly more than you think its worth. (hint: if you bid under $950, you've underbid) Even when you overbid, don't be suprised if the number of hours divided by your bid come out to a 5-15 dollars an hour range.(When I was contracting, some of my first projects ended paying under minimum wage per hour)
  • Schedule your projects in blocks, and never take on more than one project at a time. If your potential client or supervisor needs the project before you have a free block, you should nevertheless say no. If they protest, explain to them that your effectiveness per hour decreases exponentially for every project you take on. If they still refuse to accept your answer, respectfully remind them that you both have an interest in having projects turn out well, and that taking on another project jeapordizes your mutual intersts. If that doesn't work, I'd consider quitting.
  • If you think a project is going to take 24 hours of work, than be prepared to expect 72 hours of work. If your working with drupal, than your job description will have expanded dramatically from that of a typical web developer's. Thanks to email, phone call's, planning, research, and other activities that usually aren't taken into account in the beginning, I'm left with less than one third of a work day to spend on actual development.
  • Remember that you can't read minds, and you're supervisor or client nearly always wants drupal, and 3rd party modules to behave differently than they do by default. Typically, you'll find your job is not to combine, and configure drupal. Forsee specific areas where you will need to extend, combine, or rewrite modules, and let everyone involved with the project know about them.

Remember, save yourself, and follow these rules. Do not put yourself through the hardship of learning these lessons through experience. It ain't worth it, kids.

Running Drupal or Civicspace on a Windows Desktop Machine

Today, I’m flying to Santa Fe. I have a new fondness for air-travel thanks to a magnificent tool I recently stumbled across. XAMPP is a free, open-source, simple, nearly idiot-proof LAMP emulator that lets me create fully functional drupal sites on my laptop, complete with full database, and php support. The thing even has freakin’ phpMyadmin* installed. You can even switch between PHP 5 and PHP 4, and I also believe you can switch between mysql versions 4x, and 5x with the proper extension. All in all, its increased my productivity astronomically. Its funny – I never bothered to think of how much time I wasted over months watching a status bar move during an FTP transfer. Or – actually, I take it back, that’s not very funny.

Some Tips on Working with Drupal Taxonomy Terms

Today, while working on the redesign, and drupalfication of Cybertelecom, I was faced with a challenge: In addition to displaying the taxonomy terms that a node was filed under, I wanted to add a link to the term's RSS feed. The solution ended up being so bloody simple that I couldn't help but share it. Also, its worth pointing out that while this specific chunk of code is specialized, it reveals some damn useful tricks in dealing with the taxonomy from within single nodes.

In this tutorial's case, we will be calling the above function from within a node.tpl.php file. Within node.tpl.php file look for a line that reads:

Introductory Tips on Hacking CiviCRM

Recently, I built a website for the International Peace Tiles Project. My goals were pretty straight forward:

  1. Develop an interface that would allow users to upload photos of their peace tiles.
  2. If users wished to swap their tiles with other users, have a system in place that would track the status of the tile.
  3. Have tiles be searchable by location.
  4. Gather user’s location and status of involvement

A good golden rule to follow is never make users enter data twice, and if certain functions (i.e. filing the tile under the user’s country) can be automated, automate them. So with that rule in mind, I decided to use CiviCRM to store user data.

Introducing telecommunity.us

Three of you might have noticed that my blogging has been light. I'm not dead, though (though arguably, working 12 hours a day on drupal sites is a death-like experience). Anyhow, one project of mine, and Gene Crick's is beginning to take shape. I'd like to introduce telecommunity.us.

Though we're by no means "launched", we've nevertheless already received a lot of queries about it. If you're curious as to what it's all about, I think a good place to start is my boss/mentor's article in Community Technology Review.


Subscribe to Drupal Articles