Drupal sucks. I’ve tried to use Drupal 3 times in versions 4, 6 and 7, because everyone keeps telling me how wonderful it is. Perhaps it is a wonderful tool to create web pages, but every time I create a web page with Drupal, I waste many hours, doing the simplest things. Then I install WordPress and decide that Drupal was a waste of my time.
For example, you want a simple WYSIWYG editor, because it makes it a lot easier to edit content with a nice graphical editor. WordPress and Joomla include TinyMCE by default, but Drupal comes without any WYSIWYG editor. To get one, first you have to install the wysiwyg module. Then, you have to manually create a “sites/all/libraries” directory, because drupal didn’t include by default. Then, you have to manually download the TinyMCE editor and manually unzip it. Then, you have to clear Drupal’s cache to make the option appear so you can select the editor. Then, you waste an hour trying to figure out why it doesn’t work until you discover that TinyMCE 4.x doesn’t work with Drupal 7. Then, you delete the TinyMCE files and download version 3.5. After unpacking it and clearing the cache and then going through a bunch of configuration options, you finally figure out how to select it for “Full HTML” and “Filtered HTML” editing. Then, you see that it still doesn’t work, so you Google around until you discover that the problem is that you need to download the Spanish translation file for TinyMCE, but then you have to spend 15 minutes figuring how how to unzip the translation files into the existing installation. Then, you still don’t see any editor buttons when you edit an article in Drupal, so you Google some more until you discover that you need to edit the configuration of TinyMCE to enable each button for both “Full HTML” and “Filtered HTML”. Then you need to clear the Drupal cache again, so the buttons will show up. In the end, you spend 3 hours getting what should come by default in every Drupal installation.
So here’s how to do all that mess from the command line:
drush @sites dl wysiwyg
drush @sites en wysiwyg
(Then go your home computer and open your web browser to http://www.tinymce.com/i18n3x/index.php?ctrl=lang&act=download&pr_id=1, and select the language you want and download it. Then you have to secure copy it over to your server:
scp tinymce_language_pack.zip email@example.com:/var/www/drupal/sites/all/libraries)
Back at your server, you need to unzip and then rezip the language files one directory up, so it will insert the language files inside the existing installation of TinyMCE:
zip -r lang.zip *
mv lang.zip ..
drush @sites cc all
Now open Drupal in your web browser and go to Modules->wysiwyg->Configure
Select TinyMCE 3.5 for “Full HTML” and “Filtered HTML”.
Then, click on “configure” and select the buttons that you want to appear in the HTML Editor. Do this for every web site you have in Drupal and clear your cache once again just to be sure and now it should now work. Wasn’t that simple?
I appreciate the fact that Drupal wants to give me the option to install 15 HTML editors, but Drupal should make one editor the default and make it just work. At the very least, Drupal should have a simple “tinymce” module which comes already configured, so after you install it, the HTML editor will just work. I could understand if an HTML editor was some esoteric option, but 90% of people who install Drupal need it, so why make it so hard to install and configure?
There has to be some CMS out there which is more configurable than WordPress, but doesn’t require the pain of Drupal.