User Referral and Invite module provide almost identical functionalities. We should try to implement the missing features of User Referral into Invite module and provide an upgrade path for existing users of User Referral. By doing this, we avoid confusion among new Drupal users and engage developers to join forces.

AFAIK, the missing features are:

  • display a referral link (such as referral/123) in the user's page
  • If the Adsense module is installed and Revenue sharing is enabled, then the referral is used to share the revenue between the referring user and the referred user.
  • Detailed log: Lists each user and users she has referred, the date/time of referral, IP address and referral link.
Files: 
CommentFileSizeAuthor
#8 refinvite.zip1.42 KBvensires

Comments

kbahey’s picture

Actually, referral keeps track of the relationship forever.

If you want to find out who referred whom (e.g for adsense revenue sharing or other reasons), then referral is the way to go.

I look positively to this merger, but it is more than just code. The database and backward compatibility has to be preserved.

Time is also a limited commodity. If someone is willing to fund this merger, I can set aside some time for it.

smk-ka’s picture

Status: Active » Postponed

Setting to postponed until further notice.

Patrick Nelson’s picture

kbahey,

How much funding do you need to be able to set time aside and create this merger, and approx. how long do you think it would take to have a working module for 5.x?

Regards

Patrick

smk-ka’s picture

Just a quick comparison of both modules:

  • Invites are also kept forever.
  • Invite sends a coded registration link by e-mail whereas referral displays it. Referral's tracking is superior as it uses a session variable to store referral information. Invite's tracking code is lost if the user moves away from the registration page.
  • Invites are secured against reuse. That is, an invite code is always unique and can be used only once. Invite codes have an expiry date. This means, that a registration based on an invitation only counts if it the code exists, isn't expired and hasn't been used before. From a quick peek at referral's code it seems that referral codes can be manually calculated and could be used for automated mass registration, which would be specifically bad for invite, when userpoints gained from successful invitations can be turned into real money, for example.
  • Additionally, e-mail recipients must be unique. There have been proposals in the past to allow multiple invites to one and the same e-mail address, though.

Both modules seem to suffer from implementation details but could generally be merged. The biggest difference are the two approaches of reuseable and non-reusable tracking codes. But then again, a simple admin switch could be sufficient to toggle between both behaviors.
--
Stefan Kudwien
www.unleashedmind.com

sun’s picture

Regarding 2) duration of referral information storage: IMHO it would make sense to configure this behaviour in Invite settings, too. For eCommerce-relevant sites (where user points turn into real money), I would expect that the referral information is stored in a cookie (instead of in the session or not at all) since it is obvious that an invitee probably wants to get some information about a foreign website first and maybe registers at a later time. AFAIK, this is the way most affiliate systems are working.

Anyway, keep it up!

smk-ka’s picture

OT: @sun: Feel free to file a new bug or feature request, in here it'll most likely be forgotten...

smk-ka’s picture

Status: Postponed » Closed (won't fix)

Clearing out the issue queue.

vensires’s picture

Status: Closed (won't fix) » Needs review
FileSize
1.42 KB

Sorry for reopening this issue but I think someone might step on this when searching for the functionality below. This is not what you would actually call a merging but nevertheless. This is a module I had created in the past called refinvite. It has invite and referral as dependencies. Invite provides an administrator with the option of allowing user registration only through invitations. RefInvite on the other hand allows user registration only through invitations OR referral links(by checking the referral cookie provided by referral). That's all actually.

IWasBornToWin’s picture

Subscribing. Sound awesome-- here are a few other discussions about this;

user referral not registering new referral - http://drupal.org/node/1174970

Invite being able to provide link to share on facebook, emails, text messages, etc, http://drupal.org/node/1340124