Altough I already have written about it here I would like to emphasize the importance regarding the possibility to integrate CKEditor in popular js frameworks that don't have a good html editor (yet).
jQuery doesn't really have a RTE. They have some half-baked, not ready for production solutions (WYMeditor, wysiswyg and others) which are buggy and not very feature rich. There are of course plugins to integrate FCK and tiny but these aren't tightly integrated, especially not with jQuery UI.
ExtJs has only it's own RTE which is limited and people are beginning to write extensions for (only a few). And there are also the integration plugins which IMHO the tinyMCE one currently wins.
YUI has IMHO a decent RTE which is expandable but isn't as feature rich as FCK. I don't know the Dojo editor that good...
The story seems always the same. It is very hard to create a good RTE! Because of lack of time, dedication, browser differences/bugs/annoyances, usability issues, etc... I don't know really. But it is obvious that in almost every js framework project there is a need for a RTE and if there isn't one (which there isn't) people start to try to integrate one of the existing solutions or they try to build their own but that almost never succeeds. How many of these have survived?
WYMeditor is (almost) dead. Nicedit hasn't seen any development since March, there is no writable public repository and the developer is absent from the forum since more than 2 months.
So... Why do I think the integration of CKEditor into JS frameworks like Ext or jQuery or dojo is so important? Because:
- There is no editor that can do it today. There are a few editors out there that can be integrated but there isn't one that can do it right. There's no competition here (yet). Be the first, get the fame.
- Attract professional JS developers. A lot of people are using current RTE editors, from the hobbyist to the professional. JS frameworks attract especially professionals. Getting them involved in the project or gaining them as new users means not only having a broader user base but also more quality bug reports and maybe one or two or twenty future plugin or core developers.
- The users want it too. Users are always complaining about the missing of a RTE. And I'm sure there are more than a few developers out there, that are willing to help on this.
- Framework lead devs want it too. Having a new shiny feature in your library without having to maintain it, great! But there might be licensing issues (jQuery is licensed MIT/BSD)...
I saw that there are scripts for server side integration. Why not create integration scripts for the JS frameworks? Doesn't this make more sense? Because then you're attracting people with skills that this project can use.
Summary: Tight integration with JS frameworks leads to a lot of fame, new users and professional js developers which are able to give back. Which leads to a better project after all I think it's a win-win and now is the best time to lay the groundwork.
(i hope this made sense... it's 2am now...)
Re: jQuery UI, ExtJs integration
Yes, providing integration for javascript frameworks, CMS, blogs and everything that you can think of it's very useful and interesting, but don't forget the most important point: the person that does the integration must be a user of the end system, he must know the way it works, how the preferences should be exposed, what kind of installation steps can be done.
Let's imagine that I say, Ok, I'm gonna integrate it in ExtJS, first I would need to spend a time downloading, testing and reading just how ExtJS works, then I will move to read the docs about how to do the integration and write the code.
That's all?
Not of course, now I have to use it, to test that it works. Provide it to the ExtJS community and listen to their feedback, adjust whatever problem arises, bring new features in the integration per user's request.
And when a new version of FCKeditor is released then I must go back to that integration and verify that everything keeps working, add the new features to the preferences...
Just for one framework
Meanwhile I couldn't have helped in the main core, and I can bet that doing a proper integration with any framework does it takes more than just some hours, add now the support time after the integration is released.
As I said, if you want integration you can't ask just one side. The people that use that framework and are interested in this code are the ones that should move forward in order to have a great system.
Check this page: http://docs.fckeditor.net/FCKeditor_2.x ... tion/Other for example the WordPress integration. He is a user, so he knows what he wants and how it must be done. He keeps it updated.
If someone is hired just to make an integration he will do whatever it's spec'ed and then he will forget about it.
Re: jQuery UI, ExtJs integration
But, it doesn't mean that you, thatvetguy, is wrong with your idea. This is btw planned.
For JavaScript frameworks and libraries, we are planning having "adaptors". Each adaptor will inject CKEditor inside the library stuff, making it easy for library users to use it. The first one to be developed is much probably jQuery. After the experience with that, we'll move forward over other libraries.
For application integration instead, there are some efforts at our side for it. As Alfonso said, this work should be done not only by us, but involve the application devs too. We'll be doing that for phpBB, Drupal and MediaWiki.
In all integration efforts, the first huge step is making it work at 100%. At that point, people start using it. It must be at 100%, not 90%, because users must be really satisfied with it. At that point, they will be willing to collaborate with us, and the maintenance of it can move to their hands.
To conclude... we have all this in our head too. Right now, we are focused on the CKEditor release. After that, we'll be able to work on it too.
Frederico Knabben
CKEditor Project Lead and CKSource Owner
--
Follow us on: Twitter | Facebook | Google+ | LinkedIn
Re: jQuery UI, ExtJs integration
That is true for CMS, blogs and other software that embeds and interacts with the editor as a whole. And it is also something that almost every editor out there can do. And I know it depends a lot of end users who are willing to help or do it themselves. But you laid the ground work for it by making it really simple to integrate FCKeditor in webpages.
The integration with a JS framework is on a much deeper level and is something no one has ever done before successfully. These are javascript programmers that need to interact with deep programming concepts of the editor itself and not the editor as a whole. For me it's one level deeper.
I don't know if I can make sense... but someone could take the new core and build a jQuery plugin with it. jQuery itself provides the ajax logic, Ui, implementation strategy, documentation, etc. and the CMS-end user would then integrate it in their system.
For me these are two different kind of programming tasks. You did a great job with CMS integration so I don't have to tell you that. But I'd like you to really not forget the ability to integrate it well with JS frameworks.
I don't think you should do that. But you may outreach to the other communities for help and ideas? I did that once in the WYMeditor forum but didn't get a response. Don't you think the developers that did the integration plugins for FCKeditor or tiny would be very interested to be involved in this effort? And they may help achieving the goal that at the end it is possible to integrate CKEditor fully in other JS frameworks.
Yes you are right. And I don't expect that the CKEditor team would develop all these adapters by themselves. Have you asked in javascript framework mailing lists or forums for help or ideas? I don't think that I should do that as I am not really qualified to speak for you, the developers of this great editor. But if you want I can post in the jQuery mailing list and in the ExtJs forum (the 2 where I am involved) and inform others of the open development effort. Should I?
But as said before, this is only the end user integration in CMS's. Sorry for the bad analogy, but it feels like Editor1.0.
Editor2.0 would eventually look like this:
CKEditor core + CKEditor UI/Ajax implementation/Context menu -> Wordpress plugin -> Wordpress blog
or
CKEditor core + jQuery.ajax + jQuery UI (colorpicker, themes,...) -> Drupal plugin -> Drupal website
or
CKEditor core + jQuery.ajax + ExtJs UI (windows, tabs, ...) -> Drupal...
or may be
CKEditor core + Flex UI/Remoting/... -> Flex component -> Flex application (-> Air?)
I know I'm in no position to demand something from you guys and I certainly don't want to do that. You can do what you want. But for me this feels like the right step and I wanted to post it so you know it too (if you haven't).
Re: jQuery UI, ExtJs integration
It was the intent of this thread to make sure that this is happening. Because I really, really think this would make CKEditor really, really great!
I don't think you need to put a lot of effort in this. When the word spreads that there is this new CKEditor, based on a proven code base, that is easy and tightly to integrate in almost every system, developers will come and build this plugins themselves. There are so much users that want a good working editor in these systems that there will be either pressure for the lead developers to do it themselves or the users will do it if they have the ability to do so. At the moment there excuse is that an integration may be cumbersome and not possible to a certain degree but that isn't the case after 3.0!!
I really don't think this will be an issue at all...
As said above, I don't think you have to provide a working integration at all. Just provide a 100%-capable-to-integrate editor (with good, simple api and documentation!!) and people will build it themselves. I think a lot of these open source projects now have the resources to make these plugins themselves. Wordpress eg. has a very customized tinyMCE editor. If I were a drupal core developer I wouldn't care if it took me a month to make a rock solid wrapper around CKEditor's core, maybe even designing a new UI, as long as I knew that it is worth it and this thing is bugfree and maintained and I don't have to think about it after that.
I read a lot about this concepts in the open development effort documentation wiki. I just wanted to make sure that you are really going in this direction (the specs sometimes read very unspecific). I hope I'm not coming off as rude...
My offer stands. If you need help reaching to other communities for feedback and input, I would gladly help by posting posts like these in their forums or mailinglists.
Re: jQuery UI, ExtJs integration
Yes, it "will" be great. I'm putting it in the future because, from my experience in other integration efforts, people don't give it much attention to it if they don't have code and examples to look at. So, as soon as we have things running at our side, we'll be able to do a massive integration attempt.

Right now, I think we should be concentrated on the CKEditor coding and on doing the first integration by ourselves. I've elected jQuery for this. In this way we can understand exactly which features we need in the editor to make such integration smooth and powerful.
Your words make a lot of sense thatvetguy. It's cool to have you here with us
Frederico Knabben
CKEditor Project Lead and CKSource Owner
--
Follow us on: Twitter | Facebook | Google+ | LinkedIn
Re: jQuery UI, ExtJs integration
Hi Guys,
I'll be honest, I don't know much about the development of FCKeditor, but isn't this simply an issue of popular libraries such as jQuery providing plugins that can initialise and even manipulate FCKeditor through your existing API?
RE: http://www.fyneworks.com/jquery/FCKEditor/
Cheers,
Diego A.
Re: jQuery UI, ExtJs integration
More or less, yes. But, we want it to be clearer, better integrated and mainly "continuously supported". Also, there is a big difference. jQuery support would be part of CKEditor. So, you don't need a plugin for that. It would just work out of the box by adding jQuery and CKEditor to a page. The plugin will be embedded into the editor code (this will be configurable, of course).
Frederico Knabben
CKEditor Project Lead and CKSource Owner
--
Follow us on: Twitter | Facebook | Google+ | LinkedIn
Re: jQuery UI, ExtJs integration
Re: jQuery UI, ExtJs integration
Thank you for taking the time to answer my questions! I'm eagerly awaiting the new version to use in my projects!
Ext.ux.CKEditor
I have been waiting to see 3.0 / and how things will be structured so that I can take a crack at the ExtJS integration. I currently have ExtJS and FCK running side-by-side...but this is not total integration (though it works quite well). My intentions will be:
Replace the toolbar with Ext eq.
Replace all dialogs and forms with Ext eq.
Utilize built-in Ajax communication from Ext eq.
Utilize CKEditor's core functionality (XHTML code and WYSIWYG)
Use Ext style configuration
Apply Ext DOM interface to CKEditor
Ext.ux.CKEditor will be applicable to any panel using xtype declaration {xtype:'CKEditor'}

Ext.ux.CKEditor will be applicable also as a Form item.
The advantage of this will be less code to download, and less code for Ext users will have to integrate. Ext has the advantage of already having adapters to JQuery, Prototype, YUI amongst others. So for me it makes the best sense to start here.
I have been using ExtJS since 1.1 - I have a solid foundation in its conventions and have built several applications and UX's on top of it. But I still need to bury myself in your code base to see where we can do the most damage
Re: jQuery UI, ExtJs integration
Re: jQuery UI, ExtJs integration
Just to make sure I understand you correctly, we will be able to specify for CKEditor which 3rd party to use, right?
Hopefully CKeditor won't simply use jQuery if I load it before CKEditor, right?
What if I load prototype, jQuery, ExtJS and then CKEditor -- which 'API' would CKEditor then use?
I think you have already thought about this, but I just wanted to make sure that I will be able to load several API's and then specify to CKEditor which one of them has the UI stuff etc.
Re: jQuery UI, ExtJs integration
We'll not have "all" libraries and frameworks support in the editor core at the same time. This would just bring overhead to the code for those who are using just one of them, or to those who don't use a library at all.
What we'll have instead is a set of "adapters", and a "build tool", with which you can create a custom distribution of CKEditor, containing only the adapter that's interesting for you, at your choice. You can also avoid having an adapter, of course.
Frederico Knabben
CKEditor Project Lead and CKSource Owner
--
Follow us on: Twitter | Facebook | Google+ | LinkedIn
Re: Ext.ux.CKEditor
Hi I was searching the post related to ExtJs & FCKEditor and I came to this post.
I have a task to use the CKEditor with ExtJs which i successfully manage to integrate.
Now I want all dialog to be in Ext.TabPanel which i notice that you mentioned in your post.
I just want to know if you manage to do create dialogs in TabPanel.
I am very close to it and I can display dialog in tabs but click of Ok button doesn't work and I get a javascript error.
If you have done that can you please pass me some information how did you do that?
Thanks in advance.
Re: jQuery UI, ExtJs integration
Don't you think that it might be easier for other people to work upon that instead of requesting that someone else provides you the code?
Re: jQuery UI, ExtJs integration
I am just a small time programmer so I am sure that there are many flaws in my code but I will try to explain my code.
The code is below given in myckeditor.html:
The above code is to display the CK Editor in a Tab
Then I added extra lines in /ckeditor/_source/plugins/dialog/plugins.js in end of function show(), which display the dialog
just under the line
The added code is
Now I think in function addCKTabs(name) the way I am adding dialog is not the right way due to which it is not working.
I will really appreciate if any one has done anything in relation to this.
Regards
Re: jQuery UI, ExtJs integration
thatveguy has good words. I hope you're time has been well spent. I've come to the party rather late but I agree with him, and I applaud you for looking into jQuery as your first plugin...
I do have a thought about jQuery, why not use the jQuery core in yours? jQuery isn't a framework. It's a tool.
jQuery UI on the other hand is a framework, and a not very mature one.
While integrating with jQuery UI will probably be an exorcise in frustration, the core is excellent, and syntax very light. It could encourage more manageable and understandable CK code.
--
P.S. I've only just started developing plugins for FCK.. while it's organic growth is pretty evident (ie painful) I'm very impressed with what you've done.
Re: jQuery UI, ExtJs integration
Well, not everybody loves jQuery, each developer has its own point of view about how to work with javascript.
For example read this page explaining why some people prefer to work with jQuery and other people rather to work with MooTools: http://jqueryvsmootools.com/
And there are more frameworks out there, and not all of them are compatible with each other.
But the main reason is: most of the code is highly specialized for the editing part. The general javascript frameworks doesn't care at all about this kind of features so the code would need to be written anyway, only a very little set of features can be reused from a general framework.
And even if it could be reused, whenever a new bug is found you have to deal with the code of another project in order to get the fix that it's needed, it can create a dependency that make the project dependent on the schedule of another one.
So I really think that it's better to continue this way and then provide some integration hooks so the people that want it that way can use other frameworks, but by default provide an independent core.
Re: jQuery UI, ExtJs integration
Still waiting?
Re: jQuery UI, ExtJs integration
It's been a while but hey, I've finally done it.
I've just released the very first version of my new CKEditor plugin for jQuery:
http://www.fyneworks.com/jquery/CKEditor/
I only started working on it today, but soon enough I hope to turn it into a complete interface between jQuery and CKEditor's API methods.
The most important thing the plugin does is take care of ajax submissions, reading the editor's output before the ajax call is made AND clearing old editor objects from memory, in an environment when editors are created and destroyed on the fly (my cms for example).