What's so good about Flag Vista?

Last updated on
30 April 2025

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).

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

Page status: Not set

You can: