Send email to revision editor instead of node author - email

I am currently using the Workbench Moderation module to allow pieces of content to be moderated and go through an approval process before being published. This all works great. Part of my process is to send an email to a user when their edited content has been approved/published. I currently have a Rule setup to where when a node gets published and it's under Moderation an email gets sent to the author of the node saying that the node was published. This is fine except for the fact that sometimes we have people editing someone else's content. In other words "Bob" creates a basic page and it gets published and he is the author. Now months down the road, "Susie" is tasked with editing Bobs page. She creates a new draft, sends it for review and a manager publishes it. The problem is that Bob gets the email that it was published and Susie has no idea that her edits were published and are now made live. I was looking in the Tokens in my Rule for the email that gets sent out when something is published and I could not find something that made sense as far as sending it to the Revision author as opposed to the original author. Is this even possible?

I really wanted this functionality too, and just managed by doing the following.
I created the tiniest custom module, containing nothing but the code from Comment #4 (which is just a small revision to the code from the previous comment) on this drupal.org thread: https://www.drupal.org/node/1730000.
It works, and now my revision authors can be notified when their page changes are published!

Related

Sending Emails from different accounts with Google App Script

I have generated the codes with app script in order to send emails automatically if users changed some values in google spreadsheet, which is working fine.
Now I am sharing my google spreadsheet with the app script to two more person (e.g: PersonA, PersonB). Thus, I want whoever changes anything on google spreadsheet will be sending an email under his/her own account. E.g: [All of us needs to edit within the google spreadsheet itself, without going to the "current web app url", (thanks Cameron Roberts for the clarification] if PersonA changes anything, then an email will be sent out under PersonA's account, and an email will be sent out under PersonB's account if PersonB changes anything.
I did something based on the advice from user2970721 and Cameron Roberts. I adjusted "Deploy web App" as "User accessing the web app". e.g:
I also asked PersonA & PersonB to do the same under their accounts and made sure they have triggered the script at least once. e.g:
My issue is that after I have done all these mentioned above, no matter who changes anything on google spreadsheet, emails were always sent out from PersonB's account (my best guess is that I messed up something and PersonB was the last one who triggered the script).
Does the "Project version" need to be different for me, PersonA, and PersonB, or anything else I need to change? Any help would be greatly appreciated!
First, Your project versions do not need to be different for each user.
I'm assuming you are using the On Change event, rather than a web-app. If that's the case, you should disable the WebApp entirely, as it's not needed.
When PersonA creates an On Change trigger, that will be triggered anytime any user (eg PersonA or PersonB) edits the spreadsheet. When it is triggered the code will execute as PersonA , because PersonA created the trigger. As a result, the email will be sent from PersonA's account.
For the scenario you describe, where both PersonA and PersonB have created OnChange triggers and authorised the script. I would expect emails to be sent from both accounts that have created triggers.
To send only one email, from the account that did the edit, I think you would need to do a check to determine if the user who did the edit matches the user under who's authority the script is running. I've never done this before and the docs don't really make it clear if it's possible.
Try checking the User object (Eg e.user) included with the Change event, and see if that email address is reflecting the different users making the edits.
If it is, you can compare it with the effective user and send the email if they match.
https://developers.google.com/apps-script/reference/base/user
https://developers.google.com/apps-script/reference/base/session#getEffectiveUser()
Finally, it might be simpler to just include the address of the person making the edit in your email subject, and just have all the emails send from one account. That way you know who made the edit, but don't need to have every user create a trigger and do all the extra checking.

Github notifications - Mail to PR creator

If I raise a Pull request and if I need to be notified by a mail saying --
You have created a Pull request for "bla bla" on "so and so" date.
On merge - I get a notification
On comment - I get a notification
So my question is...
Are there any such settings in github which sends a mail to PR creator?
Can I tag myself in the PR comment ?
Any help !!
Are there any such settings in github which sends a mail to PR creator?
There's currently no setting in GitHub that makes the platform work in that way. Note: You can send an email to support#github.com to request for such a feature.
Can I tag myself in the PR comment ?
Yes, you can. But that won't trigger an email sent to your mailbox
However, if what you're after is keeping track of your own activity on GitHub, there may exist another alternative: GitHub exposes atoms feeds for various endpoints. The user is one of them. Register your own feed in a RSS reader and you're done.
Syntax: https://github.com/{:user}.atom
Sample: https://github.com/mojombo.atom
I'm surprised that despite being up for so long, this question hasn't really been meaningfully addressed. Axibase designed a cool little tool which can do exactly what you're describing here: if a PR is raised in one of your repositories you'll be notified via email or third-party messenger service.
By default the rule will fire when anyone raises a PR, but it can be configured to only respond to specific users as that seems to be one of your requests.
The workflow here describes the underlying mechanics of the tool and this guide will take you through the entire set-up. The whole process should only take about 10 minutes from start to finish.
Disclaimer: I've worked for the team that develops ATSD, which is the database at work here.

How can I trigger custom emails to be sent in wordpress?

My goal is to use a user's answers to a few questions to trigger custom emails being sent to them with filtered content on my wordpress website. It seems like this is a common need, but can't find anything that allows it, or even is the right base to build a custom solution.
There are 3 main features I'm needing to do: First, the signup form lets users choose a few criteria via selection boxes.
Next, the captured information triggers an email being sent that matches the content they chose. For example, if the user says they're interested in waterskiing, the email that is auto sent would show the most recent posts in the water-skiing category.
Finally, the user responses would need to be saved to trigger actions at a later time if the content is not available yet. So for example, if they are interested in bowling, but there are no entries on bowling, nothing happens. However, once a post gets entered in this category, they are automatically emailed with that recent entry.
Any clarity you can provide here on plugins, software, etc that would lend to this functionality is much appreciated!!

TFS Work item solutions for attaching email communications

For a couple of days now I've been searching for a solution that integrates ongoing work item communication over email into a specific work item's history.
For example once a ticket is created, if a specific TFS email account is included in email correspondence related to a specific ticket, some service would parse the TFS email account, read the email contents and attach the conversation to the work item. I've seen other ticketing systems support similar functionality.
The major problem I'm trying to solve here is to increase productivity by automatically keeping all tickets in sync with related conversations without user intervention.
Does anyone know of any commercial or open source products that can support this functionality?
I just implemented a cloud service using SendGrid that accepts emails at [workitemid]#mycloudservice.com and appends the email to the History of the work item. So if you forward an email to 1234#mycouldservice.com, the email date/subject/body is appended to the History of work item ID 1234.
Right now I have a lot of things hard-coded to my personal usage, but I'm thinking of making it generic/configurable for public usage. The big caveat is that the TFS server needs to be internet-visible (works great with Team Foundation Service). I'll update this answer when(if) I open it up for general usage. The code that handles the SendGrid POST is here if you're interested.
There is also the TeamCompanion Outlook add-in, that gives you a button in the ribbon to attach the current email to a work item. The last round I went with TeamCompanion I found it OK, but a bit buggy, and it may have slowed Outlook down (or that could have been psychological).

How does Litmus track their email analytics?

So, 'Litmus', a web app for testing emails and webpages across browsers and email clients, has a proprietary method that they claim is able to track not just opens, clicks, browsers, etc (standard with an embedded image and pass-through link tracking.)
What's unique is they claim that they are able to track what actions the end user took, how long the end user read it for, and if they deleted or forwarded the email. They claim they do this without JavaScript, and purely using embedded images. They claim that the method works across most major email clients.
What could they be doing to track this? Obviously, if they're doing it with third party applications that they don't control, whatever they are doing should be replicable.
I'm thinking that they realized that when an email client forwards or deletes an email, it 'opens' the email in a different way then normal, creating a unique user string on the server log of some kind? I'm grasping at strings, though.
http://litmusapp.com/email-analytics
Details here http://litmusapp.com/help/analytics/how-it-works
EDIT: It also looks like they track Prints. Maybe they do this by tracking calls to the 'print' css?
It's all done with good ol' image bugs. Breaking down how they find out...
Which client was used: Check the user-agent
Whether an email was forwarded: Done by attaching image bugs to divs that are loaded only when the message is forwarded.
Whether an email was printed: bug attached to print stylesheet
How long it takes to read an email: A connection that's kept open, as pointed out by Forrest (this is also how Facebook tracks(ed?) whether or not you are online on chat).
Whether an email was deleted: Check If a message was read for a short period of time or not opened. In fact, they group "glanced" and "deleted" together.
Of course none of this will work if email clients disable images in emails.
EDIT: Here's another question on this:
The OP actually has their tracking code, and this answer here explains how it works.
One way I can think of doing that is having an embedded image that loads from a script on a server. The script would not return anything or maybe send data really slowly to keep the connection open. Once the email is deleted the connection would be closed. This way they could know how long the email was open. Maybe they just assume if it's open for less than 10 seconds it was deleted?
Another way is tracking the referrer - this would give a lot of data on what a webmail client is doing, but I doubt it would be useful with a desktop client.
They know when the email is opened (it's when the image is called from their http server).
They also know what the user do and when since they can easily replace all links with their own tracking URLs redirecting to the original link.
There is nothing exceptional here. They are just a bit more advanced than their compatitors. There is no magic.
I have only one doubt: how they track delete. Technically, there is no way to know what happened to the message after it was read.
I suspect that a "deleted" mail is a mail that is never opened.