projects

Here are some community projects which I have benefited from and wish to contribute my resources to.
Syndicate content

Summer of Code Proposal

Motivation

In building a content-oriented website, people need a way to specify
structure (how the pages and content items of the site inter-relate)
and provide navigation based on the structure.

Most existing tools for site-structuring and navigation in Drupal are problematic for two main reasons:


Drupal as Open Architecture

Wish I had seen this in August after OSCON, but it really strikes a chord. I’ve been a Drupal dev for a long time, and have recently been focusing on the newer “agile frameworks” in Python and Ruby, and I’ve found the same shortcoming: there is no component architecture, at least not on the level of Drupal with its myriad callback hooks and “monkey patching” facilities. I’ve been ruminating on the idea of following the Drupal architecture to build a similar framework on top of WSGI.


Large organization authoring environment

cck, groups, categories hybrid

Categories represent areas of influence. They don’t correspond directly to location, rather locations are constructed by intersecting vocabularies and providing a means of display for the resulting nodes.

Groups can be associated with categories, as a single node. This node is also a cck node.
Some categories are also groups.

  • Workflow / Actions
  • na_arbitrator

This last is a work by Earl providing an API for node access modules to interoperate.

Currently, access modules directly insert records into the node_access table. If any module has inserted a “yes” record, access is granted.

na_arbitrator provides. Currently, there exists in the package a module workflow_access which ties node access to workflow state by role.

Relationships

  • Node {has a} Workflow State
  • Node {aggregates to} multiple categories
  • Groups {have many}
    • Managers
    • Members

For each category/group, there are 3 local “roles”:

  • Not a member
  • Member
  • Manager

A content item lives in the intersection of the union of each set of categories which share a container

For example:

?? (FAQs) AND (History OR Math) AND (“History: Early 20th” OR “Math: Trigonomery”) ??

Here, the first category is the content type. Each content type has fields, workflow, and behavior. Type determines workflow. This makes workflow and behavior global in the sense that it is the same in all departments. This is true at least in our first prototype.

It would be possible to add more “roles” to a group type using CCK user ref fields. Behaviors could then be associated with these local roles using a na_arbitrator node access module.


View Arguments in Menu

My immediate use-case is taxonomy browsing, but it would be very useful for all kinds of views.


4.8 on the Move: CCK Merge

It is very useful for a CMS to allow site creators to define new content types. This functionality is nicely implemented in Drupal with CCK, also known as content.module. CCK actually allows new types to be defined TTW (Through The Web).

For the 4.7 series, CCK has been developed parallel to core as a set of contrib modules. As the CCK feature set stabilizes, changes are made in core to ease the merge.


Beginnings of some Drupal user documentation

More after the fold.