Monday, November 17, 2008

Drupal In Theory and Practice

I continue to poke around the Web, hoping I'll come upon the Drupal resource that will make it all clear. (That does happen to me sometimes.) I'm actually making a little sense of it, between experimenting with an installation on localhost and reading more manuals.

Drupal.org and many other Web sites have excellent documentation on how to accomplish specific tasks, but the place where I'm hung up is approaching my planned content, breaking it up into content types, and determining how to organize and display it. The documentation skips over this theoretical aspect, assuring us that we can do anything we can imagine, and "don't be intimidated bye the steep learning curve." (I'm really getting annoyed with that "steep learning curve" metaphor--it's so ubiquitous that most of the posters on the drupal.org forums feel obligated to slip it into their questions and answers.)

Here are some resources that have given me some inkling of how to classify and organize my content and begin to plan a web presence of the Pocahontas County local history project.

1 comment:

Anonymous said...

I just said this same thing to someone this morning.

Open source systems are often vulnerable to such higgledy-piggledy documentation, but Drupal seems to be especially guilty.

Take, for example, the documentation on entities. Here's the introductory paragraph (w/ "entity" subbed here for "node" in the original):

"All content on a Drupal website is stored and treated as 'entities'. An entity is any posting, such as a page, poll, article, forum topic, or blog entry. Comments are not stored as entities but are always tied to one. Treating all content as entities allows the flexibility of creating new types of content. It also allows you to painlessly apply new features or changes to all content."

This simply makes no logical sense.

First, it claims that "all content" is some form of entity. Then it proceeds to assert that a "forum topic", which strictly speaking is not content, is an entity, while a comment, which undeniably *is* content as well as being a "posting", is *not* an entity. It then repeats that "all content" is some form of entity, despite having said in the immediately previous sentence that comments are not.

Nor does it give any hint what a comment might be if it is not "content" and is not a "posting", or what it might mean to be "tied" to an entity, or how a non-entity could possibly *be* "tied" to an entity.

No one can come to a paragraph like that cold and understand it.

Yes, if you already understand Drupal the facts will obviously ring true, but the theoretical assertion here is prima facia *false*. And that's a huge problem, especially since this is supposedly the framework within which the subsequent documentation works.

Any system which functions must necessarily have a coherent underlying theoretical basis. Therefore, Drupal must be explicable in terms of overarching theory.

But developers aren't teachers, and I have yet to encounter one who has been able to think theoretically about the Drupal system and explain it within a coherent theoretical framework.

Instead, you just get a bunch of facts thrown at you.

Anyone who could produce a theoretical guide to the Drupal system -- which by definition must be possible -- would be a hero to thousands of folks wanting to use the system.