Is there any way to do multiple states on flag.

For example my use case. I have a flag on book nodes. I want users to be able to flag if they read the book.

I've fully read the book.
I've started the book.
I'm mid way through the book, etc.

Why not just create multiple flags: Multiple flags are annoying and an UI nightmare. These states are mutually exclusive, you can only have one at a time. So a drop down select or some such would be ideal. Thanks.

Another use case:
Moderation flags:
Reported - Investigating - Moderated

Comments

quicksketch’s picture

This will not be added and it is not possible (other than adding multiple flags). Flag is meant to be a Boolean operator and will not be expanded to multiple states.

quicksketch’s picture

ManyNancy’s picture

I see, thanks. You don't think this could be a potentially useful feature? I don't see how any of my example usecases could be done with taxonomy or votingapi. This is a need that could be met by this module?

Thanks for the great module.

quicksketch’s picture

I do think it would be useful, but if implemented, it would no longer be "flag" module at all. Multiple states is a drastically different goal than this module set out to create and would require entirely different UIs, database structures, and APIs. Flag module was never intended to do multiple states, and I don't want to rewrite the module because I think the scope of the module is already satisfactory for what it intends to accomplish.

finex’s picture

Instead of "flag" why not use CCK? Or combine "flags" and "rules"

quicksketch’s picture

Status: Active » Closed (fixed)
myke’s picture

I would have to agree that anything more than boolean is beyond the scope of this module, as named. What you are thinking of is basically a finite state machine. I would like to see something like workflows but with the instant "flagging" of the flag module, while allowing you to cycle through multiple states... This could probably be integrated with Views/rules...

But let's keep the Flag module doing what it does best.