implement Traits

Ticket

+commit
 

Specifically, I want to create a pack with code for Metacurrency, but the idea is general.  I want to be able to add a new cardtype (as an pack via API) that can add new options to card slots (RichHtmlRenderer).  The new options will put up multi-edit rendered forms from additional template cards (from plus cards or settings to the extension cards).  Posting these forms will add the raw form data as a new revision of the extension card along with identifying meta data.

 

The extension can now implement any sort of rules based processing as a save hook on the extension cards.

 

 

 

Preliminary work for this is in card_extension on my github repo -- Gerry


We've been calling these modules, since extension has a meaning already in Wagn (e.g. account and cardytpe extensions), but I think the direction is likely to be to change the term for that and use "extension" for this new functionality.

  --John Abbe.....Tue Feb 01 06:31:28 -0800 2011


The tag is still "Module" for now though, and note that we're trying to tag tickets/ideas with any relevant blueprints.

  --John Abbe.....Tue Feb 01 06:39:04 -0800 2011


Right. I think our current thought is that the old kind of extension will almost go away with the codename refactor, and then the collisions is less of a problem. In fact, we think all the current extensions can be made to be extensions in this new sense without rewriting them very much.

 

The idea is the we want User+*account to be the current user/account code more or less moved into an extension (one packaged in the "core"). Later we can make it more into a card based thing with multiple implementations that can be plugged in.

  --Gerry Gleason.....Tue Feb 01 07:17:55 -0800 2011


So, is this (even potentially) targeted for Wagn 1.7?

  --John Abbe.....Mon Feb 14 10:16:40 -0800 2011


and is this related to Extensions as Cardtypes ?

  --John Abbe.....Mon Feb 14 10:18:13 -0800 2011


this ticket (the name especially) seems vague to me. what exactly needs to happen for it to be in place? How is this different from implement view modules?

  --Ethan McCutchen.....Fri Feb 18 10:19:19 -0800 2011


Maybe I should rename it, since this will really be about implementing a particular class of card extensions for metacurrency. It may be a pattern for other extensions if it is nice and clean.

 

It also seems like the basic features that I will need are folded into other tickets, so this will really be about a specific extension.

  --Gerry Gleason.....Wed Mar 02 12:37:49 -0800 2011


Renamed and updated the language a little bit.

  --Gerry Gleason.....Tue Aug 30 10:12:06 -0700 2011


I think this is maybe 1.8.4 now. On the traits branch. 1.9 targeted code now on rackish branch.

  --Gerry Gleason.....Tue Mar 13 00:01:08 +0000 2012


The plan is to use this pattern to replace the user model (i.e. the account/login code) with user+*account.

  --Gerry Gleason.....Tue Mar 13 00:03:27 +0000 2012


I *think* this has been reframed and that we're not conceiving of traits in the same way any more. closing (but please discuss if you disagree)

  --Ethan McCutchen.....2013-02-11 20:20:23 +0000