#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