What's so good about Flag Vista?
You may be asking yourself why Flag Vista is necessary. How it's different, and better, from Flag's own View support. We'll answer these questions here.
("UI" here means "User Interface".)
The flagging concept
Flag Vista isn't afraid to use the word "flagging" in its UI.
Flag, on the other hand, shuns the word "flagging", assuming it might frighten non-technical users. This avoidance of the word has led to confusing UI and to loss of functionality as well (because when you shun a word, you're also likely to shun the concept it represents).
The flag link
You don't need to bring in any relationship to display the flag/unflag link. Just add the "Node: Flag link" (etc.) field. This field doesn't affect your view query (so it doesn't interfere with "Distinct".)
Flag, on the other hand, erroneously places this field on a "Flag" relationship, sometimes leading to redundant SQL join and hampering the ability to use the "Distinct" view setting.
A view of type "flagging"
The flaggings table is exposed as a base table and you may start your view from it. It's a matter of personal taste. Once this cool "Attaching fields to flags" feature gets into Flag, this kind of views will be even more attractive.
Location of fields in the UI
Fields are grouped under the object to which they belong. That's why Flag Vista's primary relationships are named "Node: Flaggings" etc.
Flag, on the other hand, has this relationship named "Flag: Node flag" etc.
Checkboxes, not a radio button, for selecting the flag
The flaggings you pull in can belong to several flags. Some advantages:
- You can then do the filtering later: with an exposed filter or an argument.
- It makes it possible to better utilize Views 3's Grouping feature (e.g., for calculating totals).
- It makes it much easier to create some views.
The "Flagging: Flag" relationship
You have access to the flag. You can use the "Flag: Title" field to sort/group the flaggings. You can use the "Flag: Machine-name" argument to filter them.
The "Flagging: Flagged node" (etc.) relationship
Once you have a flagging record you can pull in the item being flagged.
This, together with the "Flag: Flaggings" relationship (and "Flag: Title" for grouping), lets you create views like "show me all the users that are flagged by the same flag(s) as this user".
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion