Write in 9 Indian Scripts in Joomla using TinyMCE and FCKEditor Plugin

January 23rd, 2010 26 comments

Today I am going to explore various ways to easily type in Indian languages like Bengali, Gujarati, Hindi, Marathi, Sanskrit, Kannada, Malayalam, Oriya, Punjabi, Tamil and Telugu very easily in your favourite CMS Joomla.

There are 3 methods you can use depending on your editor choice.

  1. Using JCE Editor
  2. Using FCKEditor
  3. Using TinyMCE editor

Using JCE Editor

You have to first install JCE Editor along with plugins. It is assumed that JCE editor is your default editor. You can check/set it by going to Administration > Site menu > Global Configuration and look for Default WYSIWYG Editor.

  1. Download IndicIME plugin for TinyMCE and put it at WEBROOT\plugins\editors\jce\tiny_mce\plugins so that “indicime” will become sub-folder of plugins.
  2. Now navigate to Administration > Components > JCE Administration > Plugins. Click on “New Plugin” button on the right side.
  3. Fill in the form as described below and “Save” the plugin.
    Description: IndicIME
    Plugin Name: indicime
    Plugin Icon: indicime,indicimehelp
    Layout Icon: indicimehelp

  4. Now navigate to Administration > Components > JCE Administration > Groups. Select the Group(For ex. Default). Go to Layout tab and you will see a button as indicated in image with red square. You can drag this button and drop it in Current Editor Layout anywhere you like and “Save” it.
  5. Now clear browser cache (It is very important) and try to add new article. IndicIME and IndicIME help buttons will show up.
  6. Enjoy typing in Indian languages.

Using FCKEditor

You have to first download FCKEditor for Joomla and install this plugin. It is assumed that FCKEditor is your default editor. You can check/set it by going to Administration > Site menu > Global Configuration and look for Default WYSIWYG Editor.

  1. Download IndicIME plugin for FCKEditor and put it at WEBROOT\plugins\editors\fckeditor\editor\plugins so that “indicime” will become sub-folder of plugins.
  2. Now browse to WEBROOT\plugins\editors\fckeditor\editor and open the file “jtoolbarsetconfig.xml”
  3. At the very bottom, you will get “customplugins” node. Add the following line at the end.
    <add name="indicime" lang="en"/>

    So it will look like this.

  4. Now when you analyze this xml file, you will notice that it contains button list for three types of toolbars named “Advanced”, “Creative” and “Blog”. In each of these toolbars, you may want to add the IndicIME so find a good place to paste the following code as shown in the image.
    <plugingroup>
    <plugin name="indicime" acl="*">
    <params>
    <param name="IndicIMEScripts" value="My Bengali:bengali;My Gujarati:gujarati;My Devnagari: devnagari" />
    </params>
    </plugin>
    <plugin name="indicimehelp" acl="*"/>
    </plugingroup>

    Using this code, you will be able to customize the language list. If you don’t want to customize the list, remove the text “<params>…</params>”.(Make sure it is “<params>” and not “<param>”)

  5. Now clear browser cache (It is very important) and try to add new article. IndicIME and IndicIME help buttons will show up.
  6. Enjoy typing in Indian languages.

Using TinyMCE Editor

It is assumed that TinyMCE editor is your default editor. You can check/set it by going to Administration > Site menu > Global Configuration and look for Default WYSIWYG Editor.

  1. Download IndicIME plugin for TinyMCE and put it at WEBROOT\plugins\editors\tinymce\jscripts\tiny_mce\plugins so that “indicime” will become sub-folder of plugins.
  2. Now from Administration menu, navigate to Extensions > Plugins > Editor – TinyMCE.
  3. On the right hand side, Open the section “Plugin Parameters” and choose “Extended” Functionality.
  4. Now open the section “Advanced Parameters” and at the very bottom, add “indicime” custom plugin and “indicime,indicimehelp” custom button.
  5. Now when you try to add new article, it will show you IndicIME and IndicIME Help.
  6. Enjoy typing in Indian languages.

Limitation of using TinyMCE is that if you want to customize the list of languages, you need to change php code heavily.

Write in 9 Indian Scripts in Drupal 6 using TinyMCE and FCKEditor Plugin

December 22nd, 2009 9 comments

Here is a procedure on how to enable Drupal 6 to write in Indian language Bengali / Gujarati / Hindi / Marathi / Sanskrit / Kannada / Malayalam / Oriya / Punjabi / Tamil and Telugu.

Prerequisite:

  1. Download Wysiwyg project and install it at WEBROOT\sites\all\modules\wysiwyg. Enable this module by navigating to Administer > Site Building > Modules.
  2. Download TinyMCE / FCKEditor and install it at WEBROOT\sites\all\libraries\tinymce(/fckeditor).

There are two ways to enable Drupal 6 to allow user to type in Indian scripts.

  1. Using TinyMCE
  2. Using FCKEditor

Both are equally capable with almost same functionality but it is just a matter of personal choice which one to use.

Using FCKEditor

  1. Download IndicIME plugin for FCKEditor and put it at WEBROOT\sites\all\libraries\fckeditor\editor\plugins so that “indicime” will become sub-folder of plugins
  2. Open the file WEBROOT\sites\all\modules\wysiwyg\editors\fckeditor.inc in text editor
  3. Copy/paste following code at the very bottom in the function wysiwyg_fckeditor_plugins.
    'indicime' => array(
          'path' => $editor['library path'] . '/editor/plugins',
          'buttons' => array(
            'indicime' => t('IndicIME'),
            'indicimehelp' => t('IndicIME Help'),
          ),
          'options' => array (
            'IndicIMEScripts' => t('My Bengali:bengali;My Gujarati:gujarati;My Devanagari:devanagari;English (F12):english'),
          ),
          'internal' => TRUE,
          'load' => TRUE,
        ),
  4. If you want all scripts to be shown, remove “options” line from the above code. “options” is given to show you easy customization of list.
  5. Now navigate to Administer > Site Configuration > Wysiwyg.
  6. For “Filtered HTML” and “Full HTML” input format, select “FCKEditor” and “Save”.
  7. After saving, you will be shown an option for “Edit” for each input format.
    fckinputformat
  8. Click on “Edit” and open section “Buttons and Plugins”. Select “IndicIME” and “IndicIME Help” button for both input format and “Save”.
    indicimebutton
  9. Now navigate to Create Content > Page, you will get Indic IME drop down box for choosing language and help button to show keyboard.fckindicime
  10. Enjoy typing in your own language.

Using TinyMCE

  1. Download IndicIME plugin for TinyMCE and put it at WEBROOT\sites\all\libraries\tinymce\jscripts\tiny_mce\plugins so that “indicime” will become sub-folder of plugins
  2. Open the file WEBROOT\sites\all\modules\wysiwyg\editors\tinymce.inc in text editor
  3. Copy/paste following code at the very bottom in the function wysiwyg_tinymce_plugins.
    'indicime' => array(
            'path' => $editor['library path'] .'/plugins/indicime',
            'buttons' => array(
              'indicime' => t('IndicIME'),
              'indicimehelp' => t('IndicIME Help')
            ),
            'options' => array (
              'indicime_scripts' => t('My Bengali:bengali;My Gujarati:gujarati;My Devanagari:devanagari;English (F12):english')
            ),
            'internal' => TRUE,
            'load' => TRUE,
             ),
  4. If you want all scripts to be shown, remove “options” line from the above code. “options” is given to show you easy customization of list.
  5. Now navigate to Administer > Site Configuration > Wysiwyg.
  6. For “Filtered HTML” and “Full HTML” input format, select “TinyMCE” and “Save”.
  7. After saving, you will be shown an option for “Edit” for each input format.
    IndicIME for TinyMCE with Drupal
  8. Click on “Edit” and open section “Buttons and Plugins”. Select “IndicIME” and “IndicIME Help” button for both input format and “Save”.
    indicimebutton
  9. Now navigate to Create Content > Page, you will get Indic IME drop down box for choosing language and help button to show keyboard.IndicIME for TinyMCE with Drupal
  10. Enjoy typing in your own language.

Update 4th Jan, 2009: I have added code to customize the list of scripts for TinyMCE and FCKEditor. Thanks to Ramana.

Change MS Access application title and icon using VBA

December 15th, 2009 No comments

Here is a code to change MS Access application title and icon using VBA. This code also sets the application icon as form and report default icon.

Dim db As Database
Set db = CurrentDb
db.Properties("AppIcon").Value = CurrentProject.Path & "\Bee.ico"
db.Properties("AppTitle").Value = msgMainTitle
db.Properties("UseAppIconForFrmRpt").Value = True
Application.RefreshTitleBar

Click here for list of all properties exposed by CurrentDB.Properties().

Categories: MS Access Tags: , ,

List of MS Access properties available through CurrentDB.Properties

December 15th, 2009 1 comment

CurrentDB.Properties is nothing but a collection. If you can iterate through a collection, you will be able to get the list of all the properties. Code to iterate through all properties is

Dim i As Integer
For i = 0 To CurrentDb.Properties.count - 1
   Debug.Print CurrentDb.Properties(i).Name
Next

It gave me following list of properties.

Name
Connect
Transactions
Updatable
CollatingOrder
QueryTimeout
Version
RecordsAffected
ReplicaID
DesignMasterID
Connection
ANSI Query Mode
Themed Form Controls
AccessVersion
Build
ProjVer
StartUpForm
StartUpShowDBWindow
StartUpShowStatusBar
AllowShortcutMenus
AllowFullMenus
AllowBuiltInToolbars
AllowToolbarChanges
AllowSpecialKeys
UseAppIconForFrmRpt
Track Name AutoCorrect Info
Perform Name AutoCorrect
AppTitle
AppIcon

I don’t know the data types of the these properties but I put it for quick reference.

Categories: MS Access Tags: ,

Review of InfoPath forms functionality in Business Productivity Online Suite (BPOS)

November 13th, 2009 No comments

I got some hands on experience about Business Productivity Online Suite(BPOS). Its a great tool for small companies who wants to have exchange server, office communicator, sharepoint and live meeting for their business needs. I do have experience with SharePoint and InfoPath but this assignment was quite challenging.

Well, What’s the challenge?

  1. New assignment requires me to use InfoPath forms to reduce client’s paperwork.
  2. Many bloggers have written that InfoPath form is not supported in BPOS standard suite.
  3. Client does not want to invest in buying InfoPath. Many of client users are contractors and client does not want to buy license if they need to.

So how I am going to do?

InfoPath is supported in BPOS standard suite. Even browser enabled InfoPath forms are supported.

So why am I writing review?

Well, even though InfoPath is supported, there are lots of limitations that I want to share with you. Of course, if the client would have got InfoPath license, my life would have been much easier but I love challenges. I had previously not worked with browser enabled form so it was a new concept for me. When I initial though of creating solution, I thought that InfoPath form is backed by .Net power so I don’t need to worry about anything and I will quickly put the solution but I was wrong. Here is a good list of InfoPath 2007 features those are not supported in InfoPath Form Service. This is a limitation of Form Service. On the top of it, there is a limitation of BPOS which cripples how we develop the solution.

Here is a list of limitations of InfoPath form Service and BPOS that I confronted so far.

  • I cannot use any kind of .Net code
  • I cannot retrieve data from SharePoint List/Web Service (throws evergreen LogID 5566 error. This error occurs because of certificate name – as per support response) using custom views.
  • Some of the controls are not supported in browser enabled forms.
  • BPOS does not support data connection library in standard suite so I have to manually change the URL while moving forms from staging site to production.
  • Browser enabled form does not support mobile view.

Here is a list of what you can do with it?

  • I can only use Rules, Conditional formatting and Data Validations.
  • You can get all data from the list but not from particular view.
  • It supports multiple view. You can even hide view and open it (for example) by clicking on a button.

How to enable canonical Url for SEO in DotNetNuke 5.x?

September 15th, 2009 2 comments

Recently DotNetNuke 5.x has changed much of Url rewriting. I had updated my website running on DotNetNuke 4.9 to 5.x and now I have lost all my Google rank which were depending on old URLs.  Now all new URL seems very search engine friendly but I need my Google rank back to the new URL but is not possible because I have to create duplicate pages with new permanent redirect. Of course, there is another way of getting it back and even for future, we can save our google rank using Canonical URL.  Now we will learn what is canonical url and how we can add it in existing DotNetNuke installation. Read more…

Firefox 3.5.2: How to view cookie dialog?

September 9th, 2009 1 comment

Today I wanted to view my cookies but I couldn’t find it when I navigated to Tools Menu > Options > Privacy. It showed me only History and Location Bar frames but previously I used to see Show Cookies button. Finally I found where it was hidden. Read more…

Categories: Tricks n Techniques Tags: ,

Restore internet connection and system tray icon after spyware/virus removal

September 2nd, 2009 1 comment

While I was surfing internet, I don’t know where I clicked and it opened up a website which in turn opened a popup window. Within a matter of few seconds, my FireFox browser froze and in the system tray icon, it showed me little nice blue icon with a pop up saying “Your computer is infected with virus. Click here to fix it.”. (Who says Firefox 3.5 is a secure browser?). I killed the Firefox process from Task Manager but I was running as admin of the computer so it created much problem for me as it might have injected lot of spyware/virus. Even Norton Anti-virus could not detect anything while it was running. I immediately disconnected computer from internet so that it won’t affect any other machine and/or send any information from my computer to outside world. Read more…

WD 360 GB external harddrive copy error and solution

August 14th, 2009 2 comments

Last year I purchased Western Digital 360GB external USB harddrive. I tried to copy a big file but it said that I don’t have enough space on my hard disk. I wondered why it was throwing an error as I had enough space on my external drive and also computer drive (in case copy command need it for buffer????) I searched internet and found that if the hard disk is formatted as FAT32, it will not allow the file greater than 4 GB size. So what is the solution? Read more…

WPMU 2.6 to 2.8 upgrade errors

August 11th, 2009 1 comment

I am the Webmaster of Gujarati Sahitya Sarita Website. From past so many days I wanted to update this site but couldn’t get enough time to get it done. Finally I dared to upgrade this site. This site was using old codebase wpmu 2.6. Upgrade from 2.6 to 2.7 was easy. I had to do it manually. It worked fine but then I auto upgraded to 2.8.

Now when I tried to login, it gave me weird error “You do not have sufficient permissions to access this page” even though I tried to use “admin” username.  I searched a lot but not found enough information. I also tried to debug the code but all in vein. Finally I directly looked into table “wp_usermeta” for userid = 1, meta_key=”wp_1_capabilities”. I found that it contains value “Administrator” instead of “administrator”. I changed it to lowercase and I was able to login.

Once I logged in, I cannot view “Site Admin” menu which is a must for managing overall functionality of the blog. I tried to search it but could not find anything. I looked into table “wp_sitemeta” for Site_id = 1 and meta_key = “site_admins”. I found extra “\” (backslash) into the value. I removed it and it worked fine.

Also I lost all my sitewide settings so make sure you apply those settings again.

Categories: WordPress Tags: