Design and Architecture

This website contains links to software which is either no longer maintained or will be supported only until the end of 2019 (CKFinder 2). For the latest documentation about current CKSource projects, including software like CKEditor 4/CKEditor 5, CKFinder 3, Cloud Services, Letters, Accessibility Checker, please visit the new documentation website.

If you look for an information about very old versions of CKEditor, FCKeditor and CKFinder check also the CKEditor forum, which was closed in 2015. If not, please head to StackOverflow for support.

These pages summarize the ideas, concepts, motivations and specifications for the development of FCKeditor 3.0 (code name V3). This is the repository where converging the results of thoughts and discussions placed around our project. It's a mutable place, and you are invited to participate, making it move.

The Project

Concepts and Macro Features

  • (High) Performance -- code, loading and size
  • Browser Compatibility
  • Accessibility
  • Usability
  • Standards
  • Semantics
  • Globalization
  • Plugin Based
  • Event Driven
  • Modularization
  • Documentation
  • Memory Leak
  • DOM Abstraction
  • Semantics and Formatting = Styles

Coding

  • Namespacing
  • Coding Style
  • Naming Conventions
  • Coding Patterns
  • Native Objects : Untouchable
  • Code Quality : JavaScript and HTML
  • Testing

The User Interface

  • Base Structure
  • Editing Area
  • Toolbar
  • Context Menu
  • Elements Path

Editing Features

  • Undo and Redo
  • Cut, Copy and Paste
  • Bold, Italic and Underline
  • Lists
  • Links
  • Images
  • Block Formatting
  • Styles
  • ...

Other Features

  • File Browser
  • Spell Checker
  • Debugging -- internal debugger (like FCKDebug)

Output

  • Default XHTML
  • HTML
  • Other Formats -- non HTML

Customization

  • Configuration
  • Skins
  • Plugins

Integration

  • JavaScript API
  • Ajax
  • Server Side Languages and Platforms
  • JavaScript Libraries and Frameworks
  • Targeted Integration Efforts

Distribution

  • Installation
  • Compression and Minification
  • Customized Distributions
  • Assets Server / CDN
  • Proxies, Caches and Updates
  • Domain Relaxing
  • HTTPS