Monday, April 21, 2008

Yet another "is Drupal right for me" post

Hi there,

I'm researching for a platform to run a large community website that is supposed to combine features of a Wiki and CMS.

Basically, it's going to have an abstract data type, Item, which is defined as follows:
- Each item is of a certain ItemType. The list of ItemTypes is finite. We may add / remove item types in the future but those will involve code modifications.
- Each item is of has 1..n attributes and their values. An attribute may be a name, a url, or any other form of meta data describing the concrete item.
- Each item type defines a preset list of attribute that every new item of the specific type inherits upon creation, and the creating user has to fill values for those attributes.
- Each item has an ordered list of child items, of any type.
- Each item has a template for rendering itself. This template is inherited from the item type upon creation, but may be modified later on in the item's life cycle, for instance, when adding a new attribute for an item, one will have to modify the template to display this attribute. Note that the template is for a concrete item, not item type. This means that the article on the duck-billed Platypus may have the attribute "number of eggs laid per year", while the article on the Kangaroo will have the attribute "number of young carried in pouch", although both articles are items of type WildLifeArticle.

read more