An Open File Manager for CKEditor 3.0

CKEditor is the successor to FCKEditor, an open-source, embeddable HTML editor which adds WYSIWYG editing capabilities to countless content management systems, blogs, and other web-based applications. FCKEditor was extremely feature-rich compared to its competition, being one of the few of its kind to include its own file browser and upload mechanisms, along with an API which enabled developers to integrate it with their server-side language of choice. The final version of FCKEditor shipped with built-in connectors for a wide variety of languages and platforms, including ASP.NET, ColdFusion, Java, Lasso, PHP, and Python. (Core Five contributed the Lasso connector to the project.)

However, over time, and despite a highly configurable, pluggable architecture, the code base for FCKEditor, initially released in 2003, began showing its age. Markup and scripting were a patchwork quilt of outdated methods, and performance was suffering. Thus, a complete, ground-up rewrite was started, culminating in the release of the newly-dubbed CKEditor 3.0 in 2009.

The new release is very impressive. Load times are noticeably faster, and a new, modern API makes client-side configuration and integration considerably more direct and powerful. Unfortunately, one victim of the streamlining was the built-in file manager. CKEditor is now pure JavaScript. The developers offer a commercial package, CKFinder, which provides server-side integration for ASP.NET, ColdFusion, and PHP, but there is no longer a free file manager built into the open source editor to which you can add your own server-side connector.

Thus, we decided to write our own replacement file manager, which we are releasing today. We didn’t bother giving it a fancy name; we’re just calling it FileManager. FileManager is powered by jQuery, and incorporates a variety of plugins to provide various bits of functionality:

In the spirit of the original FCKEditor file manager it is intended to replace, FileManager provides a simple javascript API which you can use to write a connector for your preferred server-side language. The API is described in detail in the ReadMe.txt file within the project, and also on the FileManager project page. At the time of this writing, the only complete connector is for Lasso. A python connector is nearly finished. Submissions for other languages (as well as bug fixes and suggestions in general) are encouraged!

FileManager integrates with both FCKEditor 2.x and CKEditor 3.x. For complete instructions, including how to download the project, see the project page.