Feature #13919
closedMention user on issues and wiki pages using @user with autocomplete
0%
Description
https://github.com/dwarburt/redmine-mention-plugin is ok, but I think would be awesome to have something like Github where it has an inline autocomplete for users etc. I think this should be built into the core plugins maybe?
for reference check this out https://github.com/tactivos/jquery-sew
Files
Related issues
Updated by Jelle Bekker over 11 years ago
I've tried to implement this at https://github.com/Jbekker/redmine_mention_plugin/tree/autocomplete
I changed the syntax to :user instead of user user because that doesn't get triggered when typing a email-address :-( I'm sure there is a way to filter a email adress out but im not a Ruby/JavaScript pro yet.
Currently im not checking if jquery is loaded and there are a few other things that could be done better I suppose. Patches and pull requests are welcome!
Updated by Arkhitech - More, Better, Faster! over 10 years ago
+1 for this feature. Mentioned user should not get added to the watcher's list though. Only a one time email should be triggered saying that 'You were mentioned....' or something. Also, there should be email notification setting, where you can appropriately adjust that you want to receive mention email notifications only, etc.
Updated by Toshi MARUYAMA over 10 years ago
- Related to Feature #16478: Several people involved / Mention someone added
Updated by Andriy Lesyuk over 10 years ago
FYI, mentions with email notifications are implemented in WikiNG 1.0.0b.
Updated by Toshi MARUYAMA about 10 years ago
- Has duplicate Feature #15828: mention system. added
Updated by Toshi MARUYAMA about 10 years ago
- Related to deleted (Feature #16478: Several people involved / Mention someone)
Updated by Toshi MARUYAMA about 10 years ago
- Has duplicate Feature #16478: Several people involved / Mention someone added
Updated by Dmitry Beloglazov about 10 years ago
+1 for this one. Would be really nice to have.
Updated by Alex Sherman about 10 years ago
+1
I also tried this one: http://www.redmine.org/plugins/redmine-mentions
Updated by Lai Wei-Hwa about 9 years ago
The plugin that Alex Sherman posted is cool but doesn't work on comments. +1 to get this implemented.
Updated by Kamil Franckiewicz over 8 years ago
Arkhitech - More, Better, Faster! wrote:
+1 for this feature. Mentioned user should not get added to the watcher's list though. Only a one time email should be triggered saying that 'You were mentioned....' or something. Also, there should be email notification setting, where you can appropriately adjust that you want to receive mention email notifications only, etc.
I agree. +1
Updated by budo kaiman over 8 years ago
+1 to single email. Plugins for this feature have always been unreliable and trying to communicate on redmine without setting people as watchers is awkward and inefficient.
Updated by Konstantin Ladutenko over 8 years ago
Lai Wei-Hwa wrote:
The plugin that Alex Sherman posted is cool but doesn't work on comments. +1 to get this implemented.
Alex Sherman wrote:
+1
I also tried this one: http://www.redmine.org/plugins/redmine-mentions
I used the same plugin by Arkhitech, it looks to work as expected for comments, however, does not notify user when mentioned in description of the task. To make autocomplete feature to work with redmine 2.5.2 I used a patch (see pull requtest on GitHub https://github.com/arkhitech/redmine_mentions/pull/34 )
Updated by Steve Légaré over 8 years ago
Arkhitech - More, Better, Faster! wrote:
+1 for this feature. Mentioned user should not get added to the watcher's list though. Only a one time email should be triggered saying that 'You were mentioned....' or something. Also, there should be email notification setting, where you can appropriately adjust that you want to receive mention email notifications only, etc.
I agree! +1
Updated by Toshi MARUYAMA about 7 years ago
- Related to Feature #26127: Display user logins on profiles added
Updated by Go MAEDA about 6 years ago
- Has duplicate Feature #29471: Allow for calling users by their username added
Updated by Mizuki ISHIKAWA over 5 years ago
- File feature_13919_v1.patch feature_13919_v1.patch added
- Use user link such as "user:jsmith" "@jsmith" "user#2".
- Notify when the user mentioned by the user link has the authority to view the element and has not rejected the notification.
The test has not been written yet for this patch.
There is room for improvement in this patch.
I'm looking forward to getting your feedback.
Updated by Go MAEDA over 5 years ago
- Category changed from Core Plugins to Email notifications
- Target version set to Candidate for next major release
Updated by Mizuki ISHIKAWA over 5 years ago
- File feature_13919_v2.patch feature_13919_v2.patch added
I attached a patch to which test code was added.
Updated by Go MAEDA over 5 years ago
- Target version changed from Candidate for next major release to 4.1.0
Setting the target version to 4.1.0.
Updated by Marius BĂLTEANU over 5 years ago
- Assignee set to Marius BĂLTEANU
I would like to test the solution proposed because looking over the patch proposed, I think that it cannot be committed as it is and it'll require more work.
Updated by Aleksandar Pavic over 5 years ago
+1
Mention should actually trigger email notification (add user as watcher if it's not added)
Updated by John Ramsden over 5 years ago
We've been looking at this feature, and we're hoping to move from to it from the redmine_mention_plugin plugin1. The issue we're having with the current plugin is that it doesn't support our usernames that are emails. Are there any plans to support that in this feature? Or if we plan to use this feature should we move away from emails as usernames?
In the existing plugin when we write @
, an autocomplete box opens, when we choose a user that is not an email, it converts it to a link to the user correctly, whereas when using an email it does not. We tried modifying the regex but I guess there's more to it than that.
Updated by Go MAEDA over 5 years ago
Marius BALTEANU wrote:
I would like to test the solution proposed because looking over the patch proposed, I think that it cannot be committed as it is and it'll require more work.
Could you point out what needs to be corrected? Maybe Mizuki can work on correcting the patch.
Updated by Marius BĂLTEANU about 5 years ago
Thanks Mizuki for writing the patch.
My main concern regarding the proposed solution is that there is no way for the user to control the notification emails, he'll be notified every time when someone will mention him.
I see 2 options:
1. We add a new event type ("On mention") and some options for the user to control when he should be notified or not. But this solution it's quite complex and it'll require more time to work on it. Also, the message from the notification emails should contain something like "You received this email because someone mentioned you".
2. We just add the user as watcher and the notifications will be controlled by the actual notification rules. In addition, we can add in the user preferences an option regarding if he wants to auto watch the objects where he is mentioned.
My proposal is to go with 2 for now and see in the future how can develop more this feature.
Anyway, another main improvement here is to have a client side feature to allow users to mention someone using an autocomplete dropdown.
Any other feedback on this is welcome.
Updated by Anders Thomsen about 5 years ago
Marius BALTEANU wrote:
...
My main concern regarding the proposed solution is that there is no way for the user to control the notification emails, he'll be notified every time when someone will mention him.
...
I see 2 options:
...
2. We just add the user as watcher and the notifications will be controlled by the actual notification rules. In addition, we can add in the user preferences an option regarding if he wants to auto watch the objects where he is mentioned.
Won't adding mentioned users as watchers cause them to get even more e-mails? Consider a scenario where developers (watching the issue) frequently adds notes to an issue. Once in a while they need to notify some stakeholder (not watching as this would cause too many irrelevant notifications) which they do by mentioning them.
Or perhaps I misunderstand - by "add the user as watcher" do you mean only for that one request (not persisting the setting)?
Updated by Marius BĂLTEANU about 5 years ago
Anders Thomsen wrote:
Won't adding mentioned users as watchers cause them to get even more e-mails? Consider a scenario where developers (watching the issue) frequently adds notes to an issue. Once in a while they need to notify some stakeholder (not watching as this would cause too many irrelevant notifications) which they do by mentioning them.
Or perhaps I misunderstand - by "add the user as watcher" do you mean only for that one request (not persisting the setting)?
You're right, it'll generate more emails.
How do you see the implementation?
Updated by Anders Thomsen about 5 years ago
In a company there should be no problem as mentioning a user would have the same effect as sending an email to the user. So I believe the main concern would be in public websites like this one.
It could be controlled by a new permission: "Notify mentioned users". If one don't have that permission, no drop-down should be displayed typing in @ and of cause no notification e-mail should be sent.
Updated by Go MAEDA about 5 years ago
Marius BALTEANU wrote:
My main concern regarding the proposed solution is that there is no way for the user to control the notification emails, he'll be notified every time when someone will mention him.
I think it is the ideal behavior because this feature is to forcefully send a notification to another user. Since the notification is sent only when a user used "@login" or other special markup, I think it is not a big problem.
Updated by Jean-Philippe Lang about 5 years ago
- Target version changed from 4.1.0 to 4.2.0
Updated by Mizuki ISHIKAWA about 5 years ago
I agree with #13919#note-47.
http://www.redmine.org/projects/redmine/repository/entry/trunk/app/models/user.rb#L790
always send to project members except when mail_notification is set to 'none'
If mail_notification is not none, a notification will be sent when the news is created(#4700).
I think that notifications when mentioned are as important as news notifications.
Updated by Go MAEDA about 5 years ago
- Related to Feature #31989: Inline issue auto complete (#) in fields with text-formatting enabled added
Updated by Marius BĂLTEANU almost 5 years ago
汪婷 汪 ISHIKAWA, what do you think if we try to implement this feature using a new plugin named "acts_as_mentionable" which will be able to look for mentioned users (for now, it can be extended to another entities in the future) only on the changed values and only on configured attributes per entity (for example: Issue#description, Journal#notes, CustomFieldValue#value, etc)?
I'm attaching a patch for demo purposes which:
- gives you access to all attributes that are changed during an update using saved_changes
- gives you access to the attributes where we should look after mentions through mentionable_attributes
Further more, I think we should have a mechanism that calculates the users that should be notified by making a diff between the users that were been notified based on the old value and the users that should be notified based on the new value. In this way, we avoid sending another mention if someone just append a short text to an existing description which already contains a mention. Also, the email send to the user should be a new mail template, something like "You have been mentioned in #{issue} by #{user}".
Please let me know what do you think about this. Any other ideas are welcome!
Updated by Mizuki ISHIKAWA almost 5 years ago
Marius BALTEANU wrote:
Please let me know what do you think about this.
Thank you for your activity on this Issue(feature)!
The implementation using the "acts_as_mentionable" plugin looks more beautiful than the patch implementation I attached in #13919#note-34.
Also, the email send to the user should be a new mail template, something like "You have been mentioned in #{issue} by #{user}".
That looks good.
If the mention user is always notified of changes to mentionable attribute(eg issue),
I think it would be ideal to send only the email "You have been mentioned in #{issue} by #{user}". (Do not send existing email "Issue#1 has been updated by #{user}")
Updated by Marius BĂLTEANU almost 5 years ago
Mizuki ISHIKAWA wrote:
Thank you for your activity on this Issue(feature)!
The implementation using the "acts_as_mentionable" plugin looks more beautiful than the patch implementation I attached in #13919#note-34.
Thanks for you quick feedback. Do you like to continue from here? I would be very happy to review the patch.
Updated by Mizuki ISHIKAWA over 4 years ago
- File draft-feature-13919-v3.patch draft-feature-13919-v3.patch added
- File draft-acts_as_mentionable.patch draft-acts_as_mentionable.patch added
I am developing a patch based on 0001-Demo-for-acts_as_mentionable.patch, but I thought that there are some problems by sharing the process with acts_as_mentionable.
Existing notification emails have been optimized to deliver more information per event, such as mailer/issue_add.html.erb, mailer/issue_edit.html.erb and mailer/news_added.html.erb .
For example, issue_edit includes Issue information as well as Journal information as shown below.
Issue #1 has been updated by Redmine Admin. ・ Description updated (diff) Change description. Bug #25: Subject Author: Redmine Admin Status: New Priority: Normal Start date: 2020-02-04 Searchable field: Default string John Smith Dave Lopper Description Description comment.
I find it difficult to replace these optimized emails with a common email template created based on 0001-Demo-for-acts_as_mentionable.patch.
Therefore, I am planning to develop a patch that replaces the subject or the first sentence(example: Issue #25 has been updated by Redmine Admin) of the existing notification email with "You have been mentioned in Issue #25 by Redmine Admin" based on the feature_13919_v2.patch.
I have created a draft patch that works with two designs.- Patch with common processing based on 0001-Demo-for-acts_as_mentionable.patch: draft-acts_as_mentionable.patch
- Patch that adds a function to change the email subject to the feature_13919_v2.patch: draft-feature-13919-v3.patch
I welcome feedback on code design, etc.
Updated by De Lo over 4 years ago
In Gitlab, when you mention someone, they gets automatically subscribed to the thread and receives all further updates on the issue. We use that behaviour in our company and it very well suits our needs.
Having a different paradigm in another tool is misleading. IMHO, the fact that mentioned user could be added to watcher list should be controlled via a flag in the settings. As I can see on this plugin: https://github.com/arkhitech/redmine_mentions, its a feature which has been multiple times been requested.
What's your opinion ?
Updated by Marius BĂLTEANU over 4 years ago
- File 0001-wip-for-acts_as_mentionable.patch added
Mizuki ISHIKAWA wrote:
I am developing a patch based on 0001-Demo-for-acts_as_mentionable.patch, but I thought that there are some problems by sharing the process with acts_as_mentionable.
Existing notification emails have been optimized to deliver more information per event, such as mailer/issue_add.html.erb, mailer/issue_edit.html.erb and mailer/news_added.html.erb .
For example, issue_edit includes Issue information as well as Journal information as shown below.[...]
I find it difficult to replace these optimized emails with a common email template created based on 0001-Demo-for-acts_as_mentionable.patch.
Therefore, I am planning to develop a patch that replaces the subject or the first sentence(example: Issue #25 has been updated by Redmine Admin) of the existing notification email with "You have been mentioned in Issue #25 by Redmine Admin" based on the feature_13919_v2.patch.
I have created a draft patch that works with two designs.
- Patch with common processing based on 0001-Demo-for-acts_as_mentionable.patch: draft-acts_as_mentionable.patch
- Patch that adds a function to change the email subject to the feature_13919_v2.patch: draft-feature-13919-v3.patch
I welcome feedback on code design, etc.
Thanks Mizuki for the work made on top of my patch. I took a look over your patches and I'm not sure why all those changes made to ApplicationHelper#parse_redmine_links
and User
are needed, most probably I missed something.
I made a new version of my patch (still WIP) which includes the auto complete feature for users and a working version of acts_as_mentionable
. For now, notified_mentions
receive the same existing email from Redmine, but we can easily made some changes to the email template in order to include a message like "You have been mentioned" or something similar. I'm attaching the patch for testing purposes.
Updated by Marius BĂLTEANU over 4 years ago
- File deleted (
0001-wip-for-acts_as_mentionable.patch)
Updated by Marius BĂLTEANU over 4 years ago
- File email_template.png email_template.png added
- File 0001-Demo-for-acts_as_mentionable.patch 0001-Demo-for-acts_as_mentionable.patch added
- ignore the users mentioned in quoted text or pre tags.
- add in the email template the sentence "You have been mentioned in it." (for now only when adding/editing issue)
This patch is good enough to demonstrate how the feature will work from a user perspective. Please let me know what do you think. If we decide that it's good enough, I will finish the work needed (tests, update all email templates, etc) in order to finally include this feature in Redmine core.
Updated by Mizuki ISHIKAWA over 4 years ago
- File 0002-Prevent-multiple-emails-from-being-sent-to-a-user.patch 0002-Prevent-multiple-emails-from-being-sent-to-a-user.patch added
- File 0003-Add-permission-check-before-sending-email.patch 0003-Add-permission-check-before-sending-email.patch added
Marius BALTEANU wrote:
Thanks Mizuki for the work made on top of my patch. I took a look over your patches and I'm not sure why all those changes made to
ApplicationHelper#parse_redmine_links
andUser
are needed, most probably I missed something.
- Changes to User is to check if the mentioned user has permission to access that object. Do not send notification emails to users who do not have access to the mentioned object.
- Changes to ApplicationHelper#parse_redmine_links is to change the color of the link only to the user who is sent the permission check result email. (This is not absolutely necessary)
Marius BALTEANU wrote:
I made a new version of my patch (still WIP) which includes the auto complete feature for users and a working version of
acts_as_mentionable
. For now,notified_mentions
receive the same existing email from Redmine, but we can easily made some changes to the email template in order to include a message like "You have been mentioned" or something similar. I'm attaching the patch for testing purposes.
Thanks for developing the patch, I think 0001-Demo-for-acts_as_mentionable.patch is a much better design than the draft-acts_as_mentionable.patch I wrote.
I attached some patches to solve it because I had some concerns.
Fix an issue where one user receives two notification emails when mentioning a user who originally planned to be notified(Issue#notified_users).
@dummy_user who is not a member of the C project cannot see issues in the C project. Even if @dummy_user is mentioned in the C project issue, I don't think the notification email should reach @dummy_user.
This patch adds a process to decide whether to send a notification email according to the permissions of the mentioned user.
Updated by Mizuki ISHIKAWA over 4 years ago
De Lo wrote:
In Gitlab, when you mention someone, they gets automatically subscribed to the thread and receives all further updates on the issue. We use that behaviour in our company and it very well suits our needs.
Having a different paradigm in another tool is misleading. IMHO, the fact that mentioned user could be added to watcher list should be controlled via a flag in the settings. As I can see on this plugin: https://github.com/arkhitech/redmine_mentions, its a feature which has been multiple times been requested.
What's your opinion ?
I think the above feature to add mentioned users to watchers should be considered as an additional implementation after this feature (#13919) is committed.
Example, Add the mentioned user to watcher if Setting.add_mentioned_users_to_watchers is true.
Updated by Marius BĂLTEANU over 3 years ago
- Target version changed from 4.2.0 to 5.0.0
Unfortunately, I'm not able to finish this for 4.2.0.
Updated by Diego Antunes almost 3 years ago
Fabiano Souza wrote:
Hi,
On track for 5.0.0 ?
What the hell, I check this email every now and then "about once a year, lol". I added this 8 years ago, 8 YEARS!!! glad I stopped using Redmine about 7 years ago.
Updated by Dmitry Babenko almost 3 years ago
Diego Antunes wrote:
What the hell, I check this email every now and then "about once a year, lol". I added this 8 years ago, 8 YEARS!!! glad I stopped using Redmine about 7 years ago.
Diego, it's free and open-source software. And since we are not paying for its development or usage we can't really claim for anything.
We can support and encourage the developers and maintainers, but definitely not blame them. Especially, when a requested issue is not a bug, but a new feature.
PS: I'm also looking forward to this feature. And it's probably the last feature I really miss in Redmine :)
Updated by Marius BĂLTEANU almost 3 years ago
Dmitry Babenko wrote:
Diego, it's free and open-source software. And since we are not paying for its development or usage we can't really claim for anything.
We can support and encourage the developers and maintainers, but definitely not blame them. Especially, when a requested issue is not a bug, but a new feature.
Thanks for the nice words!
I'm confident that we can deliver this in 5.0.0. I've a functional version with both issues reported by Mizuki in #13919#note-59 fixed, but it depends on the newly #36162 that changes the notification reason from a static and generic text to a dynamic text.
Updated by Marius BĂLTEANU almost 3 years ago
- Related to Feature #36162: Add notification reason to the email instead of the default static email footer added
Updated by Dmitry Babenko almost 3 years ago
Marius BALTEANU wrote:
I'm confident that we can deliver this in 5.0.0.
Great! Thanks! It will be a huge leap for Redmine! :)
I've a functional version with both issues reported by Mizuki in #13919#note-59 fixed, but it depends on the newly #36162 that changes the notification reason from a static and generic text to a dynamic text.
Actually, the default static email footer is just fine.
I think it is better to put #36162 for one of the future releases and not block the mentions feature if it is possible.
Updated by Adrien Crivelli almost 3 years ago
I agree with Dmitry here, while #36162 would be nice, mentions would definitely be more useful and should not be blocked by improvements that can be made later.
Updated by Marius BĂLTEANU almost 3 years ago
- File 0001-Allow-users-to-be-mention.patch added
I'm attaching a patch that contains a fully working version without any known issue, it can be used for testing. In the meantime, I'm adding the automated tests.
Please note that there is no difference between a mail received because you're the assignee and an email received because you have been mentioned, we will add this as part of #36162.
Please let me know what do you think and if something is missing.
Updated by Miodrag Milic over 2 years ago
Can't wait for this one! Thx guys, you are awesome.
Updated by Marius BĂLTEANU over 2 years ago
- File deleted (
0001-Allow-users-to-be-mention.patch)
Updated by Marius BĂLTEANU over 2 years ago
- File 0001-Allow-users-to-be-mentioned-using.patch 0001-Allow-users-to-be-mentioned-using.patch added
I'm attaching an updated patch which includes some fixes and tests for the mentioning system.
I still need to change the user autocomplete in order to propose only users that are able to see the object in order to avoid those cases when you mention a visible user, but he won't receive the notification because he cannot see that object (the same issue that we had on watchers). After I do this, I'll commit the patch.
Updated by Kohei Nakamura over 2 years ago
+1
I've been really waiting for this feature.
This will be a great motivation for us to update Redmine 5.
Thanks for the development!
Updated by Marius BĂLTEANU over 2 years ago
- File 0001-Allow-users-to-be-mentioned-using-in-issues-and-wiki.patch 0001-Allow-users-to-be-mentioned-using-in-issues-and-wiki.patch added
- only users that are able to see the object are proposed in users autocomplete.
- integrates with watchers permission (because this feature has a notification component) in order to allow mentioning only by users with permission to add watchers on that object. For ex: only users with
add_issue_watchers
permission can mention users on issues.
- we should add a specific permission
mention_user
for each type of object (issue, wiki pages, etc) - adds a "global" permission
I would like some feedback before moving forward with the implementation.
Updated by Adrien Crivelli over 2 years ago
Using the existing permission sounds good to me. If future, real usage shows that it's not optimal we could always move to a dedicated permissions. But until then I wouldn't overcomplicate things.
Updated by Marius BĂLTEANU over 2 years ago
- Subject changed from Mention user on comment/description using @user with autocomplete to Mention user on issues and wiki pages using @user with autocomplete
- Status changed from New to Resolved
- Resolution set to Fixed
Feature added in r21435.
Now you can mention other users in issues and wiki pages:- the user must have add watchers permission on that object in order to mention other users
- mentioned user will receive a notification email
- only visible users who can view the object can be mentioned
I'll leave this open for a while in order to get some feedback on the implementation.
Updated by Marius BĂLTEANU over 2 years ago
- Related to Feature #36699: Change the text of the user link when converting @user notation to html added
Updated by Marius BĂLTEANU over 2 years ago
- File highlight.png highlight.png added
Feature completed!
Users mentions are now highlighted and rendered using a leading @:
Updated by Marius BĂLTEANU over 2 years ago
- Status changed from Resolved to Closed
Updated by Marius BĂLTEANU over 2 years ago
- Related to Defect #36909: Mentions not working if status is changed added
Updated by Marius BĂLTEANU almost 2 years ago
- Related to Defect #37369: Mention auto-complete not works in bulk-edit comments added
Updated by Marcin Szewczyk almost 2 years ago
I think that the :mention_users
"Mention Users" permission was left behind (available in the Administration section) but doesn't do anything.
Updated by Holger Just almost 2 years ago
- Related to Patch #37938: Unused permission "Mention user" added
Updated by Go MAEDA over 1 year ago
- Has duplicate Feature #38542: Better username completion in the editor added
Updated by Frederico Oliveira about 1 year ago
Marius BALTEANU wrote in #note-79:
Feature completed!
Users mentions are now highlighted and rendered using a leading @:
Hello Marius BĂLTEANU,
In order for the user mention to work, it is necessary to have the edit task permission. Is it not possible to leave only the permission to add observers?
Updated by Cristian Spiescu 9 months ago
Hi there,
I see the discussion mentions the notion of "watcher". When mentioning an user, should that user also be added as watcher of the issue? Was the "mention feature" designed in such a way?
I observe that this doesn't happen, although the users expect this. E.g. in GitHub the purpose of mentioning, is to add as watchers.
Updated by Dennis Buehring 7 months ago
Im not sure if anyone here ever tried/used the plugins that implemented this feature a long time ago...
You were discussing permissions and stuff while missing the point of the mentions.
Mentions are a special case, i need to know that the person mentioned gets the info... missing email config aside, i dont want redmine to check the users default email notification settings and then decide not to inform him ?
- Add an extra option to configure if i want to receive mentions-notifications
- Dont use default notification mail template, users tend to use rules to filter out notifications that do not directly address them.
- Dont list users that have no email or have notifications disabled in the User First Name User Last Name popup list
- add maybe an envelope icon next to users in that list, that will be notified by mail ( all this info is checked in mentionable.rb already, so why not use it for something good ? )
Sorry if this sounds like a rant, but you guys took 11 years to reinvent the wheel and finally came up with some square rock with a wooden stick in the middle...