Bonobo-Git-Server icon indicating copy to clipboard operation
Bonobo-Git-Server copied to clipboard

Email Support

Open jakubgarfield opened this issue 13 years ago • 21 comments

jakubgarfield avatar Oct 08 '11 15:10 jakubgarfield

I'd like to work on this feature if that's okay. In what way were you thinking of adding email support?

  • Emailed when given access to a repository?
  • Email on commit?
  • Email when added to team?
  • Email on pull request?

davezych avatar Oct 12 '13 03:10 davezych

Email on commit with tags. Are you work on it for smpt or mapi? Are you can do both methods?

iamkarlson avatar Oct 12 '13 06:10 iamkarlson

Hi Dave I would start with email on commit and on commit with tag. It would be nice to have it configurable.

jakubgarfield avatar Oct 12 '13 08:10 jakubgarfield

iamkarlson - I was thinking smtp for now. I can look at mapi after smtp is done?

Jakub - Configurable in what way? The user can view the list of the repo's they have access to and can choose whether they get emails on commit and/or commit with tag?

davezych avatar Oct 13 '13 04:10 davezych

I would prefer configuration per repository for the current user - he can select if he wants to receive notifications for current repo - what do you think?

jakubgarfield avatar Oct 13 '13 15:10 jakubgarfield

That's great. I am planning on updating the UserRepository_Permission table to include options for getting emailed on commit and commit with tag.

davezych avatar Oct 16 '13 04:10 davezych

This is one option, another one would be creating a new database table - something like UserRepository_Email. Do you think this approach could be cleaner?

jakubgarfield avatar Oct 16 '13 05:10 jakubgarfield

I had thought about creating another table, but that would mean we have copies of the data. UserRepository_Permission maps users to repo's, and this new one would essentially do the same thing with the addition of 2 new columns. In order to reduce redundancy I think it's best to use the existing table.

davezych avatar Oct 17 '13 04:10 davezych

I see your point, mine was separation of concerns, your is data redundancy - I guess you can choose one or the other and possibly change it in the future if we run into some troubles.

jakubgarfield avatar Oct 17 '13 06:10 jakubgarfield

Maybe email settings per repository is too granular. It would probably be ok if you just selected if you want to receive commit notifications or not in your account settings. It would be a cleaner solution without any data replication, and it would allow future expansions for pull requests and other potential email requests.

jakubgarfield avatar Oct 17 '13 06:10 jakubgarfield

I agree with you there. I started modifying the UserRepository Permission table but I do agree it'd allow for future expansion when adding to the user account. I'll review what I have and let you know what I think.

For the SMTP server settings, I was planning on just having the user specify the host/port/user/pass in the app settings. Think it'd be better to let them set that in the UI?

Also, if no settings are specified should the email features be hidden?

davezych avatar Oct 18 '13 03:10 davezych

For the SMTP settings there are two options: have them in web.config or in global settings XML file (and appropriate create appropriate UI elements for it). I don't have any strong preferences here, so please feel free to choose one.

Yes, it should behave exactly as you are describing.

jakubgarfield avatar Oct 20 '13 10:10 jakubgarfield

Hey Jakub,

I apologize about the lack of progress on this. I had my first child a few months ago and haven't had any time to put towards this. I'll try to get to it in the future but don't hold out on it...

davezych avatar Jan 13 '14 22:01 davezych

Hi Dave, congratulations!! and please don't apologize. I am preparing for moving across the world, so I'm not as active as I should be as well.

Good luck!

jakubgarfield avatar Jan 18 '14 11:01 jakubgarfield

New listener should be notified from GitController (https://github.com/jakubgarfield/Bonobo-Git-Server/blob/master/Bonobo.Git.Server/Controllers/GitController.cs)

jakubgarfield avatar Jun 29 '14 10:06 jakubgarfield

Hello jakub. I am new to github. I found your site and implemented bonobo git server in our site for a very small team. I was wondering if the email notifications has been implemented for this? If not i'd like to take a shot at it as one of my side projects. Thank you.

jchristum avatar Mar 19 '15 14:03 jchristum

Not yet, you can give it a try :)

jakubgarfield avatar Mar 22 '15 02:03 jakubgarfield

With everything I read about this feature I wish I could work on it, I have some ideas about it:

  • First, I think that from the site should be able to manage mail settings, to which can only be accessed by administrators, these are for example, SMTP server, port, user, password, SSL support, etc.
  • The mailings should perform asynchronously, to accomplish this you could use the pattern of producer-consumer using windows queues with libraries like Rebus, NServiceBus, etc.
  • Users only have to select the type of notification to which they wish to subscribe, in the configuration view.

josephrodriguez avatar May 20 '15 20:05 josephrodriguez

  1. these settings could be configured in web.config - no need to bother with UI

  2. true

  3. that make sense, but it could be added later, firstly you can start with just one settings (emails on/off on user level)

jakubgarfield avatar May 23 '15 08:05 jakubgarfield

Ok, I'll start with these agreements and then we make the improvements.

josephrodriguez avatar May 26 '15 19:05 josephrodriguez

@josephrodriguez I guess since no PRs have been posted for this i can set this up as up-for-grabs again?

RedX2501 avatar Jan 21 '16 05:01 RedX2501