Challenge Overview
Challenge Objectives
Our client wants to implement an Outlook Web Add-in to apply the following limitations for outgoing emails:
To: limited to maximum 20 recipients
Cc: limited to maximum 20 recipients
Bcc: no limitation
The requirement is to have this limitation on external mail only.
Technology Stack
-
Office 365/Outlook
-
Javascript
-
XML
-
CSS
Individual requirements
(1) Email ID limitation
Development an Outlook Web Add-in that apply the following limitations for external email IDs:
-
To: limited to maximum 20 recipients
-
Cc: limited to maximum 20 recipients
-
Bcc: no limitation
For internal email IDs, there is no such limitation.
We can distinguish whether an email ID is internal or external by its domain. For example, xxx@topcoder.com is an internal email ID, xxx@gmail.com is an external email ID. There might be multiple internal email ID domains.
In the “To:” or “Cc:” field, we can put 20 external email IDs at maximum, but an unlimited number of internal email IDs. Like xxx@topcoder.com, yyy@topcoder.co.jp, abc@topcoder.co.my, xxx@Topcoder.au, xxx@topcoder.ie, xxx@topcoderna.com, billsedison@topcoderservices.com can all be internal email IDs.
(2) User notification message
User notification message when a user puts more than 20 E-Mail addresses in the “To:” or “Cc:” field.
In case a user puts more than 20 E-Mail addresses in the “To:” or “Cc:” field, the user should receive a notification message with the appropriate text.
The message should display in the following 4 languages:
-
English
-
German
-
French
-
Italian
The text of the message is
-
English: Sorry, you can't put more than 20 external Email IDs in this field.
-
German: Es tut uns leid, Sie können nicht mehr als 20 externe E-Mail-IDs in dieses Feld eingeben.
-
French: Désolé, vous ne pouvez pas mettre plus de 20 identifiants de. messagerie externes dans ce champ.
-
Italian: Spiacenti, non puoi inserire più di 20 ID email esterni in questo campo.
The language of the message depends on the current language of the Outlook. So if the Outlook is in English, display the message in English, if the Outlook is in German, then display the message in German, etc.
If the current language of Outlook is not in the list, then display the message in English. For example, if the Outlook is in Chinese, then display the message in English.
(3) Configuration
You should make the following items configurable.
1. Internal email ID domains.
-
You should support multiple internal email ID domains.
-
The number of email ID domains is arbitrary, can be varying from 0 to unlimited.
-
You can configure them in a Javascript array, like
internalEmailDomains = [
"topcoder.com",
"topcoder.jp"
]
2. User notification message content
-
The text of the user notification message should be configurable.
-
It allows adding more languages in the configuration.
-
You can configure them in a Javascript object (map), like
notificationMessasgeText = {
English: "Sorry, you can't put more than 20 external Email IDs in this field.",
German: "Es tut uns leid, Sie können nicht mehr als 20 externe E-Mail-IDs in dieses Feld eingeben.",
French: "Désolé, vous ne pouvez pas mettre plus de 20 identifiants de. messagerie externes dans ce champ.",
Italian: "Spiacenti, non puoi inserire più di 20 ID email esterni in questo campo."
}
3. The maximum limitation number 20 should be also be configurable.Important notes
-
Ensuring programmatic secrets (sensitive information) are not stored along with, or as part of, the source code (e.g. encryption keys, SFA components, MFA components, etc.)
- At a minimum, verification mechanisms must be employed to ensure common security vulnerabilities, as provided in the 'OWASP Top 10' list, are addressed at the time of development.
New to Topcoder? Learn how to compete for a Code challenge https://www.topcoder.com/community/development/how-to-compete
New to Outlook Add-in Development? Here is a quick start tutorial https://docs.microsoft.com/en-us/outlook/add-ins/quick-start?tabs=yeomangenerator
Final Submission Guidelines
-
The full source code of the Outlook Web Add-in.
-
A detailed deployment guide about how to build and deploy your Web Add-in.
-
A detailed verification document
-
A short video to demonstrate your Outlook Web Add-in and verify it meets all the requirements.