Home > newfckeditor

newfckeditor

Newfckeditor is a project mainly written in ..., it's free.

Fckeditor: Version 0.4.0

Scott Rutherford [email protected]

Credits to:

"Integrate FCKEditor with your Ruby on Rails application" - http://www.joshuamcharles.com/xhtml/fckrails.php By Joshua M Charles "Implementation details for FCKEditor integration with Ruby on Rails" - http://public.ok2life.com/welcome/index/49.html "FCKEditor On Rails" - http://www.underpantsgnome.com/projects/fckeditor-on-rails/

And for the spell checker, which Ken Pratt created a patch for:

Ken Pratt: www.kenpratt.net http://softiesonrails.com/articles/2006/02/14/fckeditor-with-spell-check-on-rails

Nicola Piccinini: http://superfluo.org for various bits and pieces


This plugin installs the FCKeditor editor into your rails app, along with some helpers to use in your views.

Installation

If you got this using:

ruby script/plugin install svn://rubyforge.org//var/svn/fckeditorp/trunk/fckeditor

Then the install should of copied all the appropriate files to their homes. If you download a tar then you can either do

rake fckeditor:install

from the root of your app, or the file will be installed the first time you startup after untaring the plugin.

Files

Basically the whole of the FCKeditor suite is copied to: public/javascripts/fckeditor

There is a separate config file copied to: public/javascripts/fckcustom.js, that you can use to customize the install. This file is never overriden by upgrades or reinstalls

IMPORTANT

If you are hosting your rails app in a subdirectory you need to open:

public/javascripts/fckcustom.js

and modify the FCKRelativePath = ''; to suite your needs.

For example if I have an app at www.mydomain.com/app/

then the line should read:

FCKRelativePath = '/app';

Usage

Basically include this in the page you wish to use the editor in

<%= javascript_include_tag :fckeditor %>

Then instead of the normal textarea helper from Rails use this one

<%= fckeditor_textarea("object", "field", :toolbarSet => 'Simple, :width => '100%', :height => '200px' %>

Thats it unless you are using AJAX

AJAX

To use a remote form you need to do something like this

<%= form_remote_tag :url => @options.merge(:controller => @scaffold_controller), :before => fckeditor_before_js('note', 'text') %>

<%= fckeditor_textarea( "note", "text", :ajax => true ) %> 

<%= end_form_tag %>

If you forget to put in the :before it won't work, you can also use the fckeditor_form_remote_tag described below

Multiple Editors in a form

To create a form using multiple editors use the fckeditor_form_remote_tag helper and pass the :editors option. This takes an hash of model symbol keys with each having an array as its value. The array should contain the list of fields that will have editors attached to them.

<%= fckeditor_form_remote_tag :url => @options.merge(:controller => @scaffold_controller), :editors => { :multinote => ['text1', 'text2'] } %>

<%= fckeditor_textarea( "multinote", "text1", :ajax => true ) %> 
<%= fckeditor_textarea( "multinote", "text2", :ajax => true ) %> 

<%= end_form_tag %>

There is also a fckeditor_remote_form_for version.

Spell Check

Basically ensure you have aspell installed and available in your path. If running on Windows then the expected install path is:

'c:program filesaspellinaspell'

If you install elsewhere then you will need to update spell_check.rb in the plugin to mirror your path. Also make sure you have this line in your fckcustom.js file:

FCKConfig.SpellChecker = 'SpellerPages';

Issues / TODO's

1) There are no progress indicators for the AJAX requests from the resource manager 2) Occasional issues with Flash upload 3) Won't install properly with frozen edge Rails