Looks like a good start to this ticket.  Here's some thoughts:

In `get_usernames_from_md`, the `usernames` variable should be a set instead of 
a list, so if a username is mentioned multiple times, they don't get multiple 
notifications.

Our email templates are markdown (and jinja), so might be nice to name it `.md` 
like some other templates.  And since its markdown, you can make the link be 
within the text, instead of just a URL on its own line.  Something like `at [{{ 
project_name }} {{ mount_point }} {{ artifact.link_text() }} ]({{ 
h.absurl(artifact.url()) }})`  (haven't tested that to see how it works or how 
it looks).

It might be good to change `send_usermentions_notification` to be a background 
task, since sometimes markdown conversion can take a while if the text is huge. 
 Then it could be in `Allura/allura/tasks/notification_tasks.py` which would be 
nicer than on app_globals.py.

We'll want to call `send_usermentions_notification(` in more places than just 
comments - like tickets created, wiki pages created/edited, etc.  Maybe add one 
or two more examples for now, but at some point you'll want to put them in many 
places.  (You can search for `create_activity(` calls, which cover a lot of 
different artifact actions)

Thinking about overall functionality which probably is more related to 
unsubscribe [#8285], but somebody might get notified about something via 
regular subscriptions, and then also get a notification because of their 
username mention.  Maybe ok, maybe not?  Also if some text is edited, we 
probably don't want to notify every time its edited.  But maybe we do if their 
username was newly added?  That might be hard to keep track of.  Stuff to think 
about with regard to that next ticket and what data needs to be stored in new 
fields or new models.


---

** [tickets:#8284] gsoc19-c4: Implement the notification email sender**

**Status:** in-progress
**Milestone:** unreleased
**Labels:** gsoc19 
**Created:** Wed May 08, 2019 03:03 PM UTC by Shalitha Suranga
**Last Updated:** Tue Jul 09, 2019 04:20 PM UTC
**Owner:** Shalitha Suranga


*Todo*

This function is responsible for detecting user mentions and sending email 
notifications. For the detection markdown extenstion can be reused. For sending 
emails existing interfaces can be used; or any other better mechanism will be 
discussed before the implementation.

*What is expected*

When a user is mentioned (and the markdown is saved) the relevant user will be 
notified with an email 




---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed 
to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.

Reply via email to