Drupal Ramblings

Instigating the Gizmo: Our Drupal Theme Framework and Library is Awaiting Your Contribution

Yesterday, I wrote a post called Turning Drupal Themes Upside Down. Tonight I'd like to conclude those thoughts with a call to arms. Its time for us (you know who are you) to form a splinter project. For now I'm just going to refer to it as the Gizmo project. It would be rude of me to name our project before anyone even joined the party! Anyways, here's the basic concept (!$details).

The Goal of Project Gizmo is to create a theming framework that follows the modular, flexible precedent of drupal. The gizmo consists of a core that solves a multitude of difficult CSS/design problems that nearly every drupal site faces (whether they know it or not). In addition, it provides "hooks" and naming conventions to enable quick implementation of  common design, and UI patterns in a generic (read: flexible) way. Finally, gizmo provides a pregenerated set of blank CSS selectors that we the people of gizmo find ourselve commonly using. We shall extend this to encompass module styles as well.

In many ways, we're aiming to create a CMS that organizes and generates styles. The idea is not t build some "grandma can build a webpage" system. Really, we're looking to build a tool that moves drupal theming in a more ruby on rails direction. Developers, and users who are willing to learn CSS are the audience. Screw the folks that think we should build some magic mind reading design creation machine. Lets keep this practical.

Drupal Theme Development Turned Upside Down (part 1 of 2)

KHAN! khan... kha...In Star Trek II: The Wrath of Khan, there is rather odd scene (actually, that movie is one long odd scene...) where the audience is introduced to "the genesis device". At one point during that scene Spock notes that "it's a timeless truth that it has always been easier to destroy than to create."

However, sharing that line from Star Trek is not entirely the reason why I am writing this post. nYou see Spock's somewhat haughty observation fired a synapse that gave birth to this post, and thus it became a "blog-worthy" introduction.

The Performancing Firefox Plugin for Drupal, and the Approaching Wars of Desktop Publishing

John Wilson out at GHASP brought an awesome firefox plugin to my attention: Performancing.


The tool has a great "blog this!" feature;you select text on any page, and after right clicking and selecting "performancing" it automatically pastes the text you selected within blockquotes, and provides a link. In addition it has built in support and integration with del.icio.us, technorati and a myriad of other services.

Update on Curved Slate Development

For the 4 of you who may have wondered, I did not forgot about my promises of delievering a new super-theme for developers. I've in fact been working non-stop on it. Bugs, new insights, and new techniques have all contributed to the delay. So here's the latest update.

Major changes since last post

1. I've dropped the nifty corner's technique in favor of rico's curved corners. The rico method is far less buggy, does not require additional CSS, is easier to implement, and appears to be licensed under the more flexible Apache 2.0 License.

Introducing Curved Slate: A New Drupal Theme Who's Time Has Come

"Oh... great....", says the audience of drupal users, "another free drupal theme -- that's almost good as another free bag of baby vomit."

So Why a New Theme? 

While there are many drupal themes for us to choose from, let's face it: most of them are either ugly (I'm not naming names), don't work on any browser besides firefox (way too many to list), or are way too complex to be effectively extended and customized (echm: friends-eclectic, and civicspace... I'm looking at you). Not to mention, a large number of themes are merely ports that weren't designed with drupal in mind.

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.


Subscribe to RSS - Drupal Ramblings