Introducing Flag Master
Published: 08/28/2012
Flag Master
One of my biggest tenants when developing commercial add-ons is to always build what I personally can use every day. This was a hard lesson that took a bit of failure on my part to really drill into my head. Too often I would hear of an idea from someone and think it'd be really cool, spend time to build it, just to find out that dog fooding is a practical impossibility. Those of you who went to DCEERs last month may recall the story about CT Admin and how this lesson came to be. Meetup was another example of an add-on I built I probably shouldn't have; pretty much why I made it free.
The flip side of that though is there are sometimes, sometimes, add-on ideas from other's problems that when I think about it can solve one of my problems too. This is where Flag Master came from. A couple months ago Devot:ee posted an article outlining some updates to their policy on reviews which really got me thinking. As an add-on developer I too have some odd reviews and ratings so the scenario outlined by Ryan wasn't unknown. In fact, it got me thinking on just how monumental a task it would be to manually cull these types of reviews and ratings. So I started thinking; why not leave it to the community?
Of course, this left the question of how. Which is the beginning of Flag Master; solve content moderation on an ExpressionEngine site.
Flag Master works off of a profile system to create unlimited, well, profiles based on your specific content moderation needs. For example, a site administrators can create a Profile for their blog, another for blog comments, another for documentation, and another for whatever they want. Using Devot:ee as a model when I was building it, I figured they could have one for News Article Comments, Add-ons, Add-on Reviews, and even go so granular as to have Profiles for Modules, Extensions, etc. Flag Master allows for that level of granularity.
Note that each Profile is locked to a content type of either Entry or Comment (and more to come). Within each Profile you can set an unlimited number of options that users can use to Flag an item and even set a threshold whereby when it is met an item is automatically closed/removed from the site (and an email is sent to notify).
When it comes to the options, as mentioned, you can add unlimited options to choose from as well as setting options to accept user input. For example, an "Other" option so a user can enter some further details on what they're flagging. You can use drag/drop for sorting of options and use the standard multi-delete we've come to expect from quality add-ons.
In terms of reporting Flag Master includes 2 options; a complete Dashboard and a Custom FieldType.
The Dashboard will list the items that have been flagged in the order the latest Flagged item.
The Flag Master FieldType is attached to the channels that you're flagging so you can view the Flags on an individual entry basis.
With Flag Master accountability is built from the ground up so you can view each and every individual Flag to ensure the system isn't be exploited. Every time an item is flagged a cookie gets set/updated to prevent multiple flagging as well as their browser profile and IP address are saved. This is helpful to ensure that each flag is legitimate and not the product of a flame war or similar. You can remove individual Flags to keep the system inline if that's your thing.
On the front site Flag Master comes equipped with template tags to design the submission forms however your project dictates. On this site, I use a modal jQuery plugin called Fancybox to contain the form and keep things looking nice. Note that this is NOT included with Flag Master so you can use whatever fits your specific needs. Want to see an example? Take a look at the Installation page for Export It within the Documentation section of this site. Under the article is a link to Flag and within each comment is another link to Flag. Each has different options specific to the need.
With Flag Master it's possible to not only add Flag forms to your site but also Feedback forms, Upvote/Downvote (think Reddit), and so much more. The flexibility for content moderation is baked right in.
You can purchase Flag Master on Devot:ee.