Project:Node Invite
Version:6.x-2.x-dev
Component:Code
Category:feature request
Priority:normal
Assigned:Unassigned
Status:closed (fixed)

Issue Summary

I think this module would be much more powerful if it could support more user information, including linking invitees with UIDs, instead of just email addresses.

This feature is related to:
#417424: Invite by role
#496924: Possible to let users invite people on their buddy list?

1. The database should save both the Name and Email of users who are invited. Currently it only saves the email in the form of Invitee Name <invitee@example.com>. I'd like to see a second column called name_invitee. email_invitee would hold only invitee@example.com, and name_invitee would contain "Invitee Name".

2. Add a column called uid_invitee. If a user invited someone who already exists in the system (a check against the email address could be done), then the uid_invitee field will be populated.

I would also propose changing the invite form so that directly above the "Email Addresses for Delivery" there's a new field which lets you select existing users through some sort of a user reference field. Not exactly sure how this one would be handled yet.

What do you think?

Comments

#1

Here's a patch that implements the initial user table stuff to give an idea... (patched against the 2.x dev branch)

AttachmentSize
node_invite_users.patch 4.72 KB

#2

awesome! Very cool! Whats the status of getting this committed?

#3

I think it's great as long as it continues to allow anonymous invites as well (which it obviously does so far).
I think the user-ref field could be a multi-select for maximum efficiency. The auto-complete ajax widget is slow if you're doing lots.

Alternatively, if we have some serious time, we could build a tool for constructing a list of invitees (query, sort, select people, repeat).

#4

I think improving node_invite to work with the new perks of the invite module, such as the ones hadsie has made to integrate DCL (Drupal Contact List importer, which uses the openinviter engine with a nice jquery ui) would be a fantastic addition to this functionality. It would comprehensively cover the anonymous inviting requirement, and provide the necessary context as anonymous users would be imported through the inviter's contacts.

Moreover, allowing users to invite their buddylist/user relationship/friendlists in addition to anonymous imported contacts could create a comprehensive, lightweight framework for events and such. This provides all the necessary functionality to have a full-featured event invite system that is both lightweight and user friendly. There are some UI improvements (like a search bar and selectability) which were outlined in the DCL UI improvment discussion, found here: http://drupal.org/node/530864 (Comments #4 and #9).

The quintessential use case is here:

Someone makes a nightclub event site for a bunch of US cities. People post events searchable by interest. One seems awesome, and you have 25 friends on the site, and 50 more friends you want to invite to this event. You have 5,000 fbook/gmail/hotmail/twitter/etc contacts, of which you only want 50 of. (Hence usefulness of a search box). With the UI improvements already in code for DCL, and with some extra tweaks, you could select friends on the site, import your contacts, send a tailored message and have a party set up within 30-60 seconds, providing comprehensive inviting.

Moreover, with unique tokens per user invited to the node, the token can be used for redirects to the node after the user registers (which is essential for keeping them attached to the event). This could be solved by running it through a semi-complex workflow, or on the invite email, one link registers and another sends them to the event (node) they were invited to.

Comprehensive inviting is the lifeblood of the social network. Which, keeping in mind with the spirit of this, should also consider this (excellent) youtube video on the subject:

http://www.youtube.com/watch?v=sIFYPQjYhv8

Please feel free to contact me if you would like any more UI input, I love designing UI's and I love to help collaborate on projects.

Thanks!

#5

Status:needs review» fixed

Ok, I've now added a userreference like autocomplete field to the form. It can also use the full functionality of the userreference field if that module is enabled.

By default it's an autocomplete field, however, it could be easily altered to be a multiselect in a hook_form_alter.

@corona, for reference (since I think you already know all this) and to answer your question about dcl importer integration... I don't think this really makes sense in this context. And as you know, the contact_importer module can actually hook very well into this module without additional integration work. Since you can also create a user selection list in views this should probably support friend module type functionality.

But overall, while this module should be capable of supporting social networking sites, that's not it's main goal and it needs to remain mostly generic so that the site builder can decide what to do with it.

#6

Status:fixed» closed (fixed)

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