I have written another Signup extension that will allow an event owner to "broadcast" an email to everyone signed up to an event.

It has not been extensively tested, and could probably be enhanced, but I will attach it here anyway.

Comments

dww’s picture

Version: 4.7.x-1.x-dev » 5.x-2.x-dev
Status: Active » Needs work

this is a great start, and i'm going to be so happy to have this functionality. here's what needs to be done:

  1. this should be a patch against signup.module itself -- no need for a separate contrib module.
  2. the coding style needs a lot of help (see http://drupal.org/node/318)
  3. the permissions for signup have changed (see http://drupal.org/node/69283)
  4. this code:
     if ($user->uid==1) {
        // admin user can specify email address 
    

    needs some help. we should choose a more appropriate permission (e.g. 'administer site configuration'), instead of hard-coding it to uid 1.

once all of that's cleaned up, i'll commit this to the 5.x-2.* series (and probably 4.7.x-2.*, which i'm also planning to create in the near future).

JohnG-1’s picture

@ dww #1.1 : "this should be a patch against signup.module itself -- no need for a separate contrib module."

... unless you wanted to break out all the email functionality currently in signup.module to a plug-in signup_email.module ... ? it's a thought ;)

dww’s picture

not really, no. ;)

dww’s picture

Assigned: Unassigned » dww

update: someone's sponsoring me to make this work, so it's going to get done, and done right, in the near future. stay tuned.

dww’s picture

Status: Needs work » Needs review
StatusFileSize
new5.21 KB
  • adds 2 new perms:
    + 'email users signed up for own content',
    + 'email all signed up users',
  • adds a new "Signup broadcast" tab to signup-enabled nodes for properly permissioned users
  • supports all email tokens except %info (for now).
  • users with 'administer site configuration' can specify the from address, otherwise, the email is sent as the user visiting the tab.
  • all code style is right, XSS bugs from original patch removed, proper use of t() for translations, etc, etc.

any better suggestions of what to call this feature, the tab, the URL, etc?
other comments, UI feedback, complaints?

thanks,
-derek

p.s. this patch is against HEAD, which will soon become the 5.x-2.* new feature series...

add1sun’s picture

Haven't actually tested the patch yet but these are thoughts from just the list above.

Re: perms: "email all signed up users" makes it sound like I can email everyone signed up for all nodes through the site at one time. Maybe just "email signed up users"? That is consistent with perms for node module but inconsistent with the other signup perms so I guess it makes more sense to be consistent within your own module. ;)

"Signup broadcast" many not be blindingly clear what it is to some folks, especially non-native English speakers. "Signup Email" or "Send Signup Email", "Email Signup Group"? Too bad there isn't a nice concise word for the recipients like "Email Signees". I guess attendees is close but maybe they aren't actually attending anything :/ and "signed up users" is really just long and awkward.

On the from email, would it be possible that a default from address could be picked, say between user's email or "this" standard email I can define? So as admin I can let people send emails and they will always come from info@example.com rather than their address and I don't need to give them admin powers.

This is really cool stuff and I look forward to it.

adrinux’s picture

- The actual e-mail broadcast works fine
- permissions appear to be working properly

- 'signup broadcast' makes sense if you know what it does, but I agree it's not too intuitive.
As for alternatives. The company sponsoring this work uses the term 'registrant', so 'email registrants', works whether there is a physical event or not, but is completely inconsistent with the rest of signup module. Short of converting signup to register.module I doubt it's workable.

'email signees' sort of works, signee is a real word. signee is 'a person who signs a contract or other officail document', so not quit right but probably close enough.

Should we be using email? Would 'message signees' be better?

- the URL, signup-message ? It really just has to be consistent with the tab...

- the tab
I was actually suprised to see this as a tab, I'd imagined it would be a button in a couple of places:
* on the per node signup page (node/x/signups), perhaps below 'close signups' and above the list of individuals signed up.
* on the signup overview page (admin/content/signup) in the operations column, so for each event you'd have 'View signups', 'message signees' and 'open/close event'.

At least in the first instance this would also allow a bit more verbosity, and perhaps that solves some of the naming issues:
Send a message to all users signed up for this event [message signees]

To me this is less confusing as an in page button rather than a tab. Thoughts?

dww’s picture

Title: Signup Broadcast » email everyone who signed up

thanks for the feedback so far. a few thoughts:

  • yeah, this module has a crappy name. ;) if i was going to rename it, it'd be to the "reply.module", since in my world, you can reply "no" -- so neither "signup" nor "register" makes sense to me. however, that doesn't help the naming problems for this feature. ;)
  • i agree "broadcast" isn't good, we just need a good alternative...
  • re: the tab -- in my world, i'd want to give all users who have permission to signup the ability to email the other people who signed up. however, i don't necessarily want to give them signup admin permissions -- that's why it's a separate permission. currently, both the "signups" tab and the admin signup summary require admin perms. so, to make this either a sub-tab on the signups tab, or just a form at the bottom of the signups tab, it'd require a lot more work. we'd have to make it so that it only conditionally presented the cancel buttons, and displayed the signup details. for example, i can certainly imagine wanting to be able to send emails through the site to everyone who signed up, without actually knowing all of their emails...
  • re: the from address. i'm just trying to a) keep it simple, b) make it work much like the contact tab, and c) make it possible for people who signup to "organically" communicate with each other. this isn't just about event organizers/admins being able to send out stuff. so, the default of the email coming from the user who sends it makes sense to me. if you're a site admin, you can change it if you want.
    if someone wants to sponsor further work on this feature, i could make another setting so the site admin could control this behavior site-wide or do other crazy things, but so long as the perms to use this feature could be available to anyone on the site, i think it's important for the people getting spammed by this to see who it's coming from, instead of it all getting anonymized to "signup-organizer@foo.com".
JohnG-1’s picture

How about calling it "Maillist" or "Signup Email List" ? ... or just "Spamup" ;)

adrinux’s picture

broadcast
You know I think we're all worrying too much about people not grokking 'broadcast', because actually, it's descriptive and memorable. Once people have used it once they'll probably remember it well. Let's leave it be and see how users get on with 'signup broadcast' in the real world.

in my world, i'd want to give all users who have permission to signup the ability to email the other people who signed up.
I can see that might have some utitlity, point taken as regards the tab on the signup page.
But what about the signup overview page? admin/content/signup is already admin only right? I'm I the only one that thinks it makes no sense to offer 'view signups' and 'open/close signups' in the operations column but not 'broadcast'?

How hard would it be to add a link to the signup broadcast tab there? I would make it that bit easier for admin users.

dww’s picture

Status: Needs review » Needs work

yes, it'd be trivial to add another link to the operations column, if the viewing admin user has sufficient perms (just because you have admin signups doesn't *necessarily* mean you have visible access to the email addresses of your users... you probably do, but we shouldn't assume that's always the case). i just didn't think of it, that's the only reason it's not there already. setting this back to needs work on that basis, but the patch in #5 is still basically viable for testing/review. ;)

dww’s picture

Status: Needs work » Needs review
StatusFileSize
new6.71 KB

yeah, i guess on 2nd thought, "broadcast" isn't terrible. especially with some good help text and docs, it should be fine.

new patch:

  • adds a "Signup broadcast" link to the operations column on the admin/content/signups page (with mouse-over help info) if the user has permissions to use it.
  • adds help text to the signup-broadcast tab.
  • don't make it so admin signups implies ability to use the broadcast tab -- you only get the tab if you've got the email-specific perm (better to keep it fine grained).
  • don't drupal_set_message() all the email addresses of everyone you just sent a broadcast to. ;)
  • make all the fields on the email form required.
  • fixes some minor code-style problems i noticed.

this should be RTBC. anyone care to do a final round of testing and reviews?

thanks,
-derek

adrinux’s picture

Works for me. I think this is RTBC.

add1sun’s picture

Status: Needs review » Reviewed & tested by the community

Applies and works for me. Looks sweet.

dww’s picture

Status: Reviewed & tested by the community » Fixed

committed to HEAD and added to http://drupal.org/node/95695. thanks folks. ;)

Anonymous’s picture

Status: Fixed » Closed (fixed)