Pointers are most often used to create a kind of relationship among cards. The example shown here is in a Wagn for a conference. A Session cardtype was created, and formatted so that each session would have a Pointer card (+participants), where each item in the Pointer is a User card of someone who took part in that conference session. This has several advantages over typing people's names into a regular text card:
To get most of these advantages, you have to tell Wagn what kind of cards go in the Pointer. In the example here we're talking about people, so we created "participants+*options" as a Search card, and put this CQL in it:
{"type": "User"}
We can then choose an input interface by creating "participants+*input". There are a couple of input interfaces which let you choose one item when editing:
A conference session with only one participant would be pretty boring, so in this example we would use an interface that lets you choose as many items as you like (you can set a maximum number of items; in this case you would do so by creating "participants+*max"):
Let's suppose you type in Frank Zappa, who doesn't have a User card yet on that Wagn. After you save, if you click on the gray "ADD FRANK ZAPPA", the card's type will automatically be set to User. Wagn knows to do this because "participants+*options" said the type is User. (You can alternately specify a type when including the Pointer in the form, with: {{+performers|type:User}}. This will take precedence over "participants+*options" if both are present and specify different types.)
The radio and checkbox input interfaces let you put an explanatory label (text and/or images) next to any option, e.g. to make a label appear next to "Grant Kruger" you would put it in "Grant Kruger+description". Note that +description is just the default; you can change the term used to make labels globally by putting a different card name (e.g., "summary") in "*option label". Then Grant's label shown would be whatever is in "Grant Kruger+summary". You can even get different labels on an item depending on what set of Pointers it's appearing in. For the example we've been using (Pointers ending with "+participants"), if you create "participants+*option label" and put "image" there, then Grant's label in Pointers that end with +participants would be whatever is in "Grant Kruger+image".