From ys148558@sac.sfbay.sun.com Sun Jul  6 18:48:16 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m671mFH7025367
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 6 Jul 2008 18:48:15 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m671mEQL026891;
	Sun, 6 Jul 2008 19:48:15 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3M0080550FC500@nwk-avmta-1.sfbay.Sun.COM>; Sun,
 06 Jul 2008 18:48:15 -0700 (PDT)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3M007GS50EH910@nwk-avmta-1.sfbay.Sun.COM>; Sun,
 06 Jul 2008 18:48:14 -0700 (PDT)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id m671mEoL013219; Sun, 06 Jul 2008 18:48:14 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m671mC18025362; Sun,
 06 Jul 2008 18:48:12 -0700 (PDT)
Received: (from ys148558@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id m671mCuT025358; Sun,
 06 Jul 2008 18:48:12 -0700 (PDT)
Date: Sun, 06 Jul 2008 18:48:12 -0700 (PDT)
From: Yong Young Sun <ys148558@sac.sfbay.sun.com>
Subject: Integrate SCIM to Solaris [PSARC/2008/418 FastTrack timeout 07/11/2008]
To: PSARC-ext@sun.com
Cc: gto-ext@sun.com, iiimf-eng@sun.com
Message-id: <200807070148.m671mCuT025358@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 7762


Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 Integrate SCIM to Solaris
    1.2. Name of Document Author/Supplier:
	 Author:  Yong Sun
    1.3  Date of This Document:
	06 July, 2008

2. Project Summary
   2.1. Project Description:
        This project is to integrate SCIM (www.scim-im.org) and its various
        IMEs (input method engines) to Solaris Nevada and OpenSolaris.

        COMPONENT       VERSION   LICENSE TERMS
        ----------------------------------------
        scim:            1.4.7    LGPLv2.1
        scim-bridge:     0.4.14   GPLv2 and LGPLv2.1
        scim-anthy:      1.2.4    GPLv2
        scim-chewing:    0.3.1    GPLv2
        scim-hangul:     0.3.2    GPLv2
        libdatrie:       0.1.2    LGPLv2.1
        libthai:         0.1.9    LGPLv2.1
        scim-thai:       0.1.0    GPLv2
        scim-pinyin:     0.5.91   GPLv2
        scim-tables:     0.5.7    GPLv2
        scim-sunpinyin:  1.0      LGPLv2.1 and CDDL

   2.2. Risks and Assumptions:
        The SDK library and IME interface of SCIM are in C++, we are using
        SunStudio C++ compiler to build the components, it may not work with
        the 3-party IMEs built by g++.

4. Technical Description
   4.1. Details:

      4.1.1 SCIM Overview:
        SCIM is an opensourced input method framework, lead by James Su. It has
        similar client/server architecture as IIIMF[1].

        +------------+   +---------------+    +--------+     +-----------+
        |   GtkApp   |   |    GtkApp     |    | X11App |     |   QtApp   |
        +------------+   +---------------+    +--------+     +-----------+
        |scim-gtk-imm|   |scim-bridge-imm|    |ximcp.so|     |scim-qt-imm|
        +----^-------+   +-----^---------+    +----^---+     +-----^-----+
             |                 |                   |               |
             |        +--------V--------+   +------V----------+    |
             |        |scim-bridge-agent|   |scim-xim-frontend|    |
             |        +--------^--------+   +------^----------+    |
             |                 |                   |               |
             +-----------------+-------------------+---------------+
                               |
                        +------V------+
                        | scim-server |
               +--------+-------------+--------+ ~~~
               |  IME1  |     IME2    |  IME3  | ...
               +--------+-------------+--------+ ~~~

        'scim-gtk-imm' is a gtk-im-module that talks to 'scim-server' directly, 
        it's written by C++. To avoid the C++ ABI issue, 'scim-bridge' was 
        introduced, it has a gtk-im-module written by C, and an agent daemon
        in C++ that communicates to scim-server eventually. Legacy X11 app 
        talks to 'scim-xim-frontend' via XIMP (X11 Input Method Protocol), and 
        then connect to 'scim-server'. 'scim-server' loads the engines as 
        shared objects, and dispatches events to individual engine.

        'scim-helper-manager' is not shown in above diagram, it manages some
        helper modules, such as setup.so, which loads configuration GUI
        components provided by engines.

      4.1.2 Switching between SCIM and IIIMF
        NOTE, after the integration of SCIM, IIIMF would still be the default
        input method framework on Solaris/OpenSolaris.
        
        For gdm(1), we'd provide a xsession script in /etc/scim, which starts
        scim daemons only if $GTK_IM_MODULE equals 'scim'. And the xsession file
        for IIIMF (/etc/iiim/xsession, shipped with SUNWiiimf-root) would start 
        IIIMF daemons when $GTK_IM_MODULE is not set or equals to 'iiimf' or 
        'xim'. We would modify /etc/X11/gdm/Xsession to include the xsession
        file for scim. (The one for IIIMF is already included.)

        For dtlogin(1), we would modify the input method start script at 
        /usr/openwin/lib/locale/common/imsscript/S505multi, to start preferred 
        input method frameworks by user's profile.

        So, user could set $GTK_IM_MODULE environment variable in $HOME/.profile
        to select either IIIMF or scim framework. 

    4.2. Bug/RFE Number(s):
        None
    
    4.3. In Scope:
        N/A

    4.4. Out of Scope:
        KDE/Qt support is out of scope.         
    
    4.5. Interfaces:

        INTERFACE NAME             STABILITY    NOTE
        -------------------------- ---------------------------------------------
        /usr/lib/libdatrie.so      Uncommitted  double-array trie library
        /usr/lib/libthai.so        Uncommitted  Thai language processing library

        IMEngine C++ API           Uncommitted  C++ interface for engines
        /usr/lib/libscim-1.0.so    Uncommitted  scim SDK C++ library
        /usr/lib/{amd64,sparcv9}/  Uncommitted  scim SDK C++ 64bits library
        libscim-1.0.so

        /etc/iiim/xsession         Committed    iiim start scripts for gdm
        /etc/scim/xsession         Uncommitted  start scripts for gdm
        /etc/scim/{config,global}  Uncommitted  scim default configurations
        /usr/bin/scim              Uncommitted  scim daemon watchdog
        /usr/bin/scim-bridge       Uncommitted  scim-bridge daemon

        /usr/lib/gtk-2.0/          Uncommitted  gtk-im-modules for scim and
        immodules/im-scim*.so                   scim-bridge

        /usr/lib/{amd64,sparcv9}/  Uncommitted  64bits gtk-im-modules for scim
        gtk-2.0/immodules/                      and scim-bridge
        im-scim*.so

        /usr/lib/scim-1.0/scim*    Uncommitted  scim executables, including scim
                                                server, helper manager etc.

        /usr/lib/scim-1.0/1.4.0/   Uncommitted  scim engines, including anthy
        IMEngines/*                             chewing, hangul, thai, pinyin,
                                                sunpinyin, tables etc.

        /usr/lib/scim-1.0/1.4.0    Uncommitted  configuration GUI components
        SetupUI/*                               for scim engines

        /usr/lib/scim-1.0/1.4.0    Uncommitted  unix domain sockets and XIMP
        FrontEnd/*                              frontends

        /usr/lib/scim-1.0/1.4.0/   Uncommitted  helper, filter, and config
        {Helper,Filter,Config}/*                modules for scim

        /usr/share/scim/*          Uncommitted  icons and data files for engines

    4.6. Doc Impact:
        None
    
    4.7. Admin/Config Impact:
        None
    
    4.8. HA Impact:
        None
    
    4.9. I18N/L10N Impact:
        None
 
    4.10. Packaging & Delivery:

        SUNWscim-bridge
        SUNWscim                SUNWscim-root          SUNWscim-devel
        SUNWlibdatrie           SUNWlibdatrie-devel
        SUNWlibthai             SUNWlibthai-devel
        SUNWscim-thai           SUNWscim-hangul        SUNWscim-anthy
        SUNWscim-pinyin         SUNWscim-sunpinyin     SUNWscim-chewing
        SUNWscim-tables         SUNWscim-tables-extra
        SUNWscim-tables-india   SUNWscim-tables-korean
        SUNWscim-tables-chinese SUNWscim-tables-japanese

    4.11. Security Impact:
        None.
    
    4.12. Dependencies:
        None.

5. Reference Documents:
    1). IIIMF project
        http://www.openi18n.org/iiimf
        PSARC 2005/525 IIIMF upgrade to revision 12

    2). SCIM and IMEngines
        http://www.scim-im.org 
        http://www.scim-im.org/projects/imengines

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		Globalization
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From Darren.Moffat@Sun.com Mon Jul  7 02:38:18 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m679cH7j007044
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 7 Jul 2008 02:38:18 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m679cDJO023178;
	Mon, 7 Jul 2008 10:38:16 +0100 (BST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3M00501QRR5C00@brm-avmta-1.central.sun.com>; Mon,
 07 Jul 2008 03:38:15 -0600 (MDT)
Received: from gmp-eb-inf-1.sun.com ([192.18.6.21])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3M001H1QRP9J20@brm-avmta-1.central.sun.com>; Mon,
 07 Jul 2008 03:38:14 -0600 (MDT)
Received: from fe-emea-09.sun.com (gmp-eb-lb-2-fe1.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m679cDdo012096; Mon,
 07 Jul 2008 09:38:13 +0000 (GMT)
Received: from conversion-daemon.fe-emea-09.sun.com by fe-emea-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K3M00I01O7QZV00@fe-emea-09.sun.com>
 (original mail from Darren.Moffat@Sun.COM); Mon,
 07 Jul 2008 10:38:13 +0100 (BST)
Received: from [129.156.173.21] by fe-emea-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0K3M00IHFQROUSB0@fe-emea-09.sun.com>; Mon,
 07 Jul 2008 10:38:13 +0100 (BST)
Date: Mon, 07 Jul 2008 10:38:12 +0100
From: Darren J Moffat <Darren.Moffat@Sun.com>
Subject: Re: Integrate SCIM to Solaris [PSARC/2008/418 FastTrack timeout
 07/11/2008]
In-reply-to: <200807070148.m671mCuT025358@sac.sfbay.sun.com>
Sender: Darren.Moffat@Sun.com
To: Yong Young Sun <ys148558@sac.sfbay.sun.com>
Cc: PSARC-ext@Sun.com, gto-ext@Sun.com, iiimf-eng@Sun.com
Message-id: <4871E404.9060804@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807070148.m671mCuT025358@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.14 (X11/20080602)
Status: RO
Content-Length: 299

What is the motivation for having SCIM as well as the already existing 
IIIMF ?  Is SCIM the future and IIIMF will be marked as Obsolete and 
eventually removed ?

What does SCIM do that IIIMF does not (and vice versa) ?

How does a user know which system they should be using ?

--
Darren J Moffat

From Yong.Sun@Sun.COM Mon Jul  7 03:12:08 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m67AC7wp007579
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 7 Jul 2008 03:12:07 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m67AC44I007017;
	Mon, 7 Jul 2008 11:12:05 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3M00J01SC52Z00@nwk-avmta-2.sfbay.sun.com>; Mon,
 07 Jul 2008 03:12:05 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3M00FAISC30H40@nwk-avmta-2.sfbay.sun.com>; Mon,
 07 Jul 2008 03:12:04 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m67ACU2D023096; Mon,
 07 Jul 2008 10:12:30 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K3M00M01S4Z3Q00@mail-apac.sun.com> (original mail from Yong.Sun@Sun.COM)
 ; Mon, 07 Jul 2008 18:09:54 +0800 (SGT)
Received: from yongmini.local ([129.150.144.28])
 by mail-apac.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr  3
 2006)) with ESMTPSA id <0K3M009L0S8F8ABV@mail-apac.sun.com>; Mon,
 07 Jul 2008 18:09:54 +0800 (SGT)
Date: Mon, 07 Jul 2008 18:12:00 +0800
From: Yong Sun <Yong.Sun@Sun.COM>
Subject: Re: Integrate SCIM to Solaris [PSARC/2008/418 FastTrack timeout
 07/11/2008]
In-reply-to: <4871E404.9060804@Sun.COM>
Sender: Yong.Sun@Sun.COM
To: Darren J Moffat <Darren.Moffat@Sun.COM>
Cc: Yong Young Sun <ys148558@sac.sfbay.sun.com>, PSARC-ext@Sun.COM,
        gto-ext@Sun.COM, iiimf-eng@Sun.COM
Message-id: <4871EBF0.7050104@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=UTF-8
Content-transfer-encoding: 8BIT
X-PMX-Version: 5.4.1.325704
References: <200807070148.m671mCuT025358@sac.sfbay.sun.com>
 <4871E404.9060804@Sun.COM>
User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421)
Status: RO
Content-Length: 996

Hi, Darren,

Please see my reply in-line,

Darren J Moffat 写道:
> What is the motivation for having SCIM as well as the already existing 
> IIIMF ? Is SCIM the future and IIIMF will be marked as Obsolete and 
> eventually removed ?
SCIM (smart common input method) is a more popular input method 
framework in Linux distributions (e.g. Fedora, Ubuntu, SuSE etc). 
Integrating SCIM would make OpenSolaris be more friendly to users 
migrated from Linux. And we would also provide more choices to users. 
IIIMF would NOT be obsoleted or removed.
>
> What does SCIM do that IIIMF does not (and vice versa) ?
SCIM is single-user based framework, IIIMF is capable to serve for 
multiple users cross network, therefore IIIMF has a little complex API 
and GUI component architecture.
>
> How does a user know which system they should be using ?
It's user's choice, basing on his/her own preferences. For Asian users, 
I think most users from Linux world may prefer to SCIM.
>
> -- 
> Darren J Moffat


From Yong.Sun@Sun.COM Sun Jul 13 22:51:09 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m6E5p9Zi022065
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 13 Jul 2008 22:51:09 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m6E5p7TB009404;
	Mon, 14 Jul 2008 06:51:08 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3Z00L01EX7EZ00@nwk-avmta-1.sfbay.Sun.COM>; Sun,
 13 Jul 2008 22:51:07 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3Z007AOEX69V80@nwk-avmta-1.sfbay.Sun.COM>; Sun,
 13 Jul 2008 22:51:06 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m6E5qB3D026472; Mon,
 14 Jul 2008 05:52:11 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K3Z00F01E9QOQ00@mail-apac.sun.com> (original mail from Yong.Sun@Sun.COM)
 ; Mon, 14 Jul 2008 13:48:49 +0800 (SGT)
Received: from [129.158.150.23] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K3Z009FSETC8A50@mail-apac.sun.com>; Mon,
 14 Jul 2008 13:48:49 +0800 (SGT)
Date: Mon, 14 Jul 2008 13:50:48 +0800
From: Yong Sun <Yong.Sun@Sun.COM>
Subject: Re: Integrate SCIM to Solaris [PSARC/2008/418 FastTrack timeout
 07/11/2008]
In-reply-to: <200807070148.m671mCuT025358@sac.sfbay.sun.com>
Sender: Yong.Sun@Sun.COM
To: Yong Young Sun <ys148558@sac.sfbay.sun.com>
Cc: PSARC-ext@Sun.COM, gto-ext@Sun.COM, iiimf-eng@Sun.COM
Message-id: <487AE938.6080806@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=UTF-8
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807070148.m671mCuT025358@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.14 (X11/20080616)
Status: RO
Content-Length: 8326

Hi, guys,

Since we have reached the duedate, and no negative comments, I'd like to 
close this case as "closed approved fast-track 07/11/2008". Thank you 
very much for the support!

Regards,

Yong Young Sun wrote:
> Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 Integrate SCIM to Solaris
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Yong Sun
>     1.3  Date of This Document:
> 	06 July, 2008
>
> 2. Project Summary
>    2.1. Project Description:
>         This project is to integrate SCIM (www.scim-im.org) and its various
>         IMEs (input method engines) to Solaris Nevada and OpenSolaris.
>
>         COMPONENT       VERSION   LICENSE TERMS
>         ----------------------------------------
>         scim:            1.4.7    LGPLv2.1
>         scim-bridge:     0.4.14   GPLv2 and LGPLv2.1
>         scim-anthy:      1.2.4    GPLv2
>         scim-chewing:    0.3.1    GPLv2
>         scim-hangul:     0.3.2    GPLv2
>         libdatrie:       0.1.2    LGPLv2.1
>         libthai:         0.1.9    LGPLv2.1
>         scim-thai:       0.1.0    GPLv2
>         scim-pinyin:     0.5.91   GPLv2
>         scim-tables:     0.5.7    GPLv2
>         scim-sunpinyin:  1.0      LGPLv2.1 and CDDL
>
>    2.2. Risks and Assumptions:
>         The SDK library and IME interface of SCIM are in C++, we are using
>         SunStudio C++ compiler to build the components, it may not work with
>         the 3-party IMEs built by g++.
>
> 4. Technical Description
>    4.1. Details:
>
>       4.1.1 SCIM Overview:
>         SCIM is an opensourced input method framework, lead by James Su. It has
>         similar client/server architecture as IIIMF[1].
>
>         +------------+   +---------------+    +--------+     +-----------+
>         |   GtkApp   |   |    GtkApp     |    | X11App |     |   QtApp   |
>         +------------+   +---------------+    +--------+     +-----------+
>         |scim-gtk-imm|   |scim-bridge-imm|    |ximcp.so|     |scim-qt-imm|
>         +----^-------+   +-----^---------+    +----^---+     +-----^-----+
>              |                 |                   |               |
>              |        +--------V--------+   +------V----------+    |
>              |        |scim-bridge-agent|   |scim-xim-frontend|    |
>              |        +--------^--------+   +------^----------+    |
>              |                 |                   |               |
>              +-----------------+-------------------+---------------+
>                                |
>                         +------V------+
>                         | scim-server |
>                +--------+-------------+--------+ ~~~
>                |  IME1  |     IME2    |  IME3  | ...
>                +--------+-------------+--------+ ~~~
>
>         'scim-gtk-imm' is a gtk-im-module that talks to 'scim-server' directly, 
>         it's written by C++. To avoid the C++ ABI issue, 'scim-bridge' was 
>         introduced, it has a gtk-im-module written by C, and an agent daemon
>         in C++ that communicates to scim-server eventually. Legacy X11 app 
>         talks to 'scim-xim-frontend' via XIMP (X11 Input Method Protocol), and 
>         then connect to 'scim-server'. 'scim-server' loads the engines as 
>         shared objects, and dispatches events to individual engine.
>
>         'scim-helper-manager' is not shown in above diagram, it manages some
>         helper modules, such as setup.so, which loads configuration GUI
>         components provided by engines.
>
>       4.1.2 Switching between SCIM and IIIMF
>         NOTE, after the integration of SCIM, IIIMF would still be the default
>         input method framework on Solaris/OpenSolaris.
>         
>         For gdm(1), we'd provide a xsession script in /etc/scim, which starts
>         scim daemons only if $GTK_IM_MODULE equals 'scim'. And the xsession file
>         for IIIMF (/etc/iiim/xsession, shipped with SUNWiiimf-root) would start 
>         IIIMF daemons when $GTK_IM_MODULE is not set or equals to 'iiimf' or 
>         'xim'. We would modify /etc/X11/gdm/Xsession to include the xsession
>         file for scim. (The one for IIIMF is already included.)
>
>         For dtlogin(1), we would modify the input method start script at 
>         /usr/openwin/lib/locale/common/imsscript/S505multi, to start preferred 
>         input method frameworks by user's profile.
>
>         So, user could set $GTK_IM_MODULE environment variable in $HOME/.profile
>         to select either IIIMF or scim framework. 
>
>     4.2. Bug/RFE Number(s):
>         None
>     
>     4.3. In Scope:
>         N/A
>
>     4.4. Out of Scope:
>         KDE/Qt support is out of scope.         
>     
>     4.5. Interfaces:
>
>         INTERFACE NAME             STABILITY    NOTE
>         -------------------------- ---------------------------------------------
>         /usr/lib/libdatrie.so      Uncommitted  double-array trie library
>         /usr/lib/libthai.so        Uncommitted  Thai language processing library
>
>         IMEngine C++ API           Uncommitted  C++ interface for engines
>         /usr/lib/libscim-1.0.so    Uncommitted  scim SDK C++ library
>         /usr/lib/{amd64,sparcv9}/  Uncommitted  scim SDK C++ 64bits library
>         libscim-1.0.so
>
>         /etc/iiim/xsession         Committed    iiim start scripts for gdm
>         /etc/scim/xsession         Uncommitted  start scripts for gdm
>         /etc/scim/{config,global}  Uncommitted  scim default configurations
>         /usr/bin/scim              Uncommitted  scim daemon watchdog
>         /usr/bin/scim-bridge       Uncommitted  scim-bridge daemon
>
>         /usr/lib/gtk-2.0/          Uncommitted  gtk-im-modules for scim and
>         immodules/im-scim*.so                   scim-bridge
>
>         /usr/lib/{amd64,sparcv9}/  Uncommitted  64bits gtk-im-modules for scim
>         gtk-2.0/immodules/                      and scim-bridge
>         im-scim*.so
>
>         /usr/lib/scim-1.0/scim*    Uncommitted  scim executables, including scim
>                                                 server, helper manager etc.
>
>         /usr/lib/scim-1.0/1.4.0/   Uncommitted  scim engines, including anthy
>         IMEngines/*                             chewing, hangul, thai, pinyin,
>                                                 sunpinyin, tables etc.
>
>         /usr/lib/scim-1.0/1.4.0    Uncommitted  configuration GUI components
>         SetupUI/*                               for scim engines
>
>         /usr/lib/scim-1.0/1.4.0    Uncommitted  unix domain sockets and XIMP
>         FrontEnd/*                              frontends
>
>         /usr/lib/scim-1.0/1.4.0/   Uncommitted  helper, filter, and config
>         {Helper,Filter,Config}/*                modules for scim
>
>         /usr/share/scim/*          Uncommitted  icons and data files for engines
>
>     4.6. Doc Impact:
>         None
>     
>     4.7. Admin/Config Impact:
>         None
>     
>     4.8. HA Impact:
>         None
>     
>     4.9. I18N/L10N Impact:
>         None
>  
>     4.10. Packaging & Delivery:
>
>         SUNWscim-bridge
>         SUNWscim                SUNWscim-root          SUNWscim-devel
>         SUNWlibdatrie           SUNWlibdatrie-devel
>         SUNWlibthai             SUNWlibthai-devel
>         SUNWscim-thai           SUNWscim-hangul        SUNWscim-anthy
>         SUNWscim-pinyin         SUNWscim-sunpinyin     SUNWscim-chewing
>         SUNWscim-tables         SUNWscim-tables-extra
>         SUNWscim-tables-india   SUNWscim-tables-korean
>         SUNWscim-tables-chinese SUNWscim-tables-japanese
>
>     4.11. Security Impact:
>         None.
>     
>     4.12. Dependencies:
>         None.
>
> 5. Reference Documents:
>     1). IIIMF project
>         http://www.openi18n.org/iiimf
>         PSARC 2005/525 IIIMF upgrade to revision 12
>
>     2). SCIM and IMEngines
>         http://www.scim-im.org 
>         http://www.scim-im.org/projects/imengines
>
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		Globalization
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
>
>   


