Flag is one of the top modules in Drupal, used on over 34,000 live Drupal websites today. We are jointly responsible for maintaining this module for the entire Drupal community.

Our work on Flag includes spearheading its integration with another top Drupal module, Rules. These two highly sophisticated and popular modules can now interact through a technical interface built by our team at Blackborder.co.uk. Integrating advanced modules is considered by many as one of the most challenging tasks in Drupal development.

Here are some screenshots of websites that are using Flag.

  • Flag

    Popular celebrity site Fanlala uses Flag throughout their site

  • Flag

    Multiple administrative flags in use at Blackborder.com

  • Flag

    YoNinja.com uses Flag for a Facebook style “Like” system

  • Flag

    Beers and breweries can be flagged using the system at GreatBrewers.com

Technical Features of the Flag Module

Flag allows the site administrator to provide any number of flags for nodes, comments, users, and any other type of Drupal entity. Users can use the flagging system to create bookmarks, mark content as important for viewing later, add friends, flag offensive content, easily feature content on the front page: the possibilities are limitless.

The flagging system can be global or per-user. If it's a global flag, then, when an entity is marked, it is marked for everyone, like a 'Featured' flag on a node. Flag can also be per-user, giving power to each user to mark items individually so they can keep their own lists, such as a 'Bookmark' flag.

The module easily integrates with Views, allowing users to create a list of popular content that they've flagged. It can even act like a social networking platform where users can see a list of friends that they've added, a list of friends that have added them, and many other combinations.

Our full Rules integration makes it possible for actions to be executed when certain rules are met. For example, if an article has been flagged as offensive by 3 or more users, then it can automatically be unpublished. An entity can also be flagged when a certain rule is met; like when a user views a node, you can automatically mark it as not new so that it moves down the list.

The Flag module offers flexible features like JavaScript based toggling of flags, flagging other flag entities, flagging based on permissions, limiting display of flags by content types, full support for tokens, and adding other fields to the flag entity.