As of Wagn 1.6, developers can extend Wagn without forking its code by creating a "pack".
"Packs" are ways to extend Wagn's functionality. In the long term, we envision that a "pack" may refer to several things:
- "modularized" code that can easily be added or subtracted
- a "tradeable" group of configuration cards
- a combination of the above
At present, a pack is really just that first method -- it's a little code module that uses a simple API to create new views of cards.
The API is currently in alpha, but there's a lot of power packed into this kind of pack. You can create special types, special plus cards, and special individual cards. You can override existing views or create new ones. You can not only change how a card's content is presented, but also how it's edited.
In fact, all the views of existing types, from Basic to User to Image to Setting, are now handled through this same API. As are lots of special individual cards, like
*recent,
*navbox,
*account links, and
*now.
We'll be adding lots more documentation about how to get started on creating your own packs in coming days and weeks, but in the meantime, feel free to contact the Wagn team through
wagn.org if you have questions/ideas.
The other big advance in 1.6 is the use of "bundler" for managing Wagn's software dependencies. This is a big step towards making installations seamless, as well as towards having Wagn run on the latest (3.x) Ruby-on-Rails releases.