How do I replace the TinyMCE editor?

Permalink 1 user found helpful
I've had it with the TinyMCE editor. Instead of helping me do work it simply gets in my way by reformatting HTML in a way I don't like or making certain constructs I include in my pages disappear altogether.

I found another editor that I think I will like far more and would like to replace the TinyMCE editor altogether both for myself and my clients who I hope to convince to let me create their sites with C5.

How integrated is the TinyMCE editor into the C5 core?

If this is doable albeit perhaps not easy can someone point me to the files where I would need to make changes? Core or not I don't care. I want to get rid of the bother that the TinyMCE editor has become.

It was one of the things I liked least about WordPress and I definitely like it even less now that I have been working with C5 for a while.

Any input on this would be appreciated.

Thanks.

Carlos

View Replies: View Best Answer
agrajag replied on at Permalink Reply
I couldn't agree more. I was demlong a new site for a client this morning, touting the usability of concrete5. Then we came to the part of the demo where I was going to show how simple it is to edit content using tinymce, and that's when it all started going wrong...

It's a seriously flawed editor and we could really do with some instructions on how to replace it.
ScottC replied on at Permalink Reply
ScottC
it's definitely possible but I don't know how hard it'd be until I actually got into it.

The main issues are just replicating what was done to get tinymce to accept the concrete5 toolbar stuff.

This is a promising candidate:http://ckeditor.com/
Smittie replied on at Permalink Reply
Smittie
Ditto ScottC wrt CKEditor.
jordanlev replied on at Permalink Best Answer Reply
jordanlev
I agree that TinyMCE is often problematic. I am not sure there's anything better though, because it does include a lot of useful functionality that doesn't exist in simpler WYSIWYG editors (Paste from Word Doc, manipulate table rows and columns, position images in the flow of your text, resize images, keyboard shortcuts, custom style rules, etc.).

Carlos, what editor is it that you're looking at that you like better?

The CKEditor that Scott mentions below I believe would suffer from the same problems that TinyMCE does (they are both the "big guys" in the WYSIWYG editor space, it used to be called "FCKEditor", but it still has all of the legacy bloat and garbage -- and multitude of features -- that TinyMCE does).

The difficulties of working with TinyMCE is what prompted me to create the Designer Content addon (http://www.concrete5.org/marketplace/addons/designer-content... ) -- depending on the layout of your site and how much control vs. flexibility you want the users to have, it can go a long way to minimizing the need for TinyMCE's wonky features.

If you do want to implement your own editor, it would be pretty easy to do at a basic level -- just figure out how it works, create a block with the editor in the add/edit.php templates, save its content to a single field in the database, and display the contents of that field in the block's view.php file. But if you want it to be as fully-integrated into C5 as TinyMCE is, the two big features you need to add are:
1) Concrete5 toolbar (insert image, insert file, insert link to page)
2) Content replacement for internal links and image/file paths (so links don't break if you change the site URL).

Number 2 probably isn't too bad because you can just copy out the functions in the built-in Content block (but you'll probably have to do some tweaking if the WYSIWYG editor you chose does its own content modifications that the C5 functions wouldn't recognize). Number 1 is going to be a bigger challenge. The toolbar itself is fairly well separated out into its own element (concrete/elements/editor_controls.php), but you will need to hook up whatever javascript it does to your WYSIWYG editor to insert its output into the content field (and maybe hook it up so you can edit existing files/images/links in the content).

It's going to be quite a bit of work, but if this functionality could be extrapolated out from the Content block / TinyMCE, it would mean the addition of all kinds of WYSIWYG editors would be possible, which would be awesome (TinyMCE would still be the default but you could choose from a number of other ones in the marketplace).

So yeah, I hope you can achieve this ambitious goal, as it would be a huge benefit to the community.

-Jordan
carlos123 replied on at Permalink Reply
Thanks for the encouragement and input you all (especially you Jordan).

The editor I would like to try and replace TinyMCE with is called whizzywig (http://unverse.net/Whizzywig-web-based-rich-text-editor).

I've played around with it some and it seems to fit my needs much better than the TinyMCE editor.

I realize the TinyMCE editor has some frills to it that are handy but most of those things I don't think I will need. Worse comes to worse I can create a short tutorial on changing things like links manually in the content created with another editor for clients. I know that might be a pain for really large sites but most sites that I work on right now are really small. Like under 10 pages in total so it's not that big of a deal.

Clients who are not used to the way TinyMCE does some things automatically won't even miss it since they would never have used it. Using my editor replacement instead.

More importantly I won't have to field support requests related to them having messed something up through TinyMCE by accident as much (though some of that is inevitable no matter what editor is chosen I think). Mind you that's never happened to me yet (even with WordPress using TinyMCE) but from what I understand by lurking on this forum and reading what others have said...it seems to happen all too often.

Anyway I will work on this editor replacement business as soon as I get the chance. Right now I have been contracted to redo a site big time and I am going to try and convince the client to let me do it in Concrete5 as opposed to WordPress. It will be my first client site using Concrete5.

I need to work on the contact form functionality first to make sure it's flawless before I start trying to tackle something like this.

Carlos
programmieraffe replied on at Permalink Reply
programmieraffe
Hey devs!

Any news on that? Has somebody implemented ckeditor or something else?

I don't really know if ckeditor is nicer/better than tinymce, but I think documentation for plugins looks definitely nicer for ckeditor:

http://www.tinymce.com/wiki.php/Creating_a_plugin...http://docs.cksource.com/CKEditor_3.x/Tutorials/Timestamp_Plugin#Cr...

Does anyone know if c5 does realize image/link-handling with tinymce plugins or with custom buttons above tinymce? Had no time to dig in that code.

One thing I would really like to see for my customers is a "Add thumbnail with lightbox"-button in the content block. And i now try to figure out where I should spend my time and dig into plugin creation tinymce or ckeditor...

Cheers,
Matthias