Bonobo-Git-Server
Bonobo-Git-Server copied to clipboard
Email Support
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?
Email on commit with tags. Are you work on it for smpt or mapi? Are you can do both methods?
Hi Dave I would start with email on commit and on commit with tag. It would be nice to have it configurable.
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?
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?
That's great. I am planning on updating the UserRepository_Permission table to include options for getting emailed on commit and commit with tag.
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?
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.
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.
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.
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?
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.
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...
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!
New listener should be notified from GitController (https://github.com/jakubgarfield/Bonobo-Git-Server/blob/master/Bonobo.Git.Server/Controllers/GitController.cs)
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.
Not yet, you can give it a try :)
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.
-
these settings could be configured in web.config - no need to bother with UI
-
true
-
that make sense, but it could be added later, firstly you can start with just one settings (emails on/off on user level)
Ok, I'll start with these agreements and then we make the improvements.
@josephrodriguez I guess since no PRs have been posted for this i can set this up as up-for-grabs again?