card-carrying accounts


Accounts and JavaScript are now fully in cards, and Wagn itself is a gem.


Wagn 1.13 was released on July 31, 2014.  Today it's November 17, 2014.  We're a little behind on our blogging.


So the real action is in Wagn 1.14, which only a few hours away from release.  But 1.13 was a big deal, and so even if you decide (wisely) to skip straight to 1.14, it's worth noting some of the great things that this poor unheralded release brought into the world.


Wagn as a gem


Though there were several earlier point releases (starting with 1.12.7), 1.13 was the first minor release of Wagn in the form of a ruby gem. This new architecture more cleanly separates the framework code (shared by all Wagn sites) from the application code (distinct for each Wagn site), which is a huge step forward in Wagn's quest to become the first true wiki-based developer framework.  It also makes installing and upgrading Wagn much easier.  At the time of writing, the wagn gem has already been downloaded over 3200 times.


Accounts as cards


Wagn 1.13 made a lot of progress in terms of greater fidelity to the principle that everything is a card, but the greatest of these is with accounts.  Not only is all account data now stored in cards, but all account-related transactions  are conducted by creating, reading, updating, and deleting cards.  The interface for all this is quite conventional (don't worry).  If anything signing up for a Wagn site has gotten simpler and safer, now that the default sign-up process is mediated by verification links rather than the old system that mailed out passwords.  The benefits of this new system include:

  • we now track history changes to account data
  • all account transformations are exposed to the Wagn API and can be easily customized
  • account data can be queried with CQL
  • you can reuse and display account data (to those with permission) as flexibly as any other card

See the accounts card for more information on how it works.



JavaScript in cards, too


Prior to 1.13, all system JavaScript was hard-coded, and custom JavaScript was laborious to add.  Now, with the addition of JavaScript and CoffeeScript cards (as well as *script rules to organize them), JavaScript is now handled in cards like everything else.  As with accounts, this has the benefits of exposure to the API, WQL, views, history, etc. But it also makes custom JavaScript much faster to load, because Wagn automatically compiles, concatenates, and compresses all JavaScript associate with a give *script rule.  More about JavaScript.