I've spent the last two days looking at Drupal's Htmlarea module. Similar to the TinyMCE module, this module acts as a wrapper for the Xinha WYSIWYG editor (Xinha is a fork of the original htmlArea WYSIWYG editor).
I like Xinha, though, as you might expect, it's not without its fair share of issues. The developer community for Xinha seems to be quite active though, and bugs are being addressed.
I've assembled a few preliminary notes here that might help you on your way:
<?php
/**
* I've set this up so that my default upload directory is /files/editor.
* Within /files/editor I have two more subdirectories: images and
* documents. For the image popup I constrain the user to the
* /files/editor/images directory, but for the document link popup, I
* let them see both the documents and images directories.
*/
/**
* Double-dotted madness. We have to work our way back from the
* plugin's directory to our upload directories.
*/
$IMConfig['images_dir'] = '../../../../../../../files/editor/images';
$IMConfig['files_dir'] = '../../../../../../../files/editor';
/**
* Assumes your Drupal installation is installed on the root of a
* domain and that /files is your default upload directory.
*/
$IMConfig['images_url'] = '/files/editor/images';
$IMConfig['files_url'] = '/files/editor';
?>Xinha.Config.prototype.InsertSnippet =
{
'snippets' : _editor_url+"plugins/InsertSnippet/demosnippets.js", // purely demo purposes, you should change this
'css' : ['../InsertSnippet.css'], //deprecated, CSS is now pulled from xinha_config
'showInsertVariable': false,
'backend_data' : null
};Xinha.Config.prototype.InsertSnippet =
{
'snippets' : _editor_url+"plugins/InsertSnippet/snippets.php",
'css' : ['../InsertSnippet.css'], //deprecated, CSS is now pulled from xinha_config
'showInsertVariable': false,
'backend_data' : null
};<?php
$snippets_file = 'snippets.html';
?>