#2453: V3: Code loading
--------------------------+-------------------------------------------------
  Reporter:  fredck       |       Owner:  fredck                       
      Type:  New Feature  |      Status:  assigned                     
  Priority:  Normal       |   Milestone:  CKEditor 3.0                 
 Component:  General      |     Version:                               
Resolution:               |    Keywords:  Confirmed V3ProtoCore Review?
--------------------------+-------------------------------------------------
Changes (by fredck):

  * keywords:  Confirmed V3ProtoCore => Confirmed V3ProtoCore Review?
  * owner:  => fredck
  * status:  new => assigned


Comment:

 The CKEditor prototype implements all loading methods described in the
 
[http://docs.fckeditor.net/FCKeditor_3.x/Design_and_Architecture/Loading_and_Startup
 Loading and Startup] page. The final result is that we have two "entry
 point" scripts to be used on pages:

  * ckeditor.js (ckeditor_source.js): the full editor code.
  * ckeditor_basic.js (ckeditor_basic_source.js): the basic editor
 functions, enough to create editor instances on the page. By using
 FCKpackager, this file currently has 6KB (to be optimized yet).

 To achieve this, part of the code had to be splitted. Because of this we
 have "core/ckeditor.js" and "core/ckeditor_basic.js", as well as
 "core/editor.js" and "core/editor_basic.js". The "basic" file contains
 only the "_basic" versions of those core files, while the full code
 contains both pairs of files. This solution may have left the the code a
 bit messy for those core files, but it works pretty well. We could think
 about changing this system later if we implement some kind of "pre-
 processing" instructions to be used by the packager.

 === Testing the loading methods ===

 By default our samples use the "Inline" loading method. The
 divreplace.html method can be used to test the other loading methods. For
 that, the samples.html file must be changes to load the "basic" version
 instead, keeping attention to the comments available there. Then, just use
 the Net tab in Firebug to see the results.

 === Development version loading ===

 For the trunk/development loading instead, a dedicated loading system has
 been developed. It uses the CKEDITOR.loader object (core/loader.js), which
 is not use in the release version instead. The ckeditor_source.js and
 ckeditor_basic_source.js files are just startup files that use the loader
 to load the code.

 The loader contains a dependency map, which forces the load of all
 necessary files to run the editor.

 As the loader needs some minimun information from the CKEDITOR object, a
 small subset of its features have been defined in the
 "core/ckeditor_base.js" file. The compressed version of this code is
 copy/pasted in the ckeditor_source.js and ckeditor_basic_source.js files.

 === The CKEDITOR object ===

 Because of all the above, the CKEDITOR object is defined by the
 "core/ckeditor_base.js", "core/ckeditor_basic.js" and "core/ckeditor.js"
 files together, in that order.

-- 
Ticket URL: <http://dev.fckeditor.net/ticket/2453#comment:1>
FCKeditor <http://www.fckeditor.net/>
The text editor for Internet
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
FCKeditor-Trac mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fckeditor-trac

Reply via email to