Hi

I currently looking for a possibility to flag users. I tryed to Flag them by using content_profile, but the Link won't show up. I'm also not able to create a Flag for the user content type.
Maybe there is another way to do it?

Would be great to see that implemented.
Ty, Johannes

Comments

quicksketch’s picture

Flag should work fine with any content type, including those made by content profile. Flag does not yet flag user objects directly, but I don't think that's the case with content profile.

Johnnyk’s picture

The Problem is the way Content Profile style the users page - the Links for flagging are not displayed

it works with assigning a flag to a users profile page, but that only flags the users profile page instead of the user itself

Anywho - It is a way to manage user flagging - in way ;)

..Flag does not yet flag user objects directly...

Any Chance of getting this added as a feature?
Or is there another module which can handle somehow flagging users or sorting users in some kind of list?
I like flag because of the views integration.

mooffie’s picture

The Problem is the way Content Profile style the users page - the Links for flagging are not displayed

This issue explains how to embed the flag link anywhere.

Flag does not yet flag user objects directly...

Any Chance of getting this added as a feature?

There's a very good chance for this to happen. Part of the rationale for moving to object oriented programming was to be able to add such features without complicating the code.

Osfer’s picture

Subscribing -- Being able to flag users would permit Flags to simulate one-way relationships. Unless a site explicitly requires two-way relationships, this ability would make Buddylist, User Relationships and Friends redundant, in favor of Flags/Views, resulting in fewer installed modules and therefore a lower memory footprint.

mooffie’s picture

Implementing this should be quite easy, once we move a step or two further towards OOP, which too is easy. I'm waiting for Nate to give me a green light.

Osfer’s picture

Fantastic news!

mariusooms’s picture

Keeping track of this feature request. Indeed, it would be great for one-way relationships. Especially since multiple flags could be defined to represent different relationships for users e.g. friend, family, favorite. It could even be further expanded on by looking into the Rules module, so messages could be send to flagged users etc.

Osfer’s picture

Exactly. On top of that, Friends, Buddylist2 and User Relationships don't seem to support Views2 in Drupal 6, making it impossible to generate a page showing content by a user's friends/buddies/whatever.

mariusooms’s picture

Hi Mooffie, I noticed you just made the commit on this. Does the ability to flag users needs to be implemented in the source code or is this now something that can already be achieved? Since no calls are made regards to 'node' or 'comment' in your commit. Very curious as to how this will develop further.

Regards,

Marius

mooffie’s picture

Version: 6.x-1.0-beta2 » 6.x-1.x-dev

The 'dev' version already supports flagging users. This is thanks to recent code cleanups and a new object oriented framework. HOWEVER, the Views portion of this module is still the old one, it needs to underwent cleanup too, and till this happens the ability to flag users is useless because the Views portion won't recognize it.

That's why, in the source code, the part that declares "I'm responsible for flagging users" is commented out --for the time being.

My work plan is:

  1. Finish non-Views cleanups.
  2. Improve documentaion (handbooks + UI).
  3. Release a new beta.
  4. Start the Views cleanup (I promised Nate I'll first seek his approval before I touch this, because he wants to release a '1.0' version sometime soon. I really want to clean up the Views portion before this happens).
Osfer’s picture

That's fantastic news!

Does this new abstraction apply across the board? Could one, for instance, flag an Organic Group for a read-only subscription?

mooffie’s picture

Does this new abstraction apply across the board?

I don't understand the question.

Could one, for instance, flag an Organic Group for a read-only subscription?

Could you give another example?

I plan Rules support. It's possible, using some building blocks ('flag' being one of them), to construct a subscription mechanism. I need to think about this, to see what are other building blocks are available.

Osfer’s picture

"apply across the board?"

Sorry about that, that was ridiculously vague. I meant to ask whether the Flagging exposure in Views would apply to all 'relationships'. So, for a node, the flaging status of the user that created it, or a group to which it belongs, could affect its visibility in Views.

Do you have an overview of your current thinking on Rules integration? The module's current support for D6 trigger/actions is basic, and I felt that there could be value to making 'flag' a triggerable action. As in, if a user leaves a reply to a forum thread, an invisible and automatic (and permanent) flag 'replied to' could be applied to that forum thread.

mooffie’s picture

Do you have an overview of your current thinking on Rules integration?

Yes, and there's already an initial patch in #296473: Replace Actions/Trigger Support

(But we now give the Views cleaup a high priority, so the Rules thing needs to wait a bit.)

if a user leaves a reply to a forum thread, an invisible and automatic (and permanent) flag 'replied to' could be applied to that forum thread.

Yes, it will be possible. I mentioned exactly this in a reply in that issue (see "one nice feature of wfng/rules is that events and actions have arguments [...] you can pass both to a 'flag' action that would flag the node on that user's behalf"). A 'flag' action will come soon.

I meant to ask [...] So, for a node, the flaging status of the user that created it, or a group to which it belongs, could affect its visibility in Views.

An excellent question. Today I'm going to re-think the Views support. I'll come back to you.

Osfer’s picture

Thank you for summarizing your responses to other related conversations, Mooffie.

I look forward to your thoughts on Views support. It's a complicated issue, prone to feature-creep, because Flag is such a multi-dimensional metadata system and Views has so many ways to use metadata for listing, sorting and filtering content and users.

A given node may receive this metadata from Flag:

- A global flag on/off
- A quantifiable number of flags from the userbase
- A flag from the current, browsing user
- A flag from the author/artist (it should be possible, through clever ACL, to create a Flag which can be applied only to one's own content)

The latter is, to my knowledge, hypothetical and off the top of my head it doesn't offer any significant value -- it's included for completeness' sake.

If Flag is to be applicable to non-content items or agents such as users, organic groups or, possibly, even taxonomy terms, this information can cascade down to all content nodes associated with them. And, as the current trigger/action system of 'on flag threshold, perform action', flag given to content can affect the users or groups associated with them.

It is of course up to you to decide whether Flag's purpose should be a basic, abstract, content-agnostic solution that becomes a framework for numerous implementations, or whether you consider such an endeavour to be feature creep, and that the purpose should be a tightly-focused, clearly delineated workflow.

For my part, Flag represents an excellent framework for supporting various social content hub types. I'm a fan of global solutions which can be hooked into other global solutions, as they allow for highly customized yet harmonious feature sets. Flag has the ability, in principle, to replicate numerous different types of functionality, combining the voting aspect of Digg with the per-user organization of content of the Subscribe and Notifications modules, or even the social connections offered by the Friend and User Relationships modules -- all with the same basic logic.

In this view, an abstract interpretation of Flag as a framework for customization and integration would make it an essential part of the Drupal CMS. As CCK provides custom content types and Views provides custom content displays, Flag would offer custom content organization, both side-wide and per-user.

mooffie’s picture

Good news:

The #297739: Views maintenance patch issue finally enables flagging users. When you create a flag you'll be able to choose among three types: node, or comment, or user.

(The patch was not commited yet.)

Our V2 interface will require some introduction documentation. It's not as easy to use as the V1 version.

I meant to ask whether the Flagging exposure in Views would apply to all 'relationships'.

Yes. For example, you could show only nodes that are posted to groups whose owner (the group node's owner) is flagged. It's no big deal: Views provides the 'relationship' tool, and our Views support uses it.

(it should be possible, through clever ACL, to create a Flag which can be applied only to one's own content)

See #285237: Ability to disallow a flag/unflag operation

I hope Nate approves my patch very soon. I'd then like you to try out the 'dev' version and open an issue for any question/problem you have. Your comments may help shape Flag's future.

Thank you for your post.

quicksketch’s picture

Status: Active » Fixed

The #297739: Views maintenance patch has been committed, so you're now free to flag users after downloading the development version (thanks again Mooffie)!

I think #285237: Ability to disallow a flag/unflag operation covers the rest of your request once it is completed.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.