I finally managed to get our instance upgraded from 7.8.31 to 7.11. Turned out to be no small feat but it’s done and I celebrated and drank.
Everything was going pretty well but I have had numerous people come to me today about a couple features that it seems we may have overlooked before we chose to upgrade. :dry:
First, in 7.8 we could insert our signatures to the bottom of an e-mail that had a template inserted. Now, it strips the signature and I can find no way to include it back. Our workaround at the moment is to open 2 tabs so we can copy and paste email templates/signatures to preserve both. Yuck! :sick:
Second, the compose email modal is missing very basic operations such as insertion or modification of a hyperlink. Am I missing something here? I thought maybe it was another caching bug from the upgrade so I tested the demo on SuiteCRM.com and found no way to include a link either. :blink:
I hope I am missing something obvious here. Email is a big part of our CRM usage and not being able to use signatures or hyperlinks is not quite a step forward for us.
In the user’s profile, in the first tab, at the bottom, there are options to select Email editor. Try changing it there to see if it helps.
If that doesn’t work, one thing I would like to make sure is that you have the latest versions of the 3rd party software installed (this will include the HTML email editor).
Normally these come with th upgrade packages but for some reason a big upgrade like yours maybe didn’t get this right.
You need to have full backup of your “vendor” directory, install “composer” if you don’t have it yet, and run it from your SuiteCRM root with
composer install --no-dev
Do NOT run “composer update” command.
Tell me if this makes a difference. I’m hoping you will get a way to add links.
About the signatures: are you saying you can’t add a signature at all, or that it’s there, but then you lose it when you select the template?
I have tried changing the editor in user preferences (though it only changes for the template editor). This did not not help.
I backed up my vendor directory and ran
sudo -u www-data composer install --no-dev
because
composer install --no-dev
gave me permission errors.
The output of
sudo -u www-data composer install --no-dev
was:
Cannot create cache directory ~/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory ~/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Installing dependencies from lock file
Nothing to install or update
Generating optimized autoload files
> rm -R -f vendor/elasticsearch/elasticsearch/tests/Elasticsearch/Tests
I then ran a Quick Repair and Rebuild as well as rebuild JS files and logged out and then opened in a private browsing window. I still cannot find any way to insert links or maintain a signature with a template.
Should I have deleted the vendor directory before I ran composer install?
This is log output when I navigate to the email module and then click compose.
Wed Jul 10 11:37:42 2019 [94601][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 11:37:42 2019 [94601][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] ImapHandler trying to use a non valid resource stream.
==> /var/log/apache2/my.site.com-error.log <==
[Wed Jul 10 17:37:47.161056 2019] [core:info] [pid 48992] [client 140.82.163.214:64560] AH00128: File does not exist: /var/www/my.site.com/jquery.qtip.min.js.map
==> /var/www/my.site.com/suitecrm_10_07.log <==
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() expects an outbound email id as stored option of inbound email (e5274c57-f27b-86f7-fcd8-5a0a27645abd) but it isn't valid.
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() panic: An error occurred! (203)
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] Incorrect "replay to" format found: gunnerman@site.com
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() error: 205
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] Signature html not found!
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] Signature plain text not found!
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() is Panicking: Reply-To address is not filled.
Wed Jul 10 17:38:02 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 17:38:02 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 17:38:03 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 17:38:03 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
I also receive the following warnings in my browsers console though I am not sure this has any bearing on the issue.
Failed to decode downloaded font: <URL>
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Regular.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Regular.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Bold.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Bold.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Light.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Light.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Italic.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Italic.ttf
jstree.js?v=U2IsIAJ3h0L4HdTAMSQCbA:8419 [Deprecation] document.registerElement is deprecated and will be removed in M73, around March 2019. Please use window.customElements.define instead. See https://www.chromestatus.com/features/4642138092470272 for more details.
(anonymous) @ jstree.js?v=U2IsIAJ3h0L4HdTAMSQCbA:8419
sugar_grp1_jquery.js?v=U2IsIAJ3h0L4HdTAMSQCbA:4 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
You can delete the vendor directory, yes, though it shouldn’t be necessary.
You need to work around the permissions problems, though there are several ways to do it and it depends on your installation. Sometimes I lose my patience and just set everything to very permissive, or run the install as root, and then when it’s over I set the ownerships back to www-data and the permissions to something more sane (and safe).
That just makes sure you’re not running old deprecated 3rd party software. But now that you found specific error messages in the logs, I would say you have a different problem. We should try figuring out which of all those errors is the root problem - which happens first in a given interaction (like saving a settings screen, for example), and then work from there to try and solve it.
I’ve never seen these messages:
Signature html not found!
Signature plain text not found!
Maybe you can try looking for them in the code and perhaps adding more information to the command that is logging them (which file is it looking for?)
I managed to clear up most of those errors by removing all email accounts and re-adding them.
The
ImapHandler trying to use a non valid resource stream
message was coming from a call to
setStream
by
public function open($mailbox, $username, $password, $options = 0, $n_retries = 0, $params = null)
in include/Imap/ImapHandler.php. I didn’t dig farther than that as this seemed to be cleared up when I removed the email accounts.
Still, I don’t see any way to insert links into emails on our instance or on the demo site provided on suitecrm.com. This is all I see, no matter what email editor I have selected in user preferences.
When an email is sent, the from name is set to “Root User”, the default set in ./vendor/phpmailer/phpmailer/src/PHPMailer.php. We have set the “From Name” in the outbound email account(s) and it is set properly when “Send Test Email” is used.
Note that the editor I used to send that link was TinyMCE, not Direct HTML. I don’t trust the Editor selection setting at this point, so I just look at the HTML to see if it has a bunch of “mce” classes.
The other bug (Root user in From name) I believe is fixed in the latest 7.11.6 (or maybe in the upcoming 7.11.7?). You will find mentions of this problem on Github.
Sorry, I wasn’t clear. What I meant about looking at the HTML in that sentence was: open your browser’s developer console, and inspect the page’s HTML to see if it has a bunch of stuff mentioning “mce”, which is a sign of which editor you really have loaded.
I am still flabbergasted that someone thought it would be a good idea to remove such basic formatting functionality. :huh: The only reason we upgraded was because 7.8 mishandled non-breaking spaces in email templates sent to a non-test target list. Jumped from the frying pan to the fire with this upgrade.