Rich Text Editors in Drupal

Ug. This has been a real pain. But I believe that I finally have things sorted out. To get CKEditor working, and I mean really working in Drupal, I uninstalled the WYSIWYG mod and started over.

  • I installed the actual CKEditor module from Drupal.org.
  • I reinstalled the ckeditor library into sites/all/libraries
  • i changed the content types to use the new editor
  • i moved the iframe plugin library to the ckeditor/plugins folder
  • i enabled the now-present iframe option in the ckeditor setup

there were still errors present in the CKEditor version from WYSIWYG. i think that WYSIWYG just has issues. I’m sure that there are ways to work around them but this is working for me and there are no errors. Much Better.

CKEditor could not be detected – resolution

Well, I had trouble installing the CKEditor so I went with TinyMCE. But I began to get errors from that as well. And I don’t really like using a solution because I didn’t take the time to figure out what was wrong. So I went back and made CKEditor work. There is a patch for those of you using WYSIWYG 7.x-2.0 and CKEDITOR 7.x. You may receive an error that CKEditor cannot be detected.  This fixed it for me in sand and prod.

http://drupal.org/node/1161738#comment-6814058

Here’s another Patch

Posted by sakseiw on December 5, 2012 at 1:50pm

In …/modules/wysiwyg/editors/ckeditor.inc change line from function wysiwyg_ckeditor_version($editor)

if (preg_match(‘@version:\'(?:CKEditor )?([\d\.]+)(?:.+revision:\'([\d]+))?@’, $line, $version)) {

to

if (preg_match(‘@version:\”(?:CKEditor )?([\d\.]+)(?:.+revision:\”([\d]+))?@’, $line, $version)) {

This changes version number search from single quotes version: ‘4.0’ to double quotes version “4.0”

It worked for me on Drupal 7.17 and wysiwyg 7.x-2.2

Sand/Prod Reconcilliation

That time again. After all the work I have done on Prod, it and my sandbox are not in sync at all.

reconcile complete. 171 of 233 modules enabled/installed.

Iframe & Translation Update

I have the module installed, the content type created and I have links that are made from this type. And the site opens in the iframe but the translator settings are not following the iframe, which is what I need. I need to be able to allow my users an easy way to translate external content. I’ll figure it out. But that’s about all I am going to be doing today.

External Links in an I-Frame

I have a bunch of external links that I need to be displayed in a way that they still are a part of the site. This way, the external sites can still be translated from the translation widget that I have installed on the site. I have downloaded this module – External Iframes – and will be testing it out to see how it goes.

I went with a module based solution because I don’t want to write the code myself for doing I frames. I don’t want to have to maintain that.

 

X modulesX multilingualX bilingualX englishX spanishX microsoft translatorX iframeX external content translation

Tip about Views with exposed operators in Panels

If you integrate a View with exposed filters (for user defined searches) into a Panel page, that View has to return something right off the bat just to show up in the Panel. And you can’t give it a header or a footer either. Completely weird. What i did was supply a keyword in the “body” filter – “sample”. The word sample returns exactly one result for me. That’s just the nature of my content. But this allows the View to show up and isn’t too ambiguous to the user as to what they should do next.

Integrating Views and Panels with exposed operators in Views

If you have, in a Panel, a View with exposed operators (for user defined searches for example) you may see that clicking the submit button from the Panel page for the filter gives you the results, but in the View mode itself, away from the Panel where it originally was. This is no good. Here is a post about this on Drupal.org.

I got the idea for the fix here but the post that I saw was a little off. You have to supply the Panel Pane for the specific View with a replacement URL for the Panel Page itself. The post said use the View URL, but that makes no sense. Here is a SS.

Image

Multilingual – MS Translator, Panel Variants & Language Switcher

I am so happy right now that I could almost cry. If it weren’t for the mainliners that live in the halfway house that we share I would. You just don’t cry in front of felons…

I have the multilingual stuff setup just the way that I want. And it works really seemlessly. I have a variant (actually I have three) on the main page of my site, DOCResource.org. You can go and check this out for yourself if you want.

Variants – in this order – order is important!

  1. Spanish users – the condition on this is whether the site language is spanish or not. this variant has a panel pane that displays the Misc item created by the Widget mod that holds the HTML & Jscript for the language switcher. The variable on this page is controlled by one of two elements; the user account or the choice from the language switcher dropdown. All Drupal translated items are in Spanish via Internationalization and the RSS items are in English because that is the way they come in. If the user wants to see anything in English translated to Spanish, they can click the MS Translator Widget button in the top right. 
  2. Authenticated Users – Shows the page the way it is for a default English speaking user. No Panel display for the MS T. Widget. This is the way a user would come in from the Facebook login as well. But, anyone can hit the dropdown switcher and get the same experience that someone will get from having an account that specifies spanish.
  3. Anonymous – Shows the login block and a limited version of the RSS Feed via a cloned view from the original. That way it updates the same way but the links are not enabled and the user is encouraged to sign in to the site to get more content.

This is great! Now what I have to do is place that MS T Widget on the pages that aggregator outside content (via RSS and email) so that a spanish speaker can read them natively. VERY VERY NICE!

Microsoft Translator Widget integrates with Drupal

This is so cool. I found what I have been looking for. The MS Translator Widget. It is free and can easily be integrated into a Drupal site via the Widgets module. This isn’t quite how I am going to use it but here are before and after screen shots from my front page. The first is the site as a spanish speaker would see it after login. You can see that it is already in spanish except for the content in the middle. these are the RSS feed stories that come in all the time. At the top right you can see the widget for the MS translator. I was able to get this up and running in no time at all using the widgets module.

I’ll post tomorrow how i configed the widgets module.

Image

This is what it look like after I translate the page via the widget. All of the spanish text is left alone (except for the language drop down “Languages”… not sure will have to check but I think I know…) but the english teasers of the RSS stories are now translated. My spanish is good enough for me to be able to tell that the translation is pretty good. and free. There are some additional options for the widget that include auto translation, transparent to the user, and others. auto translation is generally not embraced because machine translation is generally about 70% correct. But, by translating the interface through the Drupal tools and using this widget, I believe that I can deliver a true multilingual site. and that is very cool.

Image

Multilingual update – Microsoft Translate widget

I am basically done translating the interface into spanish from english. and it really was much easier than I expected. i used babelfish.com to help me with the translations that i had to do manually. the user can get spanish from the start if the account is setup that way or they can choose spanish or english from the language switcher drop down.

So that takes care of the interface. and that is a huge deal. but I really want to provide a relatively easy way to translate the huge amount of content that the site warehouses. So I am looking at The MS Translator Widget. It is a free javascript widget that should be easy to integrate with your site. When I figure out how to do it I will post the solution here.