CVS edit link for mariano.barcia

I want to add and maintain "I like this" module. Please see http://drupal.org/node/573478 for further reference. There are a couple of features planned that exceed plus1 current scope and I think they would be better handled through the creation of a new module "I like this". I will be looking forward to your comments, thanks.

Comments

mariano.barcia’s picture

Status: Postponed (maintainer needs more info) » Needs review
StatusFileSize
new9.77 KB
new154.41 KB

Attaching the files and setting the status of the issue.

avpaderno’s picture

Status: Needs review » Needs work

There is a module that has the same purpose; then, I could use Flag to obtain the same effect.

mariano.barcia’s picture

Status: Needs work » Needs review

There's another module I'd like to add. It integrates messaging with Universal Relation API (User relationships, Flag Friends et. al). This module was originally meant to be an addition of "messaging_sento" (see ) but IMO it will requires its own development.

Synopsis of "Send to Friends" module:

This module adds a new option in the create content form, for notifying friends (as defined by the Universal Relation API).


These notifications are email based, sent to all of the user's friends and might include a custom message typed inline at the moment of content creation.

Configuration

It includes settings page which allows the admin to select which content types will have this feature enabled.


How it works

When enabled, this module displays a new field group in the new content creation form with two items:

  1. a checkbox which makes the feature active
  2. a text box which allows the user to include a comment on the notification mail.
Upon submission of a new node (of an enabled content type), friends receive an email notification which contains:
  1. Subject = indicating who created new content
  2. From = site mail (this can be modified by use of hook_mail_alter)
  3. Custom message was written by the author.
  4. A sentence formed by a t() expresion: "Check it out" and the title of the new content ("mi segunda pagina" in this example).
  5. A link to the newly created content.

More sshots coming up next...

AjK’s picture

Status: Needs review » Postponed (maintainer needs more info)

Where is it then? Please upload for review

mariano.barcia’s picture

I will upload the "Send to friends" module code shortly (needs a bit more abstraction, at least the new codename). How about the "I like this" module? That one is already uploaded, ready for review.
Thanks in advance.

mariano.barcia’s picture

Status: Postponed (maintainer needs more info) » Needs review

changing status

avpaderno’s picture

Status: Needs review » Postponed (maintainer needs more info)

Change the status to need review when you upload the code to review. As per your comment #5, you still have to download the module.

mariano.barcia’s picture

Status: Postponed (maintainer needs more info) » Needs review

I think I have created some confusion: I'm applying for 2 modules.

1. I like this
2. Send to friends

1. I like this
Please download the source code of the proposed "I like this" module from the attachment in comment #1 of this thread.

http://drupal.org/files/issues/i_like_this_0_0.zip

2. Send to friends
Coming up next...

I would like to have feedback/review on the "I like this" module first.

Ps: I thought the review was not only regarding the code, but maybe I'm not correct on that guess... I will upload the code for 2) today if possible. Thanks!

mariano.barcia’s picture

StatusFileSize
new41.73 KB
new23.46 KB
new17.2 KB
new16.05 KB
new1.72 KB

Send to friends module and screenshots attached.

Synopsis of "Send to Friends" module:

This module adds a new option in the create content form, for notifying friends (as defined by the Universal Relation API).


These notifications are email based, sent to all of the user's friends and might include a custom message typed inline at the moment of content creation.

Configuration

It includes settings page which allows the admin to select which content types will have this feature enabled.


How it works

When enabled, this module displays a new field group in the new content creation form with two items:

  1. a checkbox which makes the feature active
  2. a text box which allows the user to include a comment on the notification mail.
Upon submission of a new node (of an enabled content type), friends receive an email notification which contains:
  1. Subject = indicating who created new content
  2. From = site mail (this can be modified by use of hook_mail_alter)
  3. Custom message was written by the author.
  4. A sentence formed by a t() expresion: "Check it out" and the title of the new content ("mi segunda pagina" in this example).
  5. A link to the newly created content.
avpaderno’s picture

In that case, you have not replied to comment #2, where I was simply asking the reason to have the proposed module when there are two modules with similar purpouses.

We then review a module per applicant.

mariano.barcia’s picture

Ouch you're absolutely right... I had totally missed comment #2! (and my reply in comment #3 had absolutely nothing to do with the reply in #2, I was simply adding the other module for review!).

I wonder why, if it's just me, or it's just that the comment #2 appeared right now... :-/

Ok, replying to #2, you were saying that you could achieve the same functionality by using a combination of Plus1 and Flag module? Well, current plans are to add a "I don't like this anymore" and provide a list of people who like it. I don't think that is achievable by using Flag only... is that correct?

Thanks again.

avpaderno’s picture

Flag integrates with Views; you can create a flag to bookmark a post, and then have a view that lists all your bookmarks.

As described in the project page (http://drupal.org/project/flag):

Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, or users. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content.

mariano.barcia’s picture

Even if Flag is to be used for this, another module would have to be built to assemble the different parts together (in the same way as the "Flag friend" module, which needs Flag).

Ie. how many users "flagged" this post? Who? And the way Facebook does the escalation through AJAX (when multiple users have liked a post)... I don't think that's achievable by Flag only.

Also, Flag doesn't seem to be integrated with Voting API, which is needed in this case.

It's an interesting discussion whether to use Flag or Voting API, but I think Voting API is still valid. See http://groups.drupal.org/node/15579#comment-66590 which illustrates my point further.

I will be looking forward to your comments, thanks

avpaderno’s picture

Status: Needs review » Needs work

Ie. how many users "flagged" this post? Who? And the way Facebook does the escalation through AJAX (when multiple users have liked a post)... I don't think that's achievable by Flag only.

As Flag integrates with Views, that is possible by creating a view.

The point is that the proposed module is a special case of Flag, where Flag allows a user to generically flag a node, or a user, while the proposed module only allows to flag a node as a like node.

mariano.barcia’s picture

Yes I understand, and I agree there are similarities with Flag. But IMO Flag isn't the right tool for everyhing. So in this case, we needed "I like this" like in Facebook, and it wasn't possible to do it with Flag or any other module. Theoretically yes, but in practice you just can't, for the reasons mentioned above. What to do?

mariano.barcia’s picture

Status: Needs work » Needs review

Also, Flag & Views are not Voting API.

My point is: if you don't allow this module to exist as a contrib module, you can't have an "I like this" feature in Drupal. What would be the next steps if we just disagree in our visions of the matter? is there an escalation of the review? will you review of the other "Send to friend" module in this same thread? Thanks a lot in advance.

avpaderno’s picture

Also, Flag & Views are not Voting API.

Correct me if I am wrong, but Voting API implements the integration for Views, which means you can create a view that lists nodes for which the value returned from Voting API is higher than a limit you choose, and from that set of nodes you can choose the ones that has been tagged with Flag too.

By the comment #11, it seems that you are speaking of Flag without to know it; the features you reported in that comment are already implemented in Flag, which allows to set two different links (one for when the node has not been selected, and one for when the node is not selected). Just to make an example with the bookmarks, I will see the link Add the node to my bookmarks when I have not added the node to my bookmarks, and Remove the node from my bookmarks when I have already added the node to my bookmarks. There is also a view (automatically created from Flag) that allows me to see all the nodes I bookmarked.
To notice then that Flag doesn't work only with nodes, but also users.

dave reid’s picture

Status: Needs review » Needs work

I read over this too and immediately thought Flag module. It even has token support so a 'Flagged' link could appear as '[flag-bookmarks-count] people like this'. Flag includes the Flag Actions module which could hook into the Voting API. I'd be willing to +1 a 'Flag Like' module that doesn't try to invent new stuff but glues together code with existing, community-supported solutions.

As far as the send to a friend, we already have:
http://drupal.org/project/send
http://drupal.org/project/tellafriend
http://drupal.org/project/forward
and more

mariano.barcia’s picture

I'm not against the usage of the Flag framework, it just was far easier to just branch Plus1. It may prove a very expensive and difficult task if the framework doesn't allow for what's needed after all (and I still see risks there).

I'm not against the usage of frameworks. Frameworks are supposed to speed the development, enforce best practices, etc. This version of "I like this" actually uses the Voting API.

However, the do-it-with-that-framework argument is not always valid, and the "I like this" feature exists in this only form today. If it doesn't get approved, many end-users will not benefit from it.

If the objective is avoiding confusion, well, there are other ways to alleviate that illness (improve d.o.!), other than just stopping the show.

For example, the send-to-friend module has unique features, and it's not like any of the other modules mentioned. It integrates with Relationships API, and it uses the Messaging framework.

I mean, by saying there are "similar" things out there, can't be a valid reason to disapprove a new module, which is fulfilling a real world need, from a real world customer. Because "similar" depends on the point of view. Before building "send-to-friend", we checked out all those similar modules, and none fulfilled the requirements. But of course, if you're just approaching the subject, it's obvious to think "oh my, another send to friend module".

IMO, modules should be approved, and some insight or clarification or disambiguation statement should be made in the project page, to ease the life of users. In this case, end-users with these needs are not being helped so far. Thanks!

avpaderno’s picture

@mariano.barcia: Modules are not frameworks, and we tend to avoid duplicates whenever possible. In this case, you are proposing a module that duplicates the purpose Flag has.

About the other module, there are three modules that Dave Reid listed. The fact they don't fit your requirements is not a reason to commit your other module in Drupal.org CVS; why didn't you open a feature request for one of those modules?

mariano.barcia’s picture

@kiam

IMO, from an end-user perspective, Flag doesn't have the same purpose of "I like this". Flagging something, is an abstraction, and you are assuming Flag can be used to build "I like this", and that it can be integrated with Voting API, etc. However, "flagging" is not really the same as "I like this". There's a gap to fill.

However, I think energies should be put into more productive discussions right now. Maybe look into Flag and find out how to build "I like this" with all the bells and whistles.

About send-to-friend, I did open a feature request here: http://drupal.org/node/524528.

After we had built it, it turned out that the whole purpose of messaging_sendto was not being preserved. We were using a pre-form alteration, and sending only to the users' friends (not email addresses).

So, "send-to-friend" is still based upon Messaging framework, and integrates with Relationships API. It could eventually be merged with messaging_sendto in the future, but right now, it serves a different purpose and could be packaged with Messaging.

Thanks in advance.

avpaderno’s picture

Status: Needs work » Closed (won't fix)

There have not been replies from the OP in the past 7 days. I am marking this report as won't fix.