Most of this is very out of date. --John, 2011-01-15





How to implement

I suppose we'll want to create a "magic" junction for each Cardtype, such as User+*explanatory text where users with certain permission can enter the text Wagn will show in the New Card interface.

One challenge with putting this stuff into user-editable cards is creating appropriate links (e.g. the link to the Options tab in the "Can't edit" message below. I put in a feature request which may help.



When creating a card from a Cardtype page

Change "create a new one" to "Create new <cardtype> card".

When creating a junction card


Users have joined these cards to other <Cardtype> cards. Click on one to join it to "<card name>" ...
<tag cloud>
 ... or, if you don't see the card you want to join to "Cardtype" above, type in the card's name below.


Other <Cardtype> cards have in the past been joined to the cards listed below (larger ones more often). Click on one to join it to "<card name>", or just type the name of the card you want to join to in the text box. Either way, click Add to create the new junction card.
<tag cloud>


When clicking a link to a card that doesn't exist yet

Currently, there is no card named "eggs+spam", but you are most welcome to create it, you pioneer.


Creating a new card is easy: you just need a name, a type, and -- if you like -- some content. Changing the Cardtype will change the kind of content you can enter.


Currently there is no card named "eggs+spam". You can easily create it, just click the Save button. If you want to enter some content first, you can do that. You can also change the name or the Cardtype. Changing the Cardtype may change what kind of content you can enter; there's more information about each Cardtype below.


Card renaming

The text of the second radio button at the end flows to a second line - really ugly formatting. Would like some way to keep the text of each radio button cleanly with that button (table, CSS columns, whatever).


Consistency on cardtype vs. Cardtype vs. card type seems like a good idea; i've gone with Cardtype here, but don't see a really compelling reason for it to go any particular way.

Relatedly, for Cardtype names in general i suggest consistency on initial caps (Currency vs. date) and use of CamelCase. I have a vague memory of there being some reason why spaces were bad in Cardtype names, but i'm assuming this has been overcome, cf Contact Info, User Story. I'm thinking go with initial caps on everything (and hence Cardtype above). If we want to use caps/lower case to make a distinction, what matters most? Use lower case for Content Cardtypes - date, currency, rich text, etc. and upper case for others? Or lower case for built-ins and upper for user-created? Dunno...

Ethan, not remembering why you wanted different text for new card / edit card cardtype explanations?
e.g. for file/image note that the existing file isn't shown.

I don't see any really elegant place to put information about the Cardtypes - on new card creation, just below the content box seems like a likely place.

Regarding order - the Cardtypes will make a *lot* more sense if they're grouped, and that's going to be very idiosyncratic for different Wagns. Below is my first stab at grouping the built-in Cardtypes.

Text for New card creation

Every card has a Cardtype. Cardtypes determine what can go in the card (see the Content Cardtypes section below). You can also use them to create templates - for example you can create a Company Cardtype and then on every Company card have the same kind of information in the same layout. A card's type usually appears in smaller green [include the color name as customized?!] text just to the right of the name of the card. If you don't see anything there, then it's Cardtype is Basic. To edit a card's type, go to it's Edit tab, then click on edit Cardtype (next to it's Cardtype).

System Cardtypes


New cards are by default of Cardtype Basic. Basic cards are RichText (see Content Cardtypes below).


This is the Cardtype of Cardtypes themselves. In other words, every other item listed here (Basic, User, date, etc.) has a card the Cardtype of which is Cardtype. Cardtype cards are also RichText - see Content Cardtpyes below.


Each person registered in a Wagn gets a User card, it's your home page within the Wagn. A link to it is always available, at the top right of the window in bold: My Card: <user's name>. User cards are also RichText.


When someone requests an invitation, a card is created with their name. InvitationRequest cards are special and not editable by anyone, but when viewing the card, Users with permission to administrate users can accept or deny the request. If it is denied, the card is deleted. If it is accepted, then it becomes the person's User card.

User Group [aka Role]

Users can belong to one or more User Groups, and each such group can be given various permissions, for example it appears in each card's Options tab in menus which determine who can view the card, edit it, etc. (In the future it may be possible to do more with groups, such as easily e-mailing everyone in a group.) User Group cards are also RichText.


Advanced System Cardtypes


On Search cards you can enter Wagn Query Language (WQL) specifying a search - such as all junction cards that have a part "comments". You can then always see the search results live on the card's own page, or by including the Search card in other cards using double squiggly brackets.


Ruby cards are very powerful, allowing you to enter raw Ruby and returning the results as text.


Content Cardtypes

These Cardtypes determine what you can put in the card. So when you edit cards of different Cardtypes, you see a different interface - a calendar for dates, small text box for Number, etc. Users can also create Cardtypes based on any of these Cardtypes. [I thought this was true, but don't see any interface for it?]


You can format text in RichText cards, using bold, italics, headers, bullets, and even some HTML (if you have permission for HTML). Basic cards are RichText, and so are most cards that aren't one of the other Content Cardtypes you see below.


You can only put plain text in PlainText cards - no formatting.


You can only enter dollar amounts in a Currency card. (We will likely expand this to include other currencies.)


You can pick a date from a pop-up calendar. (Currently only goes back to 1997 but we intend to fix this.)


You can upload any file from your computer to Wagn in a file card. The result is a card which consists of a link that lets people download the file you uploaded.


You can upload any image from your computer to Wagn in an image card. The result is a card which consists of a link that lets people download the file you uploaded.


You can only enter numbers in a Number card.


You can only enter percentages in a Percentage card.


User-created Cardtypes

These are additional Cardtypes which are not built in to Wagn, but have been created for this Wagn in particular (though some may be common across Wagns).

Contact Info

User Story




global permissions

Suggest renaming this "Set User Groups' permissions". Also, i've reordered these in a way that made more sense to me, and am trying out User Groups rather than Roles.

set User Groups' permissions [was set global permissions]

Allows access to this page, to check off what each User Group has permission to do.

assign Users to User Groups [was assign user roles]

Allows setting which User Groups - if any - each User belongs to. This is done in the Options tab of any User card, under User Groups.

set card permissions

Allows setting who can view, edit, delete or add comments to a card. This is done in the Options tab of any card, under Permissions.

create personal cards [was "set personal card permissions"]

?? Allows users to create personal cards - cards that are only visible to themselves. This is done by creating a junction card in which the right part is one's own User card, then selecting Self in the "...can read this card" menu of the card's Options tab.

[did i understand correctly what was intended here]

administrate users

Allows the approval/denial of InvitationRequests, ???

[I imagine there's more but if not, i'd change "administrate users" to "approve/deny InvitationRequests"]

edit html

Allows the viewing and editing of raw HTML when editing cards. This is only applicable for RichText cards, and insecure HTML is stripped out in any case.

Admin links


global permissions


User (just links to User card)
User Groups (just links to User Groups - aka Roles - card)
assign Users to User Groups




Edit tab

<Card one> is a <Cardtype> card, so &lt;Cardtype&gt;+*template determines the layout of this card.


<Card one> ends with +<Card two>, so it <Card two>+*template"] determines the layout of this card.

, including text that's not editable and any nesting (which generally are editable). To view or edit <Card two>+*template, or change which template is used by cards that end with +<Card two>, [click here and go to <Card two>'s Options tab][address].

Options tabs in general

[suggest "Templating" as the header of the templating section of the Options tab]

I keep expecting to be able to set the template for the card i'm on, so i added that capability to what's currently there. Also, i did these as text blocks. I've tried doing it in the three columns that other Options sections use, but haven't yet figured a way to do it that made sense.

And now, some specific examples:

Options tab of John Abbe

John Abbe is using the template User+*template, because John Abbe is a User card. To view or edit User+*template, or change which template is used by User cards, [click here and go to User's Options tab][User].

There is no John Abbe+*template card, but if there was, it would be used by cards that end with +John Abbe. [Click here to create John Abbe+*template][John_Abbe+*template].

Options tab of User (and all Cardtype cards with templates)

User is using the template Cardtype+*template, because User is a Cardtype card. To view or edit Cardtype+*template, or change which template is used by Cardtype cards, [click here and go to Cardtype's Options tab][Cardtype].

Below is the User+*template card, which is used by all User cards. To stop using a template for User cards, simply delete the User+*template card.

o hard - User cards and cards that end with +User will always have the content and card type of User+*template. Also, their initial permissions will be the same as User+*template.

o soft - New User cards, and new cards that end with +User, will start with the same content, card type and permissions as User+*template.

I'd also suggest that these hard/soft options be available directly in the User+*template Edit tab.


[etc.] */

Options tab of John Abbe+address

John Abbe+address is using the template address+*template because John Abbe+address ends with +address. To view or edit address+*template, [click here and go to address's Options tab][address].

[No second section, as John Abbe+address, being a junction card, cannot be either a Cardtype or a right part.]

Options tab of address (and all non-Cardtype cards with templates)

address is not using a hard template.

Below is the address+*template card, which is used by all cards that end with +address. To stop using a template for cards that end with +address, simply delete the address+*template card.

o hard - Cards that end with +address will always have the content and card type of address+*template. Also, their initial permissions will be the same as address+*template.

o soft - New cards that end with +address will start with the same content, card type and permissions as address+*template.


[etc.] */



Renaming cards

Right now it's:

This will change the names of these cards, too:

(junction cards with card being renamed as a part(icle?))

These cards are linked to from the following cards:

(cards linking to or including the card being renamed, or any of the above cards)

Would you like to
o Revise all these cards with the new link  o Let the links be broken


You may also want to change the names of these cards:

(junction cards with card being renamed as a part(icle?))

<card name> (or one of the cards listed above) are linked from or included in the following cards:

(cards linking to or including the card being renamed, or any of the above cards)

Would you like to:
o Update all these cards with the new name.  o Let all these cards be "broken", keeping them as they are.


Teach people they can double-click

In hover over Edit tab:

You can also double-click on almost anything to edit it.