| |
Posted by Merlin on Tue, 01/31/2006 - 9:29pm
One thing I have learned is that it’s very hard to describe; Drupal modules. They often have to be seen to really understood, and a lot of what I write is hard to see because I like to write APIs and tools that let administrators have Phenomenal Cosmic Power without having to write much PHP.
As a result, it’s hard to tell what my modules do. I wrote this description of the Node Queue module and I’m hoping this might help people understand both what it does, and why many sites need something like this.
The idea behind the Node Queue is simplicity in administration, yet flexibility in presentation. It provides a 'queue', which is really just a list of nodes, and an easy way to add/remove nodes from the queue. It also provides a mechanism to re-order the queue arbitrarily.
Posted by Merlin on Tue, 01/31/2006 - 6:36pm
I bet it won’t surprise anyone that I might blog about Views, here and there. After all, I’ve spent a great deal of time with it, and I’m very excited about its potential, and what it can do.
As excited as I am by it, I do keep finding myself running up against various limitations.
- Views can’t easily add itself as a tab attached to someone’s account. The only reasonable way I can think to implement this is to do it as an external module.
- Taxonomy is so darn flexible that views actually can’t do some operations that appear simple, because to do them you have to assume things about taxonomy. One good example is simply displaying all terms attached to a node. Because SELECT queries require you to know exactly what kind and how much data you’re collecting, and taxonomy is inherently variable, this is difficult to do in a single select.
- It doesn’t support group by, though I think I can add that one without serious trouble.
- I don’t really have everything that needs to be in there for filters, especially in terms of operators and special types. For example, we have a ‘date’ type in forms api that Views can’t really take advantage of.
There’s also a long, long list of things I need/want to do to Views.
Posted by Merlin on Tue, 01/31/2006 - 5:20pm
Alright then. (alright isn't a word in English. I'm ok with that).
Today was my last day at the 9-5 job, and the malaise that affected that company is now behind me (even if it's still close and in the rearview mirror).
Posted by Merlin on Mon, 01/30/2006 - 9:24pm
I'm getting a little concerned about Drupal 4.7; it's really hard to keep track of what state my modules are in, because things keep changing. Here we are at beta4, and we're hit with this UTF-8 upgrade, which is a required change to all modules. It's not a difficult change, I suppose, but it seems rather late in the game to require yet more changes. DRUPAL-4-7 was released as a tag! At that point there shouldn't be any more required changes to modules.
Every time I turn around, lots of little things change here and there. I'm not a particularly vigilant person. I've been catching a bunch of these changes because I'm heavily involved in them right now, but I may not always be.
Posted by Merlin on Sun, 01/29/2006 - 10:11pm
One of the things that happened with Angry Donuts here is that while I was fiddling with the logo and stuff, someone popped into the IRC and started asking about how hard it would be to implement DHTML menus based on this script. The person went by Aw0L and I have no idea who that is, otherwise, but I did end up getting the script working, after giving it a pretty serious workover.
Posted by Merlin on Sun, 01/29/2006 - 3:06pm
This is my brand new programming oriented blog. Kind of odd that angry donuts have anything to do with programming. And they don't! But I had the name sitting around, and I had the logo sitting around, and I said to myself...self, why not. And I actually gave myself a whole lot of answers why not.
This is an example of a dashboard that is simply putting some block content in the left and the right.
It's worth noting that a little theming on this example would (and maybe even will, when I feel like it) go a long way. But for the moment I'm using the basic dashboard theme.
View the Example
LEFT:
print dashboard_get_block('recipe', 0); print dashboard_get_block('aggregator', 'category-1'); print dashboard_get_block('delicious', 'delicious-2');
RIGHT:
print dashboard_get_block('aggregator', 'feed-1');
print dashboard_get_block('aggregator', 'feed-2');
The dashboard is a simple node type designed to work like a static page that can display content in a two column format, with header and footer areas. It is meant to look like this:
+---------+
| |
+----+----+
| | |
| | |
+----+----+
| |
+---------+
Each area has its own section, created entirely by tags and styled via CSS. The CSS tags can be easily overridden in the any theme.
NOTE: Dashboard is probably misnamed at this point; it is merely the start to what the final dashboard functionality ought to be, which includes large amounts of configuration. I'm not entirely interested in coding that, though, so another developer may have to put in some work to get that functionality.
Software information or what have you will go here.
Let's face it, this section needs a lot of love on my part. Which is to say, I haven't really done anything at all here.
Ideally what I want to do is provide a nice little overview of the software I've written, provide examples for various bits and pieces, and the like.
But none of that is here yet, because it takes time. For now, all that's here is the broken Dashboard stuff that I started to port over from logrus.com, but I didn't get around to finishing that.
Once upon a time in the Republic of California there was a small chain of donut shops. These little donut shops were all very happy and pleased with themselves. Every day cops and people alike would sit down with warm donuts and black coffee, and munch away on the ever so pleased pastries.
|