This begins digging a bit into what the module API would look like. Hooks (aka Callbacks, Triggers,etc.) are the most obvious bit. I envision two broad classes of hooks-- System Hooks and Card Hooks. The definition of a Card hook could constrain which cards the hook should apply to based on a pattern. (see Pattern Cards) Views define what should be displayed when a particular view of a card is requested. Like Card Hooks, Views can be defined to apply only to cards of a particular pattern. For example various editor interfaces could be defined as the :edit views for cards of different types. It will be tempting when implementing modules to do things such as adding methods to cards, adding controller methods, adding helper methods, etc., and we may find that this is in fact necessary. At this point I am inclined to tackle the experiment of seeing if we can accomplish everything necessary via hooks and views. We can provide a small DSL for defining these.
--Lewis Hoffman.....Mon Oct 05 20:01:51 -0700 2009