I work as a backend developer in the application development department of the Czech Statistical Office. We use Survey Solutions for data collecting in our organization and we are very satisfied with it. However, we would like to use our MS Cloud Exchange Server for sending email notifications. But Survey Solutions supports Amazon and SendGrid service providers only. I have reviewed your code and I think adding another adapter for MS Exchange server might not be that complicated. Do you think we could somehow contribute this addition to your product? So that it becomes part of it. I suppose it would require occasional communication with your development team to ensure the result meets your standards.
Hello @vlastislavnovak and thank you for your inquiry and stepping forward with this initiative.
This feature is overall interesting, and there were posts previously mentioning lack of options for sending messages from Survey Solutions in the past, e.g. of the SMTP sending here:
The best way to proceed would probably be to move in small steps over this plan:
Add a strategy for solving this ticket. Ideally at the level of an overview cover as much as possible on the topics of:
would implementation require additional dependencies?
Are they free? how are they licensed?
Will there be a change in requirements? (version of OS, .Net, other frameworks requirements?)
Will the implementation be largely additive, or involve modifications of existing code?
Some details about what the implementation will result in (is it vanilla SMTP? some Exchange-specific version of the sending protocol? a generalization that covers both? etc).
Any other relevant details that are important for consideration and don’t require extensive research/experimentation investment from your side.
Mind that there may be some alternatives or trade-offs and, correspondingly, discussions on the best course of action already at this stage. This is normally talked over in our internal team meetings, but here will be useful in the ticket.
At the same time we may need to align this with other developments, or even see if it is easier for us to implement the described strategy in code.
We can’t promise handholding in the process of implementation, but if I am reading your message correctly, you don’t anticipate that. Inevitably, however, the code will need to be verified by our gatekeeper to make sure it doesn’t introduce a vulnerability or any other risk. Correspondingly there may be a motivated request for a revision.
It is also a good idea to be aware of the license posted in the Survey Solutions repository, and in particular 2-iii “Rights in Contributions”, and other relevant sections.
After reading and agreeing on the strategy in principle, the implementation may start. And if and when the pull-request is accepted, the contributed code will become a part of the next scheduled release.
There may also be a need to change documentation (more so for new features than for bug fixes, of course) to accurately reflect the new/modified functionality. If you can provide input in that (non-obvious usages, details on configuration, envisioned typical use case scenarios, etc), that is very welcomed.
Hope this helps, and do let me know if something needs to be clarified.
I see no activity in this ticket as the development concentrates in other features at the moment. If you are having a specific project and need to evaluate whether it is possible with Survey Solutions, please do evaluate conservatively referencing the capabilities of the currently released (latest) version.
Okay, I’ve pulled the code and I’ll try to implement the feature. Where should I possibly commit my piece of code? Should I use an existing branch or create a new one? What is the proper way? I suppose we will need to do a merge request afterwards. Also can you add me as an assignee to the issue?