Closed (outdated)
Project:
Invite
Version:
master
Component:
Miscellaneous
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
20 Mar 2006 at 16:14 UTC
Updated:
17 May 2020 at 08:36 UTC
Jump to comment: Most recent
The buddylistinvite module demonstrates that there are cool things to be done with the invite API. The buddylistinvite module makes inviter and invitee buddies of each other when the invitee accepts the invitation. What are other modules that could react to invite lifecycles?
Comments
Comment #1
webchickThe OG module implements invites as well.
And of course there are event invitations - if you're familiar with Evite, there is a strong call for getting that level of invitation tracking into Drupal (who have I invited, who has confirmed, who has not confirmed, etc.)
One of the goals of the GoJoinGo project was to create a standard API for sending/receiving invitations that could be used by any contrib module. This is currently done with GJG's Invite API module, which stores the to/from user ID, as well as a series of callbacks to execute upon either accepting or denying an invitation.
The first time I looked at this particular module (this was back a few months ago now) it looked like it was fairly simplistic and only handled invitations to a site that was still in development. Since then, however, it looks like you've been quite busy. ;) So I'll need to take another look at how this module functions and hopefully we can combine our efforts into one super-kickass invitation module. :D
Thanks for all your work on this, Robert! I'll be installing this and testing it a bit later, and will try and sign up for some of the items on your todo.
Comment #2
robertdouglass commentedCool. I can definitely see moving to a centralized API. Let me know what looks sensible.
Comment #3
allie mickaPlease have a look at the send module, which was designed to be a gathering point for modules like invite.
Send provides an email composition form to send 0-n nodes to an 1 or more targets. It tracks which nodes were sent, to whom, and for what purpose. It notes the send activity in its own table, and adds activities for both parties to CiviCRM.
The intent was to create send sub-modules that use send's functionality and re-theme, form_alter and add new functionality. One such module is News, which turns the send form into a newsletter composition interface. Another is GuestPass, which is a send-to-friend module that adds special tokens to escalate the recipient's role for a fixed period (possibly some invite overlap). I would also like to see postcard, saved searches, events near me, etc.
Send comes with configurable variables - link text, subject line text, message text and a themeable template. Each of these values can be overriden for each module, each nodetype, or each node (e.g. custom message text for a particular action)
I wrote send to be as efficient as possible, keeping most of its code from being included unless you're actually using the send interface. It's also more efficient to re-use this module than to keep implementing similarly-functional modules. The other benefit is that you can write a module that affects *all* send modules. For example, you could write a user points module that adds tokes to all messages that go through the send interface (send to friend, postcard, actions, petitions), not just invite. Or track clickthrus, active senders, etc. globally for all emailed items.
Have a look at News, which shows the minimal amount of work to get a send-submodule running. Basically, it's a _send hook and whatever theme, form_alter, etc. hooks you want to use.
Comment #4
robertdouglass commented@Allie: I've been looking at both of these modules recently and it looks very exciting. Question: can send help invite module in any way if there is no node being sent?
Comment #5
allie mickaYes.
You can implement a "default action" operation in the send hook to do anything you like when there are no nodes to send. It won't get linked to nodes, but the sender's message is stored and the sender/recipient activies will be noted and tracked.
News is doing this in 2 lines of code.
Comment #6
robertdouglass commentedgreat work! I'll see if we can get these two hooked up.
Comment #7
darren ohIt looks like chx started work on a general invite API but abandoned the project. You can read about it in issue 29678 and view the code in the sandbox.
Comment #8
darren ohTagged issues 68009 and 68012 as duplicates of this issue.
Comment #9
darren ohComment #10
seaneffel commentedRSVP does evite-like invitations to events, who says yes, who says no, who says 'nah dawg homie g' and all that kind of stuff. I think it even bundles in sending out invoices for event registration. I've used it for tons of stuff on community calendars. If you are looking for an inclusive solution for all the modules that need invitation functionality, look closely at RSVP.
Comment #11
AjK commentedNeed to come back to this but marking postponed while I get the bug issue queue cleaned up
Comment #12
tobias commentedthis is all good stuff - I came in here looking for info about this module potentially "taking over" organic groups invitation feature, but find much else besides. What's the latest on these ideas?
I use RSVP and OG currently.
Cheers,
Tobias
Comment #13
blakehall commented@Tobias
There's some talk of similar integration in this issue.
I'll be working on Invite -> OG in the next couple of weeks, and would love to come up with a generally useful patch / contrib module.
Comment #14
avpadernoI am closing this issue, since it's for a Drupal version no longer supported.