6 Convergence Messaging Customization Examples
This chapter provides several examples for customizing the messaging service in Oracle Communications Convergence.
Customization Requirements
To perform any Convergence customization, you should have expert knowledge in dojo and knowledge of UI customization. For more information on general Convergence customization, see "Technical Overview".
Nearly all customization examples require the same setup and preparation.
-
You start by verifying that the c11n_Home directory exists. If it does not exist, create it.
See "Customization Directory Structure" for more information.
-
Next, you verify that customization is enabled in Convergence. If customization is disabled, enable it.
See "Enabling Customization in the Convergence Server" for more information.
-
When you have completed your customization, you must restart the Oracle WebLogic Server for Convergence.
See Convergence System Administrator's Guide for more information.
Changing the Mail Forward Default from As Attachment to Inline
When you click the Forward button to forward an email message, two options display: As Attachment and Inline. If you do not choose either of these options, the default, As Attachment, is selected. This Convergence customization example describes how to change the mail forward default from As Attachment to Inline:
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/mail /c11n_Home/allDomain/nls
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization and i18n customization across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: true, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); dojo.require("c11n.allDomain.js.widget.mail.OpenFolder"); dojo.require("c11n.allDomain.js.widget.mail.OpenMessage");
-
In c11n_Home/allDomain/js/widget/mail, create a JavaScript file (OpenFolder.js) that changes the mail forward default from As Attachment to Inline in the mail.OpenFolder widget.
dojo.provide("c11n.allDomain.js.widget.mail.OpenFolder"); dojo.require("iwc.widget.mail.OpenFolder"); dojo.declare("iwc.widget.mail.OpenFolder", iwc.widget.mail.OpenFolder, { postCreate: function() { this.inherited(arguments); this._origOnForwardMessageInline = this.onForwardMessageInline; this._origOnForwardMessageAttach = this.onForwardMessageAttach; this.onForwardMessageInline = dojo.hitch(this, function() { this._origOnForwardMessageAttach(arguments); }); this.onForwardMessageAttach = dojo.hitch(this, function() { this._origOnForwardMessageInline(arguments); }); }, last: "" });
-
In c11n_Home/allDomain/js/widget/mail, create a JavaScript file (OpenMessage.js) that changes the mail forward default from As Attachment to Inline in the mail.OpenMessage widget.
dojo.provide("c11n.allDomain.js.widget.mail.OpenMessage"); dojo.require("iwc.widget.mail.OpenMessage"); dojo.declare("iwc.widget.mail.OpenMessage", iwc.widget.mail.OpenMessage, { postCreate: function() { this.inherited(arguments); this._origForwardMessageInline = this.forwardMessageInline; this._origForwardMessageAttach = this.forwardMessageAttach; this.forwardMessageInline = dojo.hitch(this, function() { this._origForwardMessageAttach(arguments); }); this.forwardMessageAttach = dojo.hitch(this, function() { this._origForwardMessageInline(arguments); }); }, last: "" });
-
In c11n_Home/allDomain/nls, create a default resource file named resources.js to contain the new labels in the UI.
-
Modify resources.js to include the following code:
{ forward_attach_item: "Inline", forward_inline_item: "As Attachment", }
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Changing Default Folder Mappings for Sent and Deleted Messages
By default, copies of sent messages are mapped to the Sent folder and deleted messages are mapped to the Trash folder. You can change the default folder names for the Sent folder and Trash folder. Users can then map sent and deleted messages to the folder names in the Mail Options General tab.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables i18n customization (i18nEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: true, // true if i18n is customized jsEnabled: false // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); // Change the default folder mappings from Sent and Trash to Sent Messages and Deleted Messages. iwc.systemPrefs.mail.defaultImapSystemFolders.trash = "Deleted Messages"; iwc.systemPrefs.mail.defaultImapSystemFolders.sent = "Sent Messages";
-
In c11n_Home/allDomain/nls, edit resources.js by deleting the sample content and adding the following code:
{ "trash": "Deleted Messages", "sent_items": "Sent Messages", last: "" }
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
In the Messaging section of the UI, the Sent Messages and Deleted Messages folder appear below the Inbox folder.
On the Mail Options General tab, the user can select to copy sent messages to the Sent Messages folder, and can select to move deleted messages to the Deleted Messages folder.
Changing From: Address to Only Include Email Address
This customization example describes how to change the From: address to only include the email address (not cn):
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/mail/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); dojo.require("c11n.allDomain.js.widget.mail.CreateMessage");
-
In c11n_Home/allDomain/js/widget/mail, create a JavaScript file (CreateMessage.js) that changes the From: address to only include the email address.
dojo.provide("c11n.allDomain.js.widget.mail.CreateMessage"); dojo.require("iwc.widget.mail.CreateMessage"); dojo.declare("iwc.widget.mail.CreateMessage", iwc.widget.mail.CreateMessage, { postCreate: function() { // remove the sender id displayname dojo.forEach(iwc.userPrefs.senderidentities.identity, function(id) { id.displayname = ""; }); this.inherited(arguments); }, last: "" });
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Changing or Removing the Signature Separator
When a user composes an email using Convergence, Convergence auto-inserts a signature separator "-- " on a separate line before the user's email signature (if the user has configured an email signature).
You can change or remove the signature separator.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/mail
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); dojo.require("c11n.allDomain.js.widget.mail.CreateMessage");
-
In c11n_Home/allDomain/js/widget/mail, create CreateMessage.js to specify the desired "signatureSeparator".
The default signature separator is "-- ". To remove the signature separator, set it to "".
dojo.provide("c11n.allDomain.js.widget.mail.CreateMessage"); dojo.require("iwc.widget.mail.CreateMessage"); dojo.require("iwc.api"); dojo.declare("iwc.widget.mail.CreateMessage", iwc.widget.mail.CreateMessage, { signatureSeparator: "", last: "" });
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
-
Log into Convergence, create an email signature, and create a new email message. The signature separator is changed.
Modifying Mail Folder Icons in the Service Navigator
This example describes how to customize the mail folder icons in the service navigator.
As with other Convergence elements, your customization can apply to a particular domain, or it can be applied to all domains. The following example uses the allDomain directory to modify the mail folder icons in all domains in the deployment:
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/ /c11n_Home/allDomain/layout/css/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); // Load Customized CSS File Helper var loadCustomizedCssFile = function(url, id) { if (!id){ id = url.replace(/\.\./gm, "").replace(/\//gm, "_").replace(/\./gm, "_"); } var link = window.document.getElementById(id); if (! link) { link = window.document.createElement("link"); link.setAttribute("id", id); link.setAttribute("type", "text/css"); link.setAttribute("rel", "stylesheet"); var head = window.document.getElementsByTagName("head")[0]; head.appendChild(link); } link.setAttribute("href", url + "?" + djConfig.cacheBust); } // Load customized css file c11n_icons loadCustomizedCssFile("../c11n/allDomain/layout/css/c11n_icons.css");
-
Add new icons or an icon sprite (a single image that contains multiple icons) to the c11n_Home/allDomain/layout/images directory. The following table lists the default mail icons and equivalent new, red mail folder icons for the service navigator that are being added in this example:
Table 6-1 Default and New Icons in Service Navigator Example
Icon Default Image New Image New Image File Name Root Folder
options.IconMail_new_red.png
Inbox Folder
optionsIconMail_new_red.png
Shared Folder and Trash Folder Sprite
MailFolders_new_red.png
Sent Folder
treeMailSent_new_red.png
Drafts Folder
treeMailDrafts_new_red.png
-
In c11n_Home/allDomain/layout/css, create clln_icons.css to point to the new image icons or sprite. In this example, the background-image points to the new images in c11n_Home/allDomain/layout/images/:
/* Personal Mail Icon */ .FolderIcons { width: 16px; height: 16px; background-repeat:no-repeat; background-position:top left; background-image:url("../images/treeMailFolderPersonal_new_red.png"); }
/* Root Folder Icon */ .FolderIcons_Root { background-image: url("../images/optionsIconMail_new_red.png"); background-repeat: no-repeat; background-position: center center; background-color: transparent; }
/* Inbox Folder Icon */ .FolderIcons_Inbox { background-image: url("../images/treeMailInbox_new_red.png"); background-repeat: no-repeat; background-position: center center; background-color: transparent; }
/* Trash Folder Icon */ .FolderIcons_Shared { background-image: url("../images/MailFolders_new_red.png"); background-repeat: no-repeat; background-position: 0 0px; background-color: transparent; }
/* Trash Folder Icon */ .FolderIcons_Trash { background-image: url("../images/MailFolders_new_red.png"); background-repeat: no-repeat; background-position: 0 -102px; background-color: transparent; }
/* Sent Folder Icon */ .FolderIcons_Sent { background-image: url("../images/treeMailSent_new_red.png"); background-repeat: no-repeat; background-position: center center; background-color: transparent; }
/* Drafts Folder Icon */ .FolderIcons_Drafts { background-image: url("../images/treeMailDrafts_new_red.png"); background-repeat: no-repeat; background-position: center center; background-color: transparent; }
/* Subscribe to Folder Icon */ .FolderIcons_Subscribed { background-image: url("../images/MailFolders_new_red.png"); background-repeat: no-repeat; background-position: 0 -68px; background-color: transparent; }
-
Restart the Oracle WebLogic Server to clear the browser cache and view the change.
Removing Folder Sharing and Subscribing Menu Options
While you can disable folder sharing and folder subscriptions with the following commands:
iwcadmin -o mail.restrictanyone -v true
And
configutil -o store.privatesharedfolders.restrictanyone -v 1
The Share Folder and Subscribe To Folder menu options still appear in the UI.
To remove these menu options from the UI:
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); // Remove folder sharing and subscribing menu options from the drop-down menus dojo.require("c11n.allDomain.js.widget.mail.Navigator");
-
In c11n_Home/allDomain/js/widget/mail, create the JavaScript customization file (Navigator.js) to remove folder sharing and subscribing menu options from the drop-down menus.
dojo.provide("c11n.allDomain.js.widget.mail.Navigator"); dojo.require("iwc.widget.mail.Navigator"); dojo.declare("iwc.widget.mail.Navigator", iwc.widget.mail.Navigator, { l10n: iwc.api.getLocalization(), postCreate: function() { this.inherited(arguments); var _this = this; // hide the dropdown menu dojo.style(this.folderSubscribeButton.domNode, "display", "none"); dojo.style(this.folderPropertiesButton.domNode, "display", "none"); // create new button for "New Folder" and "Properties" var btnNewFolder = new dijit.form.Button( { label: this.l10n.create_folder, onClick: dojo.hitch(this, "onCreateFolder"), iconClass: "FoldersActionMenuNewFolderIcon" } ); dojo.place(btnNewFolder.domNode, this.folderSubscribeButton.domNode, "before"); var btnProperties = new dijit.form.Button( { label: this.l10n.folder_properties, onClick: dojo.hitch(this, "onFolderProps"), iconClass: "propertiesIcon" } ); dojo.place(btnProperties.domNode, this.folderSubscribeButton.domNode, "before"); // remove any share/subscribe/unsubscribe from context menu dojo.each(this._menuItems, function(o) { _this._menuItems[o.key] = dojo.filter(o.value, function(menuItem) { return (menuItem.label != _this.l10n.folder_sharing && menuItem.label != _this.l10n.unsubscribe_folder); } ); } ); }, last: "" });
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Removing the Local Account Mail Forwarding Option
By default, users can set up their local account to automatically forward all incoming email messages.
You can configure Convergence to remove the Mail Local Account Forwarding option.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/option/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); dojo.require("c11n.allDomain.js.widget.option.Navigator");
-
In c11n_Home/allDomain/js/widget/option, create Navigator.js to include the following code:
dojo.provide("c11n.allDomain.js.widget.option.Navigator"); dojo.require("iwc.api"); dojo.require("iwc.widget.option.Navigator"); dojo.declare("iwc.widget.option.Navigator", iwc.widget.option.Navigator, { postCreate: function() { //call the superclass postCreate this.inherited(arguments); //remove the Vacation Message option //iwc.api.removeOption("/Mail/Local Account/Vacation Message"); //remove the Mail Forwarding option iwc.api.removeOption("/Mail/Local Account/Forward"); //remove Mail Filters option //iwc.api.removeOption("/Mail/Local Account/Mail Filters"); }, last: "" } );
Note:
The code to remove "Forwarding" is iwc.api.removeOption("/Mail/Local Accounts/Forward"); not Forwarding.
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Removing the Move Button in the Mail Open Folder
The following example deletes the Move button in Account Setting in the Mail Open Folder for users in all domains.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); // Delete Move Button in Mail Option Folder dojo.require("c11n.allDomain.js.widget.mail.OpenFolder");
-
In c11n_Home/allDomain/js/widget/mail, create the JavaScript file (OpenFolder.js) which deletes the Move button.
dojo.provide("c11n.allDomain.js.widget.mail.OpenFolder"); dojo.require("iwc.widget.mail.OpenFolder"); dojo.declare("iwc.widget.mail.OpenFolder", iwc.widget.mail.OpenFolder, { buildRendering: function() { // invoke the original buildRendering() this.inherited(arguments); dojo.addClass(this.moveButton.domNode, "dijitHidden"); // remove the button dojo.addClass(this.moveMenuItem.domNode, "dijitHidden"); // remove the menu item }, last: "" });
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Removing the Reply-To Address Option
The following example hides the Reply-To: Account Setting in the Mail option for users in all domains.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/mail/option/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); // Hide replyTo Option from the Mail Account Settings dojo.require("c11n.allDomain.js.widget.mail.option.Identity");
-
In c11n_Home/allDomain/js/widget/mail/option, create the JavaScript file (Identity.js) which hides the Reply-To: option. This example uses the dojoAttachPoint="replyTo" value in the Convergence_Domain/docroot/iwc_static/js/debug/iwc/widget/templates/mail/option/Identity.html file to determine the appropriate location in the DOM-tree to make the modification.
dojo.provide("c11n.allDomain.js.widget.mail.option.Identity"); dojo.require("iwc.widget.mail.option.Identity"); dojo.declare("iwc.widget.mail.option.Identity", iwc.widget.mail.option.Identity, { buildRendering: function() { this.inherited(arguments); // Hide the replyTo option field and the associated text var replyToParent = this.replyTo.domNode.parentNode; // go up one level because this.replyTo is a container widget replyToParent.parentNode.style.display = "none"; }, last: "" });
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Restricting OutGoing Mail with Local Account Identity Parameters
If you do not want to disable external POP account access, but you want to control what appears in the From menu for addressing, the following customization example only allows outgoing mail to use the parameters in the local account identity:
To fully disable POP account functionality and to hide External Accounts in the Options panel in Mail, see "Disabling External POP Account Access" for more information.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/option/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); dojo.require("c11n.allDomain.js.widget.mail.CreateMessage");
-
In c11n_Home/allDomain/js/widget/mail/, create or modify the Javascript file (CreateMessage.js) to only allow outgoing mail to use the parameters in the local account identity:
dojo.provide("c11n.allDomain.js.widget.mail.CreateMessage"); dojo.require("iwc.widget.mail.CreateMessage"); dojo.declare("iwc.widget.mail.CreateMessage", iwc.widget.mail.CreateMessage, { onToggleOptions: function(checked) { this.inherited(arguments); dojo.addClass(this.senderIdSelect.domNode, "dijitHidden"); } });
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Hiding User-Created Folder Names
By default, sent messages are mapped to the Sent folder, deleted messages are mapped to the Trash folder, spam messages are mapped to the Spam folder, and drafts are mapped to the Drafts folder. Users can map their sent messages, drafts, deleted messages, and spam messages to custom folders.
You can customize Convergence such that the custom folder name is hidden and the default name is used.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/nls/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables i18n customization (i18nEnalbed: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: true, // true if i18n is customized jsEnabled: false // true if js is customized // the last entry must not end with comma } }
-
In the /nls directory, create the customization file (resources.js).
-
In resources.js, add the following text strings:
custom_folder_drafts: "Drafts", custom_folder_trash: "Trash", custom_folder_sent: "Sent", custom_folder_spam: "Spam",
This customized resources file inherits the default values in the standard resources file and extends them with the new, custom values. At run time, the resources.js file in the default directory is loaded first; then the resources.js in this customization directory is loaded. Thus, Convergence first loads the standard values (including UI widget labels) in the default resources file; it then overrides those values with any customizations in this resources file.
Similarly, for each language you want to hide the user-created folders, create a language directory and its own resources.js. For example, to hide the user-created folders for French, create resources.js in c11n_Home/allDomain/nls/fr. In resources.js, add the following code:
custom_folder_drafts: "Brouillons", custom_folder_trash: "Corbeille", custom_folder_sent: "Envoy\303\251", custom_folder_spam: "Courrier ind\303\251sirable",
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Adding Additional Spell Checker Dictionaries
When a user clicks on the spell-check button in the Convergence email compose window, the email data to be checked is sent to the configured Messaging Server system, which then scans and detects incorrectly spelt words and offer alternate suggestions back to Convergence.
The user can then select between these alternate suggestions and fix incorrectly spelt words that were detected.
The user is also able to select between several pre-configured Messaging Server dictionaries (English, Spanish, German, French). Additional dictionaries can be added in a two step process.
-
Generating a new ispell formatted dictionary hash which is used by Messaging Server to spell check new emails.
-
Modifying the existing Convergence Spell Check option to include the new dictionary as an option for the end-user.
Although it is possible to create ispell formatted dictionary files from scratch, the process is very time-consuming and is not recommended if a pre-existing dictionary can be found and modified as required.
The following external website has a list of a number of common language ispell formatted dictionaries which can be used as a template for your own custom dictionary:
http://www.lasr.cs.ucla.edu/geoff/ispell.html
For this example we will add an Italian (it) dictionary to Messaging Server and Convergence.
-
Download the Italian ispell dictionary and affix file archive (ispell-it2001.tgz) from the following website:
https://www.cs.hmc.edu/~geoff/ispell-dictionaries.html#Italian-dicts
The required files from this archive are italian.aff and italian.words.
-
Generate the Messaging Server ispell dictionary hash file
Note:
The ispell dictionary hash needs to be created on the system configured in the following Convergence option:
iwcadmin -o mail.host
cd msg_svr_base/lib buildhash dictionary_file affix_file language_name.hash
For example:
buildhash /tmp/italian.words /tmp/italian.aff ./it.hash
Verify that the newly created language_name.hash file has the same permissions and ownership as the existing
language_name.hash files in the msg_svr_base/lib directory.
-
Add new language code to the supported languages list in Messaging Server Run the following command to see the existing list of supported languages.
configutil -o local.supportedlanguages
If you do not see the language_name listed in the above output, add it to the list e.g.
configutil -o local.supportedlanguages -v "[.............,it]"
-
Restart the Messaging server mshttpd process
stop-msg http;./start-msg http
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/widget/ /c11n_Home/allDomain/nls/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) and i18n customization (i18nEnalbed: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: true, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/nls, create the Javascript file (resources.js) to define the localized label for the "Italian" dictionary.
{ options_global_it : "Italian", // Added Italian ("it") to the list of available dictionaries. // The "it" language code must match the {{it.hash}} file added to Messaging Server. last: "" }
-
(Optional) To make the label different for each locale, do the following:
-
Add a localization directory for the locale. For example:
c11n_Home/allDomain/nls/it
-
In c11n_Home/allDomain/nls/it/, create a Javascript file (resources.js) in the specified locale to display the label. For example:
{ options_global_it : "Italiano", // Added Italian ("it") to the list of available dictionaries. // The "it" language code must match the {{it.hash}} file added to Messaging Server. last: "" }
-
-
Restart the Oracle WebLogic Server and clear the browser cache to see the change.
Customizing the Attachment Blacklist and Whitelist
You can customize the Oracle Outside In Transformation Server blacklist to prevent certain types of attachments from being sent to the transformation server, such as ZIP files or EXE files.
Also, you can customize the Oracle Outside In Transformation Server whitelist to specify types of attachments that are sent to the transformation server, such as DOC files or XLS files.
Each time an attachment preview is requested by a user, the Outside In Proxy consults both the blacklist and the whitelist to determine whether to send the attachment to the transformation server.
See Convergence System Administrator's Guide for more information about Outside In Transformation Server.
To customize the transformation server blacklist or whitelist:
-
Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
-
Verify that customization is enabled in Convergence. If customization is disabled, enable it.
-
In c11n_Home, verify that the following directories exist. If they do not exist, create them:
/c11n_Home/allDomain/js/
-
In c11n_Home, verify that config.js exists. If it does not exist, create it.
-
Modify config.js so that it enables JavaScript customization (jsEnabled: true) across all domains (module: "allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module: "allDomain", // module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if i18n is customized jsEnabled: true // true if js is customized // the last entry must not end with comma } }
-
In c11n_Home/allDomain/js, create or modify customize.js (the domain specific customization) to include the following code:
iwc.config.oin mimeTypes: { whiteList: [ ["*", "*"] ], blackList: [ // ignore exe and zip files ["application", "octet-stream"], ["application", "x-msdownload"], ["application", "x-compressed"], ["application", "x-zip-compressed"], ["application", "zip"], ["application", "x-zip"] ] }
-
To customize the whitelist:
In customize.js, add or remove file types after the line
whiteList: [
.By default, the whitelist consists of the code
["*", "*"]
, which means that all attachment types (excluding those in the blacklist) are sent to the transformation server.You can update the whitelist to enumerate a limited and specific list of attachment types. For example, to allow only DOC, XLS, and PPT attachment types to be sent to the transformation server:
whiteList: [ ["application", "doc"] ["application", "xls"] ["application", "ppt"] ],
-
To customize the blacklist:
In customize.js, add or remove file types after the line
blackList: [
. For example, to prevent PDF files from being sent to the transformation server:blackList: [ // ignore exe and zip files ["application", "pdf"], ["application", "octet-stream"], ["application", "x-msdownload"], ["application", "x-compressed"], ["application", "x-zip-compressed"], ["application", "zip"], ["application", "x-zip"] ]
-
Restart the Oracle WebLogic Server.
Increasing Corporate Address Book Entries in Email Autocomplete
When composing an email and typing popular names in the 'To:' field, the Corporate Directory users are shown in the autocomplete results. The following example shows how to increase the number of entries listed in autocomplete.
- Verify that the c11n_Home directory exists. If c11n_Home does not exist, create it.
- Verify that customization is enabled in Convergence. If customization is disabled, enable it.
- In c11n_Home, verify that the following directories exist. If they do not exist, create them: /c11n_Home/allDomain/js/widget/addressBook
- In c11n_Home, verify that config.js exists. If it does not exist, create it.
- Modify config.js so that it enables JavaScript customization (jsEnabled: true)
across all domains (module:
"allDomain").
dojo.provide("c11n.config"); c11n.config = { // allDomain configuration allDomain: { module:"allDomain", //module name themeEnabled: false, // true if theme is customized i18nEnabled: false, // true if js is customized // the last entry must not end with comma } }
- In c11n_Home/allDomain/js, create or modify customize.js (the domain
specificcustomization) to include the following code:
dojo.provide("c11n.allDomain.js.customize"); dojo.require("c11n.allDomain.js.widget.addressBook.EmailComboTextarea");
- In c11n_Home/allDomain/js/widget/addressBook, create or modify EmailComboTextarea.js
to include the following
code:
dojo.provide("c11n.allDomain.js.widget.addressBook.EmailComboTextarea"); dojo["require"]("iwc.widget.addressBook.EmailComboTextarea"); dojo.declare("iwc.widget.addressBook.EmailComboTextarea", iwc.widget.addressBook.EmailComboTextarea, { entryCount:20, additionalSearch Count:20, last: '' });
Note:
Replace 20 with whatever number you want to use. By default the number of search entries per page is 10. When entryCount is increased additionalSearchCount also needs to be increased. - Restart the application server and clear the browser cache to see the change.