Samples Blog contact support
Wagn blog entries
Wagn 1.7 - Access Rules

With every new release, Wagn adds not just more power, but also more harmony.  Wagn 1.7 brings new power and harmony to our permissions system.


Before Wagn 1.7, Wagn's permissions were all stored outside of cards in a special permission table - now permissions are stored in cards as rules.  What does all this harmony buy you?

  1. Easier management.  Our old permissions table stored separate permissions settings for every single card.  Since our rules system allows for much more elegant expression of broad patterns, it is now far easier to see and manage your permissions. As an example, imagine you have 1000 user cards that can only be seen by "anyone signed in", and you want to change them so they can be seen by "anyone".  In the old system, this would require going to the options tab of 1000 cards.  Now this just requires one edit.
  2. Better interface.  Because permissions are now rules, all the new improvements to our rules interface will make it easier to create and edit permissions configurations.
  3. More flexible assignments.  Before, permissions could only be assigned to Roles, or groups of users.  Permissions can now be assigned to any combination of Roles and Users that you might want.
  4. Searching.  Since permissions are now in cards, you can now access them through the Wagn Query Language (WQL).
  5. Simpler API.  Now you can create and edit permissions rules through the standard card API.
  6. Customizability.  Because permissions are now managed through cards, you can tweak their editors and other views with our packs API.
Other coming benefits in progress include improved performance, simpler import/export, and REST access.


Wagn 1.6 - bundles and packs

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 Changes, *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 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.

Wagn 1.05+3 - simple wagneering improvements


Translating Wagn into other languages

We'd like people to be able to use Wagn in languages other than English. Some of the text you see in Wagn's interface is in the code, and we are beginning to document that so that we can move cue text to editable cards. But a surprising amount of Wagn's interface is already in cards. New Wagns currently draw all of their default cards from a Wagn called "en" (for English), and it will be fairly straightforward to add an option for new Wagns to draw their default cards from a different Wagn.


So the idea is to set up a Wagn for each new language, with a list of translatable cards, and instructions on what exactly needs translating. That list will look something like this:


expand_more translatable cards
{Note: this is just a local copy of the real thing, which is on en. Since some of these lists are generated ...


To join the conversation on this, or to just let us know that you'd like to translate Wagn into another language, see internationalization. (This has also been posted to the Wagneers mailing lists.)

Default cards for new Wagns

New Wagns now come with close to 300 cards by default, and this number is only going to go up as Wagn's power increases and functionality is moved from code into the cards themselves. We want it to be easy for Wagneer to get a sense of what's built in to new Wagns, and what all of these cards do. We're also preparing the way for translating Wagn into other languages (more on that in a later blog entry). So, I've written up a list of all of the cards that come with new Wagns, briefly explaining them and linking to deeper documentation:

default cards

There's space at the end of that card for any feedback you'd like to give on how you find it useful, or any suggestions you have for improvements (you can also just edit the card directly of course — I'll be watching it).