I've programed some configuration options for ckeditor. My intention was to give the advanced users flexible configuration options and user who don't want to deal with custom config.js files some simple options.

First, i changed ckeditor to 4.1.3-full, because i had problems with the ckeditor.js (https://n2cms.codeplex.com/discussions/450462)
And to full edition because of the toolbar configuration ooption (see EditableFreeTextAreaAttribute)

I've tried to include most of the configuration options as ckeditor inpage configuration. First because of ckeditor updates and second i hohope i makes the usage of own ckeditor config.js files easier.

New features

1. Editor Mode
I've integrated three predefined Editor Modes, they modify the ckeditor toolbars.

Standard=Same toolbar configuration as before.
Basic = Copy/Paste, Undo/Redo, FOrmatting (Bold,Underline/Italic)
Full=All Features available

- The Editor mode is configurable as EditableFreeTextAreaAttribute.
- Defaultmode = Standard
- Moved the toolbar configuration from config.js to inpage

We have projects with different areas, in some areas the user is allowed to change styles or format the text free. And in other areas he should be restricted to simple formating. So with this options we are flexible.

2. Custom config.js configuration element
I've programed the inpage configration for a custom config.js file

I had to rename the predefined configuration property, because i couldn't compile the code. I always got an configuration element is not allowed to use reserved prefix config or locked error.

Example:
<ckeditor ckConfigJsPath="/scripts/ckconfig.js" />

3. Format dropdown
I've moved the default configuration of the format dropdown from config.cs to inpage configuration.
Then i added a configuration element overwriteFormatTags. This option overwrites the predefined format values.

And the EditableFreeTextArea also has a property AdditionalFormats. If specified, the given formats will be added in addtiotin to the default values to the format dropdown.

So you can set common format's with web.config and however have the flexibility to set special format values on a page.

Example:
In web.config
<ckeditor overwriteFormatTags="p;h1"  />

AdditionalFormats:="h2;h3"

Default option for all dropdowns are h1;p and for the EditableFreeTextAre with set AdditionalFormats  h1;h2;h3p

4. advancedMenues
I've moved the advanced menues as inpage configuration. I'ts not important, but i think so there some logic in the configuration

5. Custon contents.css
I've aded a configuration element which let's you specify the path to a custom contents.css file.

Example:
<ckeditor contentsCssPath="/scripts/contents.css" />

5. Custom Styles
To fill custom styles into the styles dropdown you have to integrate a custom config.js file. In this file you could add your own stylesets, it's not limited to one. I've interated a sample into config.js and comented it out.
So copy the original config.js file to your own location, uncoment the block which adds the custom styles. Add your own styleset(s).

Like before i've integrated a default option in web.config which points ckeditor to the custom style. But you can also overide this option with an EditableFreeTextArea Property for special pages.

This example asumes the style i put as sample into config.js and copied into my own location

<ckeditor ckConfigJsPath="/scripts/ckconfig.js" overwriteStylesSet="my_styles" />

With this configuration options and the custom config.js file all editors are using the Styleset my_styles

Now you can integrate a second styleset named styles_productspage into /scripts/ckconfig.js and set UseStylesSet:=productspage in EditableFreeTextAre

So i hope this covers the most configuration tasks and provides a bigger configuration flexibility through the global configurtion options in web.config and special options as EditableFreeTextArea Property.

https://n2cms.codeplex.com/discussions/445836