Samples Blog contact support
Wagn Rules

The headline isn't bragging; we have a new Wagn term: "Rules".


Even if you're just getting started with Wagn, you probably have some understanding of "cards". You understand that by "everything is a card", we mean that almost every unique chunk of information on Wagn has a common structure, whether it's text, an image, a user, a search, a setting, a number, etc.


If you've gotten serious about exploring Wagn, you also know that Set are groups of cards you can configure with Setting. The idea is that you can apply Settings like layouts, templates, captchas, help text, etc, very broadly or very narrowly, depending on which Set you apply them to.


When you configure a specific Set with a specific Setting, you get a "Rule."  So, for example, if you want to change the permission for who can view user cards, you might go through the Options tab for a user card and change the *read permission for "All User cards".  In doing so, you will be prompted to created a rule card named "User+*type+*read".  Note: this pattern isn't new, but the term "Rule" is. You don't have to remember long card names to use rules, but if you take the time to understand one or two, you'll have a deeper sense of how Wagn works.



Like all compound names, our new rule card  -- "User+*type+*read" -- has a left side and a right side, with the divider being the rightmost "+" sign.  So the left in this case is "User+*type", and the right is "*read".  Like all rules, the left side is a Set, and the right side is a Setting.  In short: Set + Setting = Rule.  Specifically, this rule applies the "*read" setting (which determines who can read a card) to the "User+*type" set (all user cards).


All Rule Cards follow this Set+Setting pattern, but not all Rules are Rule Cards; there are also Code Rules.   Code Rules are contained in special low-level code (currently Ruby, sometimes with javascript) rather than in card content.  Like card rules, code rules configure the appearance and/or behavior of a set of cards.


You may have noticed that many cardtypes or individual cards have some sort of special appearance or behavior that is not fully configured in cards.  Image cards have special editors, Account Requests have special links to approve/deny, the recent changes card has special date groupings, the "*navbox" card shows the search bar, etc.  All of those special configurations are accomplished through code rules that extend the relevant set of cards.


What's more - if you've got a little coding skill, you can develop new code rules yourself using Wagn's new Pack API.  Even if not, you can now hire someone to extend Wagn to meet your personalized needs quickly and affordably.  And as Wagn progresses, it will get easier and easier to build and share these "packs" of cards.  If you're interested in tracking the progress of the new API, check out (and "watch") Packs+api.