No hyperlink button to create links in WYSIWYG Editor? | [emails]

So this has annoyed me for a while. There is no hyperlink button in the WYSIWYG editor, (leads --> click email --> email module)?


Is there a way to add it or enable it features like that in the WYSIWYG?
I both tried Moziak and TinyMCE but there is no change. you only have those very basic options as per the screenshot above.

Thanks in advance for help with this.

Kind regards
PowerQuest

@PowerQuest
Look at the post: Email Composer (TinyMCE)
And add ‘link’ as to plugins of of the same file
before:

plugins: "fullscreen",

after:

plugins: "fullscreen,link",

Thanks a bunch @p.konetskiy !

I will do that and see if I can get it working.

By the way…
When i switch between Moziak and TinyMCE is see no actual change in the layout. It just looks the same as my screenshot above. Is that normal?

I mean for example when you switch between Tiny in WordPress and the native WP classical editor there is a huge change in layouts and options. But in SuiteCRM it doesn’t seem to be any difference?

Also is there a list of other things you can enable somewhere like image button etc?

Thanks…

Kind regards
PowerQuest

@PowerQuest
The Moziak and TinyMCE use designe of Suite. I didn’t analyze all working of editors but you can find all plugins of TinyMCE there: include/javascript/mozaik/vendor/tinymce/tinymce/plugins

Thanks you very much @p.konetskiy for your kind help.

Kind regards
PowerQuest

Well I added the line:
plugins: "fullscreen,link,unlink",
and it doesn’t work. The system doesn’t load the hyberlink button features.

It did however load the extended toolbar:
toolbar: ['fontselect | fontsizeselect | bold italic underline | styleselect | bullist | numlist'],

I don’t understand why these feature isn’t enabled by default. At least there should be an admin back-end where you could chose the TinyMCE features to be turned on or off. Having such limited options is really annoying and makes you think of switching system to be honest. This is in my mind really basic stuff that should work out the box in my humble opinion.

Kind regards
PowerQuest

@PowerQuest
I should wrote more detail.
The arrays are:

 // list objects which don't included to base editor (unlink include to link object)
plugins: "fullscreen,link"
 // list  objects which use into form (last params: link & unlink)
toolbar: ['fontselect | fontsizeselect | bold italic underline | styleselect | bullist | numlist | link | unlink '],

A few clarifications on this, from what I gathered while working on my PowerReplacer add-on which uses templates:

  • the user profile option for the Editor affects the Email Templates module, but not the Email Compose window in Emails module (or launched as a pop-up from other modules’ Activities subpanels). My add-on solves this, and it was a lot of work to get it working, there’s some pretty messed up code in there.

  • I also moved the TinyMCE configuration to be more independent, and I plan to make it work as @PowerQuest suggested, allowing for simple ways to customize, and allow for different customizations when TinyMCE is called from different modules.

Initially I had a bad impression of TinyMCE but if we use the latest versions, allow for all its config options to be used, and make sure we don’t ruin the HTML with our “security” clean-up functions improperly used, then it’s actually a very nice, feature-rich editor.

1 Like

Yes please @pgr

Please update the system so there is full editor. I see no reason nor understand why it should not be there out of the box just like in other CRM’s or CMS like WordPress for example:


In all other CRM’s Hubspot oe even in Sugarcrm the WYSIWYG editor enabled with the most common features from the start by default.
Why should not SuiteCRM be the same and user friendly out of the box? :thinking:

In WordPress as an example again you can also in the admin back-end setup for all users which features of TinyMCE that is globally available for the users:

In Hubspot it is pretty much the same as another example:
image

Kind regards
PowerQuest

This is not easy at all, because there are several different versions of TinyMCE in Suite, and the code to apply the user-defined editor is only half-done. Some screens were never programmed to apply it, they always use a fixed editor.

The code I am doing goes into my add-ons. If enough people sponsor me, I keep developing it, and eventually it goes into Core code. But to be honest, I am not seeing that happening, I am getting by with around 100 € per month for the past 4 months. Unless my SponsorWare scheme starts taking off, eventually this will come to an end and I will go do something else. If you want this feature, consider sponsoring, even for a small amount, and spread the word.

After digging a bit deeper into your profile I do see what you mean. It is problematic indeed. How active is really the development of SuiteCRM really or is salesagility putting the money and efforts somewhere else?

That Is just ridiculous and sounds insane. Why have they done that? Doesn’t make sense to me. Using one and the same makes logical sense, right?

Kind regards
PowerQuest

I’ll start by answering this one…

It’s a big they. Many people, over many years of developments. Some of the code in SuiteCRM is quite excellent, some of it sucks, and TinyMCE integration I would say is one of those nasty areas. Got off to a bad start, then whenever people added it in one more screen they would avoid the mess by starting over, thus creating a bigger mess.

My ongoing list of Places where TinyMCE is used:

  • email templates edit view
  • user profile, email settings, signatures
  • emails module, compose
  • PDF Templates module
  • KB module
  • campaigns wizard, inline when editing the templates
  • Cases module, threaded updates
  • several Description fields in several modules

There are probably more that I haven’t discovered yet.

The approach I started to take is to

  1. Make the user-configured editor a proper SugarField, to ensure that the entanglement with the View code is done properly, not with specific hacks to every screen (usually quite ugly, since they require both HTML and JS)
  2. Make the TinyMCE configuration independent of the code, and make it extensible by users

I’ve done this for a couple of templates screens, but I won’t call my approach “successful” until I’ve implemented it in a few more screens (I might get stuck and find out it’s not a workable solution).

I don’t really know. I see that GitHub is much less active than it should be, since January. I know that Covid didn’t help at all. I know that there is serious money and efforts going into Suite8, which is mostly UI work.

My personal approach is this: instead of just complaining that SA should do more, I try to be thankful for what they do. It’s a lot. But I do feel the pain of the slowdown in the project, and I think much more needs to go into Suite8 besides UI work.

That’s why I launched my SponsorWare campaign, idealistically thinking that the Community could back me (many small sponsorships providing a nice added up value) so I could work on those things that I believe are high among people’s priorities. Robustness, eliminating current pain points, Email, etc.

I want the community to hire me as the extra developer that SuiteCRM needs :slight_smile:

1 Like

Thanks a lot @pgr for explaining this as this makes me understand things more.

Well for users like me it more also a question if you should base your company on a system that is slowing down or not. Can you trust its future development and stability etc? It cost money to change system and it cost money to start using a system etc. So you want to be certain as company owner. I do like your idea though and I hope I can contribute and buy your addons because they do look really useful and cool. :sunglasses:
As a startup like mine you need some check boxes ticked off first before you can do something like that though. :wink:

With regards to the tinymce mess. How about starting a local community crowdfunding to fund a cleanup of that “crap code”?

There must be interest by all SuiteCRM users e.g. the companies to make this be fixed so it is more user friendly both for the admins and for the end-users?

Kind regards
PowerQuest

1 Like

That’s me - a crowdfunded developer who knows SuiteCRM deeply, and is motivated to start fixing it up ASAP :smile:

1 Like

Hi @pgr
Well I mean more like an official “donate” thread or something that announcees this to the whole SuiteCRM community. Heck it even could be the the Patreon platform, for example. Revive Adserver (former Open X community edition) uses Patreon too:

It might work good for this too… :smirk:

Kind regards
PowerQuest

1 Like

Hey @pgr
I hope you are having a good day…

Just a quick question. I had not success with trying to add the hyberlink button etc. I did however mange to enable the toolbar menu but changing the value from “false” to “true” and that sort of works because there is a hyberlink feature in that.


But I do also really need to enable the html source button too so i can copy/paste some code snippets into my emails. (Some marketing stuff)

  1. Do you have any idea on how to do that?

  2. Also do you have any idea why the system refused to add the other button? If you have have any idea/suggestion what it could be that could lead me in the right direct it would be greatly appreciated.

Kind regards
PowerQuest

@PowerQuest
I don’t understand, where do you have a problem? I added the buttons in 3 minuets.

I don’t understand, where do you have a problem? I added the buttons in 3 minutes. Look at my changing in file ‘modules/Emails/include/ComposeView/EmailsComposeView.js’

...
  $.fn.EmailsComposeView.defaults = {
    "tinyMceOptions": {
      skin_url: "themes/default/css",
      skin: "",
/* add plugins */
//      plugins: "fullscreen",
      plugins: "fullscreen,link, paste",
/*  */
      menubar: false,
/* add button to toolbar */
/*      toolbar: ['fontselect | fontsizeselect | bold italic underline | styleselect'], */
      
      toolbar: ['fontselect | fontsizeselect | bold italic underline | styleselect | bullist | numlist | link | unlink | undo | redo | copy | paste'],
/*  */
      formats: {
        bold: {inline: 'b'},
        italic: {inline: 'i'},
        underline: {inline: 'u'}
      },
      convert_urls:true,
      relative_urls:false,
      remove_script_host:false,
    }
  };
...

I did exactly that and hmm nothing happened on my side. But to be fair I had not turned on the “developer mode” when i did it and uploaded the changes through ftp.

The only thing that worked was:

menubar: true,
/* add button to toolbar /
/
toolbar: [‘fontselect | fontsizeselect | bold italic underline | styleselect’], */

That was enabled directly.
But the normal buttons refused to show up.

Kind regards
PowerQuest

@PowerQuest

Do you add plugins: “link” and “paste”?

...
/* add plugins */
//      plugins: "fullscreen",
      plugins: "fullscreen,link, paste",
/*  */
...

Use or not “developer mode” does not matter. You can load or edit files as you want.

No, I only added “link


/* add plugins /
// plugins: “fullscreen”,
plugins: “fullscreen,link,”,
/
*/

I did try to add some other plugins too by looking into the tinymce plugin folder/plugin code. That didn’t work well either. But I might done something wrong of course when testing with the others.