Email: Change from comma to semicolon?

Hi.

Sugar has this very cool feature that one can email to many people at the same time by selecting the appropriate Contacts in List View, then click on the arrow and choose Email. However, the deliminator (seperator) is comma ( , ) but Outlook prefers (sure it can be configured) semicolon ( ; ).  

Can this be changed system wide?

How?

Thanks guys and have a spectacular weekend

KGM

Parents
  • Hi Kristjan,

    As i seen this parameter(email_address_separator) in config.php.It is set to comma(,)

    I think we can override this parameter in config_override.php like below

    $sugar_config['email_address_separator']=";";
  • 1st of all there is an option in Outlook which allows comma as address separator, so if you set that option all commas will be replaced by semicolons.

    If you really want to change the comma in Sugar to semicolon you must patch a core file which is not upgradesafe.

    This file is \include\javascript\sugar7\plugins\EmailClientLaunch.js

    I function _formatRecipientsToString you find the definition of the delim_char which is ',' by default.

    If you change the defintion to:

       _formatRecipientsToString: function(recipients) {
          var emailDelim = ';',
          emails = [],
          email;

    the email addresses will be separated by ";" globally.

    Harald Kuske
    Principal Solution Architect – Professional Services, EMEA
    hkuske@sugarcrm.com
    SugarCRM Deutschland GmbH

  • Thanks kuske for this. So it´s not upgradesafe - that´s good to know.

    I was aware of the Outlook option but to change each and every Outlook for over 75 users is not as practical as changing a Sugar setting in one place  That was the use case/thought. I´ll have to think some more about this. Too bad this isn´t an option somewhere in Admin (along with default mail client).

    Have a great night!

    KGM

  • Actually you can override EmailClientLaunch from plugin list by some other custom plugin having the code fixed accordingly.

    André Lopes
    Lampada Global
    Skype: andre.lampada
  • Hi André, how would you propose to implement that in detail? A custom plugin which is replaced in all occurrences where the EmailClientLaunch plugin referenced?

    Greetings to Brazil!
    Harald

    Harald Kuske
    Principal Solution Architect – Professional Services, EMEA
    hkuske@sugarcrm.com
    SugarCRM Deutschland GmbH

  • Hi

    Find the steps:

    1. Create a custom plugin based on EmailClientLaunch, modifying the custom one as per your previous comment.
    2. Identify all js controllers where it is loaded in ( find -name "*.js" | xargs grep -n "'EmailClientLaunch'" 2>/dev/null | grep -v "cache" | sort )
    3. For each js controller create its custom version, override the method initialize in order to replace "EmailClientLaunch" in the plugin list by the custom one.
    4. Make sure you run all appropriate repair actions.

    I'm afraid it is not possible to extend a plugin itself , so it is required to replace it that way.

    As Mando said several times: "This is the way".

    Slight smile

    André Lopes
    Lampada Global
    Skype: andre.lampada
  • Thanks a lot @André,

    so the list of customizations for me looks like this one (version 10.1):

      ...\clients\base\fields\email\email.js (1 hit)
    Line 32:     plugins: ['ListEditable', 'EmailClientLaunch'],

      ...\clients\base\fields\emailaction\emailaction.js (1 hit)
    Line 29:         this.plugins = _.union(this.plugins || [], ['EmailClientLaunch']);

      ...\clients\base\fields\mass-email-button\mass-email-button.js (1 hit)
    Line 35:         this.plugins = _.union(this.plugins || [], ['EmailClientLaunch']);

      ...\clients\base\views\activity-timeline\activity-timeline.js (1 hit)
    Line 18:     plugins: ['Dashlet', 'EmailClientLaunch', 'LinkedModel'],

      ...\modules\Emails\clients\base\fields\quickcreate\quickcreate.js (1 hit)
    Line 23:         this.plugins = _.union(this.plugins || [], ['EmailClientLaunch']);

    That's what I wanted to match. 

    Harald Kuske
    Principal Solution Architect – Professional Services, EMEA
    hkuske@sugarcrm.com
    SugarCRM Deutschland GmbH

Reply
  • Thanks a lot @André,

    so the list of customizations for me looks like this one (version 10.1):

      ...\clients\base\fields\email\email.js (1 hit)
    Line 32:     plugins: ['ListEditable', 'EmailClientLaunch'],

      ...\clients\base\fields\emailaction\emailaction.js (1 hit)
    Line 29:         this.plugins = _.union(this.plugins || [], ['EmailClientLaunch']);

      ...\clients\base\fields\mass-email-button\mass-email-button.js (1 hit)
    Line 35:         this.plugins = _.union(this.plugins || [], ['EmailClientLaunch']);

      ...\clients\base\views\activity-timeline\activity-timeline.js (1 hit)
    Line 18:     plugins: ['Dashlet', 'EmailClientLaunch', 'LinkedModel'],

      ...\modules\Emails\clients\base\fields\quickcreate\quickcreate.js (1 hit)
    Line 23:         this.plugins = _.union(this.plugins || [], ['EmailClientLaunch']);

    That's what I wanted to match. 

    Harald Kuske
    Principal Solution Architect – Professional Services, EMEA
    hkuske@sugarcrm.com
    SugarCRM Deutschland GmbH

Children
No Data