[horde] Debian HTML Editor Broken

Andy Dorman adorman at ironicdesign.com
Wed Nov 5 21:46:52 UTC 2014


Let me start by saying that I agree this is most likely a Debian 
packaging issue.  But I have been banging my head up against this for 
weeks now and am out of ideas about what to look at or try next and I 
hope someone with a working installation from another version might be 
able to help.

What I am trying to figure out is how the Debian packaging for 
php-horde-editor (2.0.4) and Horde (5.2.1) and/or Imp (6.2.2) should be 
configured for the HTML/CKEditor (4.4.4) to work correctly.  I hope this 
can be determined by how other successful installations are set up to 
handle the various sym links that are needed to make it work.

Here is what I am currently dealing with:

The current Debian fs structure looks like this:

CKEditor - /usr/share/javascript/ckeditor/
Bootstrap - /usr/share/twitter-bootstrap/

Horde Imp - /usr/share/horde/imp/
Horde Imp js - /usr/share/horde/imp/js
Imp ckeditor files (some, not all) - /usr/share/horde/imp/js/ckeditor

The problems start when you open Imp's compose window and CKEditor tries 
to fetch it's loader file from CKEDITOR.getUrl( 'core/loader.js' )

which causes an http request for /imp/core/loader.js which does not exist.

It is messy, but most of the initial loading problems can be fixed by 
adding sym links in the base horde/imp/ directory pointing to 
appropriate imp/js/ckeditor files which are in turn linked to CKEditor's 
javascript/ckeditor/ dirs & files.

   imp/adapters -> js/ckeditor/adapters
   imp/bender.js -> js/ckeditor/bender.js
   imp/ckeditor.js -> js/ckeditor/ckeditor.js
   imp/config.js -> js/ckeditor/config.js
   imp/contents.css -> js/ckeditor/contents.css
   imp/core -> js/ckeditor/core
   imp/lang -> js/ckeditor/lang
   imp/plugins -> js/ckeditor/plugins
   imp/skins -> js/ckeditor/skins
   imp/styles.js -> js/ckeditor/styles.js


However, after the compose window opens and the above ckeditor files are 
successfully fetched, when you click on the HTML editor checkbox, 
htmlcheckbox,tougher problems pop up:

1. The compose window tries to pull in imp/core/_bootstrap.js which does 
not exist anywhere in Horde that I could find.  So I added a messy 
symlink to point core/_bootstrap.js to 
/usr/share/twitter-bootstrap/files/js/bootstrap.js   No idea if this is 
the correct file.

2. The compose window tries to pull in 
/imp/plugins/pasteattachment/plugin.js which resides at 
/imp/js/ckeditor/pasteattachment.js (but because of the initial sym 
links, imp/plugins/ points to CKEditor's 
/usr/share/javascript/ckeditor/plugins/ directory)

Again, if you have root access and know how to do sym links you can do a 
very messy fix by adding a new pasteattachment directory for CKEditor 
and pasteattachment/plugins.js symlink pointing back to 
imp/js/ckeditor/pasteattachment.js.

3. The compose window also calls /js/ckeditor/ckeditor_basic.js which 
does not exist in horde/js/ nor anywhere on my server that I could 
find...  So again I did a messy manual fix by adding a 
horde/js/ckeditor/ directory and then a sym link to point 
horde/js/ckeditor/ckeditor_basic.js to 
/usr/share/javascript/ckeditor/ckeditor.js  I suspect this is NOT the 
correct file to provide for a request for ckeditor_basic.js, but I could 
not find anything else that looked even close.

And finally, even after all the files are successfully loaded, the HTML 
editor doesn't actually come up....probably because ckeditor.js is NOT a 
substitute for ckeditor_basic.js or I have linked to the wrong file for 
imp/core/_bootstrap.js

So as you can see the latest Debian install needs help.  I think all the 
above comes down to two questions I am trying to answer....

1. What URL does a non-debian install use to fetch the ckeditor files? 
Does it try to fetch "/imp/core/loader.js" or does it possibly fetch 
from "imp/js/ckeditor/" ?  or some other URL?  And where is this URL 
determined? (sorry, yes this is more than one question...but they are 
all related  ;-)

2. What sym links are set up for a non-debian install to point the 
following compose window URLs to the appropriate server fs directories & 
files?

/imp/core/loader.js
/imp/core/_bootstrap.js
/imp/plugins/pasteattachment/plugin.js
/js/ckeditor/ckeditor_basic.js

Thanks for any and all help and my apologies for the long explanation.

-- 
Andy Dorman



More information about the horde mailing list