History of FckeditorPackage

! FCKeditorPackage

Integrated into bitweaver comes FCKeditor, a WYSIWYG editor from [http://www.fckeditor.net|fckeditor.net]. (See also ((TinymcePackage|TinyMCE package)).)

{maketoc}

! Features
* __Multiple Browser Support__ Including:
** IE 5.5+ (Windows)
** Firefox 1.0+
** Mozilla 1.3+
** Netscape 7+.
* __XHTML 1.0 Output__
* __CSS Support:__ For easier integration with a theme.
* __Font formatting:__ type, size, color, style, bold, italic, etc
* __Text formatting:__ alignment, indentation, bullets list, etc
* Cut, Paste and Paste as Plain Text, Undo and Redo
* Paste from __Word__ cleanup with auto detection
* Link and anchors support
* Table creation and editing (add, delete rows, etc) - one of the best systems in the market.
* Table cells editing (size, colors, etc)
* Right click context menus support
* Support for Toolbar Customization
* Skins
* Spell Checker Integration
* Automatic browser detection and customization
* Full Page Mode
* Easy to Use
* Source Code View

^__NOTE:__ FCKeditor is currently NOT compatible with the Ajax Comments feature in LibertyPackage.^

! Toolbars
Bitweaver includes the ability to use one of several toolbars with FCKeditor easily. It is also possible to customize the toolbar by editing the fckeditor/jscripts/fckconfig.js file to specify your own and then adding it to fckeditor/admin/))admin_fckeditor_inc((.php.

! Skins
Bitweaver includes the ability to skin the interface with one of the three default skins. It is also possible to create your own skin. You will have to add it to the fckeditor/admin/))admin_fckeditor_inc((.php file to add it to the administration interface.

! Your own plugins for FCKeditor
If you want to write your own plugin for FCKeditor, here are two good tutorials to get you started:
* [http://wiki.fckeditor.net/Developer's_Guide/Customization/Plug-ins|Creating & Installing a Plugin in FCKeditor] (How-to from FCKeditor's Wiki at fckeditor.net)
* [http://sourceforge.net/forum/message.php?msg_id=3091867|Creating a Non-dialog Based Plugin] (Step-by-step guide in FCKeditor's forum at sourceforge.net)

! Bitweaver's plugins for FCKeditor

!! Split
The Split plugin gives you a button that will insert a split tag: ...split... into your content. This is good for blog posts and articles where you want to easily define a read more section. Now your users don't need to know how to use ...split... they can just click the "Insert Split" button, which includes a hover tool tip letting you know it is for adding a Read More section. To enable Split in your FCKeditor, open the file __fckconfig.js__ and uncomment the following line:

{code title="/fckeditor/jscripts/fckconfig.js"}
FCKConfig.Plugins.Add( 'split' ) ;
{/code}

Now you need to add Split to your toolbar list, for example like:
{code title="/fckeditor/jscripts/fckconfig.js"}
FCKConfig.ToolbarSets["Basic"] = [
['Source'],['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','Split']
] ;
{/code}

!! Attachment
The Attachment plugin integrates bitweaver's native LibertyAttachments features into the FCKeditor. __Note that the current state of the Attachment plugin only supports previewing of images, and does not yet create attachment associations between content and uploaded files.__ Like the attachment tab in most liberty content packages this FCKeditor plugin will let you upload files via Ajax to associate with your user account. You can also get a list of all attachments your user has ever uploaded. From the resulting list it is a single click to insert attachment code into your text. The FCKeditor plugin will also preview the attachment image in the FCKeditor editing interface. To enable Attachment in your FCKeditor you need to edit __fckconfig.js__ and FCKeditor's __))header_inc((.tpl__:

{code title="/fckeditor/jscripts/fckconfig.js"}
// add or uncomment:
FCKConfig.Plugins.Add( 'attachment' ) ;
{/code}

Now you need to add Attachment to your toolbar list, for example like:

{code title="/fckeditor/jscripts/fckconfig.js"}
FCKConfig.ToolbarSets["Basic"] = [
['Source'],['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','Attachment']
] ;
{/code}

Finally, include a number of the ))MochiKit(( Javascript library files, there are two ways to do this. You can add them in the header_inc.tpl or even better is to edit bit_setup_inc.php and include them via our javascript bundling function:

{code title="/fckeditor/templates/header_inc.tpl"}
{if $gBitSystem->isPackageActive('fckeditor') }
<script src="../util/javascript/libs/MochiKit/Base.js" type="text/javascript"></script>
<script src="../util/javascript/libs/MochiKit/Iter.js" type="text/javascript"></script>
<script src="../util/javascript/libs/MochiKit/Async.js" type="text/javascript"></script>

... rest of header code
{/if}
{/code}

{code title="/fckeditor/bit_setup_inc.php"}
$gBitThemes->loadAjax( 'mochikit', array( 'Iter.js' ) );
// add the above loadAjax call before the following loadJavascript line
$gBitThemes->loadJavascript( FCKEDITOR_PKG_PATH.'jscripts/fckeditor.js' );
{/code}

! Image Browser Fix
To get the Resources Browser (Image > Browse Server) working so you can upload files, flash, images and media, first change 'asp' to 'php' in __fckconfig.js__:

{code title="/fckeditor/jscripts/editor/fckconfig.js"}
// original:
// var _FileBrowserLanguage = 'asp' ;
// var _QuickUploadLanguage = 'asp' ;
// change to:
var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;
{/code}

Now create new directories in your storage directory:

{code title="new directories"}
/storage/Image/
/storage/Media/
/storage/Flash/
/storage/File/
{/code}

Now edit the __config.php__ of FCKeditor's Filemanager:

{code title="/fckeditor/jscripts/editor/filemanager/browser/default/connectors/php/config.php"}
// original:
// $Config['Enabled'] = false;
// change to:
$Config['Enabled'] = true;

// original:
// $Config['UserFilesPath'] = "/UserFiles/";
// change to:
// your storage directory or any other directory that you want your media to be stored in.
$Config['UserFilesPath'] = "/bitweaver/storage/";
{/code}

Make sure apache can write to the directories you created above:

{code title="command line"}
chmod -R 777 storage/
{/code}

Now point your browser to __fckconfig.js__ (http://localhost/bitweaver/fckeditor/jscripts/fckconfig.js) and hit reload to makes sure that your changes are present in your browser.


! Custom configuration files
Set up your FCKeditor with a __custom fckconfig.js__ to make updates and trying different settings easier:
# Admin > FCKeditor > Settings:
# enable ''Custom config file''
# copy /fckeditor/fckconfig.bitweaver.js to your custom style:
# /themes/styles/your-style/fckeditor/fckconfig.bitweaver.js
# edit settings and toolbars, see:
# [http://wiki.fckeditor.net/Developer%27s_Guide/Configuration/Configurations_Settings|FCKeditor documentation]
# trick: externalize the XML file that holds FCKeditor's styles:
## copy ''fckstyles.xml'' from /fckeditor/jscripts/fckstyles.xml to your custom style
## in /themes/styles/your-style/fckeditor/fckconfig.bitweaver.js, add:
## FCKConfig.StylesXmlPath = '/themes/styles/your-style/fckeditor/fckstyles.xml';
## by editing that file you can control which styles are shown in FCKeditor's style dropdown



! How to prevent the FCKifying of certain textareas
There are quite a few textareas that should not be FCKified even if the editor is supposed to be available in general. Examples would be the textarea to add trackback URLs to a blog posting and many of the kernel's textareas. To prevent the editor to hook on to your textareas, don't use bitweaver's "textarea" Smarty-plugin, but normal plain HTML:

{code title="somepackage/templates/some.tpl"}
{*
// instead of:
// {textarea id="someid" rows=6 help="somehelpnote"}{/textarea}
// write:
*}
<textarea id="someid" rows=6 help="somehelpnote"></textarea>
{/code}

Page History
Date/CommentUserIPVersion
20 Jul 2010 (09:46 UTC)
Lester Caine81.138.11.13622
Current • Source
laetzer85.178.3.11921
View • Compare • Difference • Source
duco mansvelder213.73.188.14118
View • Compare • Difference • Source
laetzer141.20.150.4317
View • Compare • Difference • Source
laetzer85.178.14.21616
View • Compare • Difference • Source
Kozuch85.207.244.16015
View • Compare • Difference • Source
laetzer85.178.54.5313
View • Compare • Difference • Source
laetzer85.178.54.5312
View • Compare • Difference • Source
laetzer85.178.27.15211
View • Compare • Difference • Source
laetzer85.178.27.15210
View • Compare • Difference • Source
laetzer85.178.49.1409
View • Compare • Difference • Source
nexe58.105.83.1177
View • Compare • Difference • Source
nexe58.105.83.1176
View • Compare • Difference • Source
Will89.247.87.1845
View • Compare • Difference • Source
Will68.174.111.474
View • Compare • Difference • Source
Will68.174.111.473
View • Compare • Difference • Source
Will68.174.111.472
View • Compare • Difference • Source
WaterDragon145.116.228.341
View • Compare • Difference • Source