Sun Java System Instant Messaging 7.2 管理指南

自定义 Instant Messenger

Instant Messenger 可以自定义。可以自定义 HTML 和 JNLP 文件以适应组织的特殊需要。如果想要自定义资源文件以用于部署,您应该运行 configure 实用程序(如果安装后尚未这样做),自定义文件,然后重新部署资源文件。您需要先运行 configure 实用程序,因为它创建某些您可以自定义的文件。(有关重新部署的说明,参见重新部署资源文件。)

可通过以下方式自定义 Instant Messenger 以满足您的要求:

本节说明您可以修改以自定义 Instant Messenger 的 Instant Messaging 服务器文件。所有您可以自定义的文件均位于资源目录 im-svr-base/html 目录中。有关默认目录位置的信息,参见表 3–1

Instant Messenger 资源文件

Instant Messenger 资源文件位于称为资源目录或 im-svr-base/html 的目录内。

表 15–1 包含资源目录 (im-svr-base/html) 中 Instant Messenger 文件的列表。它还包含这些文件的说明和自定义信息。在资源目录内,/locale 子目录通常在目录路径中以 lang 表示,但在具体情况下用语言缩写来表示,例如 en_USjpfr_FR

表 15–1 im-svr-base/html 中的 Instant Messenger 资源文件

文件 

说明 

是否可以自定义? 

lang/im.html

启动 Java 插件版 Instant Messenger 的初始页面。 

可以 

im.html.template

im.html 的模板版本。

不可以, 

此文件供安装程序用来生成 im.html 文件。

imdesktop.jar

客户机 .jar 文件,由 im.htmlim.jnlp 文件下载。

不可以 

lang/im.jnlp

用于启动 Java Web Start 版 Instant Messenger 的 .jnlp 文件。

可以 

im.jnlp.template

im.jnlp 的模板版本。

不可以 

imjni.jar

客户机 .jar 文件,由 im.htmlim.jnlp 下载。

不可以 

messenger.jar

主要客户机 .jar 文件,由 im.htmlim.jnlp 下载。

不可以 

icalendar.jar

用于处理日历提示的 icalendar 分析程序。

不可以 

imnet.jar

客户机 .jar 文件,由 im.htmlim.jnlp 下载。

不可以 

lang/imbrand.jar

此文件包含可自定义的属性、样式表、图像、背景和音频文件。 

可以 

lang/imssl.html

启动 Java 插件版 Instant Messenger 的初始页面。它用于在客户机和多路复用器之间运行传统 SSL。不要在客户机和服务器之间通过 TLS 进行的安全通信中使用此文件。

可以 

imssl.html.template

imssl.html 的模板版本。

不可以 

lang/imssl.jnlp

此文件启动 Java Web Start 版的 Instant Messenger。此文件用于在客户机和多路复用器之间运行 SSL。 

可以 

imssl.jnlp.template

imssl.jnlp 的模板版本。

不可以 

jnlpLaunch.jsp

如果最终用户已登录到 Sun JavaTM System Access Manager,此文件可用于允许单点登录以及使用 Java Web Start 启动 Instant Messenger。

可以 

pluginLaunch.jsp

如果最终用户已登录到 Sun Java System Access Manager,此文件可用于允许单点登录和使用 Java 插件启动 Instant Messenger。 

可以 

index.html

LDAP 部署的初始页面。它包含到 im.htmlim.jnlp 的链接,以及到 windows.htmsolaris.htmquickref.htm 的文档链接。您可以根据站点的要求自定义此页。

可以 

index.html.template

index.html 的模板版本。

不可以 

lang/imhelp/SunONE.jpg

quickref.htmsolaris.htmwindows.htm 使用的图像。

可以替换,但不能修改。 

quickref.html

solaris.html

windows.html

位于 lang/imhelp/,这些文件提供有关 Instant Messenger 入门的文档。

可以 

lang/imhelp

“Instant Messenger 联机帮助”目录。 

不可以 

imwebex.jar

 

 

msgrinstall.jar

 

 

自定义 index.htmlim.html 文件

如果您在不带 Sun Java System Access Manager 的部署中使用 Instant Messenger,则可以修改 index.htmlim.html 文件的 static 部分,以生成一个完全自定义的用户界面。这些 HTML 文件包含说明如何格式化和处理文本的文本和标记。标记由指定标题格式、缩进、字体大小和字体样式的一组标签实现。

以下是一些可以修改的页面元素:

可从 index.html 启动 Instant Messenger applet 和 Java Web Start 应用程序。如果您运行 Instant Messenger applet,请修改 im.html 文件。im.html 文件被 index.html 调用,自身可以调用 Instant Messenger applet。im.html 文件在运行 configure 实用程序时生成,并包含一个指向多路复用器的 applet 参数。


注 –

参数“<PARAM NAME="server" VALUE="servername"> ”在 im.html 文件中表示 Instant Messaging 多路复用器及其端口。如果您更改了 iim_mux.listenport 参数的默认值,则需要将 servername 的值更改为 host.domain :port


使用 Sun Java System Access Manager SSO 启动 Instant Messenger

要使用带 Sun Java System Access Manager 的单点登录 (SSO) 启动 Instant Messenger 客户机,可使用 IMLaunch.jsp。该文件位于资源目录中。

Sun Java System Access Manager 和 Instant Messenger 必须配置为使用相同的 Web 容器启用 SSO。

要启动 Instant Messenger,可在 Web 浏览器中输入以下内容:


codebase/IMLaunch.jsp?server=multiplexor-hostname:muliplexor-port


codebase/IMLaunch.jsp?server=www.example.com:5222

其中:

codebase 是用于下载 Instant Messenger 资源的代码库。例如,http://www.example.com

multiplexor-hostname 是多路复用器的主机名。例如,http://www.company22.com

muliplexor-port 是多路复用器侦听收到的客户机请求所使用的端口号。例如,5222

IMLaunch.jsp 用于通过 Java Web Start 或 Java 插件启动 Instant Messenger。

自定义应用程序 (Java Web Start)

如果使用 Java Web Start 运行 Instant Messenger,则可通过修改 im.jnlpimres.jnlpimres.jar 文件来自定义用户界面。以下是可以对这些文件所做的修改:


示例 15–1 im.jnlp 文件样例


<?xml version="1.0" encoding="utf-8"?>
<!-- Instant Messenger -->
<jnlp
  spec="1.0+"
  codebase="http://im.i-zed.com:80/im"
  href="en/im.jnlp">
  <information>
    <title>Instant Messaging</title>
    <vendor>I-Zed.com</vendor>
    <homepage href="http://www.I-zed.com/"/>
    <description>I-Zed’s Sun Java System Instant Messenger</description>
    <description kind="short">Instant Messenger</description>
    <icon href="CompanyLogo.gif"/>
    <offline-allowed/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.3+">
      <resources>
        <jar href="en/imres.jar"/>
        <jar href="en/imbrand.jar"/>
      </resources>
    </j2se>
    <jar href="messenger.jar"/>
    <jar href="imdesktop.jar"/>
    <jar href="imnet.jar"/>
    <jar href="icalendar.jar"/>
    <nativelib href="imjni.jar"/>
  </resources>
  <application-desc main-class="com.iplanet.im.client.iIM">
    <argument>server=im.i-zed.com:45222</argument>
    <argument>help_codebase=http://im.i-zed.com:80/im/en</argument>
  </application-desc>
</jnlp>


注 –

im.jnlp 文件中,参数 <argument> servername</argument> 表示 Instant Messaging 多路复用器主机和端口。如果您更改了 iim_mux.listenport 参数,则您需要将 servername 的值更改为 host.domain :port


imbrand.jar 的内容

本节中的表列出了 imbrand.jar 文件中的文件并尽可能地提供了每个文件的说明。imbrand.jar 文件还包含您可用于重建 Instant Messenger 的图像和音频文件。本节包含以下表格:

表 15–2 配置文件

文件 

说明 

brand.properties

 

chat-styles.css

 

bgstyles.properties

背景配置文件,用于扩展背景设置 

表 15–3 表情图标

文件名 

说明 

emo_alarm.png

以图形表示报警情绪 

emo_angel.png

以图形表示天使般的情绪 

emo_angry.png

以图形表示愤怒情绪 

emo_balloons.png

一束气球的图示 

emo_beermug.png

一杯啤酒的图示 

emo_cake.png

一块生日蛋糕的图示 

emo_calendar.png

一份日历的图示 

emo_canworms.png

一罐蠕虫的图示 

emo_clown.png

小丑头形的图示 

emo_cool.png

以图形表示酷的情绪。 

emo_dead.png

以图形表示死亡 

emo_devil.png

以图形表示邪恶情绪 

emo_dont-tell.png

以图形表示秘密请求 

emo_embarrassed.png

以图形表示尴尬情绪 

emo_exclamation.png

一个感叹号的图示 

emo_flower.png

一朵花的图示 

emo_ghost.png

一个鬼的图示 

emo_goldstar.png

一颗金星的图示 

emo_grin.png

以图形表示咧嘴笑 

emo_kiss.png

以图形表示亲吻 

emo_laughing.png

以图形表示欢笑情绪 

emo_lifepreserver.png

一个救生设备的图示 

emo_lightning.png

雷暴云和闪电的图示 

emo_lovestruck.png

表示爱慕情绪的表情图标 

emo_martini.png

一个马提尼酒杯的图示 

emo_money.png

几堆硬币的图示 

emo_musicnote.png

一个音符的图示 

emo_nerd.png

傻笑的图示 

emo_nottalking.png

以图形表示转过去的面孔 

emo_phone.png

一部电话机的图示 

emo_present.png

一件带包装礼物的图示 

emo_psychoknife.png

一把刀的图示 

emo_rathole.png

一个老鼠洞的图示 

emo_sad.png

以图形表示悲伤情绪 

emo_sick.png

以图形表示生病 

emo_sleep.png

以图形表示睡眠 

emo_smiley.png

以图形表示微笑 

emo_straightfaced.png

一个板起面孔之人的图示 

emo_sunshining.png

太阳的图示 

emo_surprised.png

以图形表示惊奇 

emo_tongue-out.png

一个吐舌头的图示 

emo_violin.png

一把小提琴的图示 

emo_whatever.png

以图形表示漠不关心或轻视 

表 15–4 应用程序图标 – Windows

文件名 

说明 

im_app_icon_16.png

Windows 标题栏图标 

im_app_icon_24.png

Windows 标题栏图标 

tray_icon.ico

Windows 系统托盘图标 

表 15–5 应用程序图标 – 所有平台

文件名 

说明 

logo_login_footer.png

在“登录”对话框底部显示的徽标 

logo_register.png

在“注册”对话框中显示的徽标 

logo_sun.png

在“登录”对话框中显示的 Sun 徽标 

表 15–6 工具栏图标

文件名 

说明 

tb_addcontacts.png

“添加联系人”按钮的图形 

tb_alert.png

“发送警报”按钮的图形 

tb_chat.png

“与用户聊天”按钮的图形 

tb_conf.png

“添加会议”按钮的图形 

表 15–7 联系人列表图标

文件名 

说明 

cl_folder_closed.png

以图形表示一个关闭的文件夹 

cl_folder_open.png

以图形表示一个打开的文件夹 

表 15–8 在线状态图标 - 联系人列表

文件名 

说明 

cl_activeconf.png

用于在“联系人列表”中显示活动会议的图标 

cl_away.png

用于在“联系人列表”中显示离开状态的图标 

cl_dnd.png

 

cl_idle.png

用于在“联系人列表”中显示空闲状态的图标 

cl_inactiveconf.png

用于在“联系人列表”中显示非活动会议的图标 

cl_offline.png

用于在“联系人列表”中显示脱机状态的图标 

cl_online.png

用于在“联系人列表”中显示联机状态的图标 

cl_pending.png

用于在“联系人列表”中显示未决状态的图标 

表 15–9 在线状态图标 - 状态栏

文件名 

说明 

sb_away.png

用于在“状态栏”中显示离开状态的图标 

sb_dnd.png

 

sb_idle.png

用于在“状态栏”中显示空闲状态的图标 

sb_offline.png

用于在“状态栏”中显示脱机状态的图标 

sb_online.png

用于在“状态栏”中显示联机状态的图标 

表 15–10 调色板的背景和背景色标

bgplt_tex_blue.gif

bgplt_tex_brown.gif

bgplt_tex_bubble_blue.gif

bgplt_tex_bubble_brown.gif

bgplt_tex_bubble_green.gif

bgplt_tex_bubble_grey.gif

bgplt_tex_bubble_orange.gif

bgplt_tex_bubble_purple.gif

bgplt_tex_bubble_ruby.gif

bgplt_tex_crackle_blue.gif

bgplt_tex_crackle_green1.gif

bgplt_tex_crackle_grey.gif

bgplt_tex_crackle_olive.gif

bgplt_tex_crackle_orange.gif

bgplt_tex_crackle_purple.gif

bgplt_tex_crackle_ruby.gif

bgplt_tex_gradation_blue.gif

bgplt_tex_gradation_brown.gif

bgplt_tex_gradation_green.gif

bgplt_tex_gradation_grey.gif

bgplt_tex_gradation_orange.gif

bgplt_tex_gradation_purple.gif

bgplt_tex_gradation_ruby.gif

bgplt_tex_green.gif

bgplt_tex_orange.gif

bgplt_tex_pink.gif

bgplt_tex_purple.gif

bgplt_tex_weave_blue.gif

bgplt_tex_weave_brown.gif

bgplt_tex_weave_green.gif

bgplt_tex_weave_grey.gif

bgplt_tex_weave_orange.gif

bgplt_tex_weave_purple.gif

bgplt_tex_weave_ruby.gif

bgplt_tex_white.gif

bg_tex_bubble_blue.gif

bg_tex_bubble_brown.gif

bg_tex_bubble_green.gif

bg_tex_bubble_grey.gif

bg_tex_bubble_orange.gif

bg_tex_bubble_purple.gif

bg_tex_bubble_ruby.gif

bg_tex_crackle_blue.gif

bg_tex_crackle_green1.gif

bg_tex_crackle_grey.gif

bg_tex_crackle_olive.gif

bg_tex_crackle_orange.gif

bg_tex_crackle_purple.gif

bg_tex_crackle_ruby.gif

bg_tex_gradation_blue.gif

bg_tex_gradation_brown.gif

bg_tex_gradation_green.gif

bg_tex_gradation_grey.gif

bg_tex_gradation_orange.gif

bg_tex_gradation_purple.gif

bg_tex_gradation_ruby.gif

bg_tex_weave_blue.gif

bg_tex_weave_brown.gif

bg_tex_weave_green.gif

bg_tex_weave_grey.gif

bg_tex_weave_orange.gif

bg_tex_weave_purple.gif

bg_tex_weave_ruby.gif

表 15–11 声音

文件名 

说明 

alert.wav

警报声音 

alerttpc.wav

警报声音 

away.wav

将状态改为离开时所用的声音 

receive.wav

收到消息时所用的声音 

send.wav

发送消息时所用的声音 

soundoff.wav

关闭声音时所用的声音 

soundon.wav

打开声音时所用的声音 

重建 Instant Messenger

imbrand.jar 文件包含控制 Instant Messenger 外观的所有图像和属性。您可以通过修改 imbrand.jar 中的图像和属性来自定义 Instant Messenger 的外观。

Procedure重建 Instant Messenger

  1. imbrand.jar 文件复制到一个工作目录中。

    例如:


    cp im-svr-base/html/lang/imbrand.jar working-directory
    
  2. 转到该工作目录。


    cd working-directory 
    
  3. 提取 imbrand.jar 文件。


    jar xf imbrand.jar
    

    此命令可创建复制资源文件的目录树。当您修改 imbrand.jar 文件中的个别文件时,必须保持此目录结构。

    或者,可提取包括在 imbrand.jar 中的单个文件,并将其置于指定的目录结构中。例如,要只提取 brand.properties,使用以下命令:


    jar xf imbrand.jar com/sun/im/desktop/brand/brand.properties
    
  4. 用修改后的 .gif.wav.properties 文件更新 imbrand.jar

    您可以更新 imbrand.jar 中的所有文件,方法如下:

    jar cf imbrand.jar .

    要用单个修改过的文件更新 imbrand.jar,使用以下命令:


    jar uf imbrand.jar com/sun/im/desktop/brand/filename
    

    其中,filenameimbrand.jar 中所包括文件的名称,例如,brand.properties

  5. imbrand.jar 复制到资源目录。

    例如:


    cp imbrand.jar im-svr-base/html/lang/ .
    

    注 –

    如果您的部署中支持多语言环境,请对每个支持的语言环境执行该过程以重建 Instant Messenger。


自定义用户名和组名显示方式

您可以通过更改用于显示联系人姓名的属性来自定义 Instant Messenger 如何显示联系人和组的名称。默认情况下,Instant Messenger 使用属性 cn 表示用户的显示名称。在您的部署中,您可能喜欢使用 uid 或某些其他属性来代替 cn

联系人姓名显示为。例如,Frank SmithMary Jones 等。如果两个最终用户具有相同的名和姓,就无法知道应添加哪一个最终用户到联系人列表中。您可以自定义 Instant Messenger 在用户的搜索结果中显示更多信息,并在“联系人”工具提示中显示附加信息以帮助区分联系人。例如,当鼠标放在联系人上时,显示该联系人的电话号码。

Procedure更改用于显示用户名的属性

  1. 打开 iim.conf

    有关查找和修改 iim.conf 的说明,参见iim.conf 文件语法

  2. 指定显示用户名要使用的属性,以 iim_ldap.userdisplay 的值的形式进行指定。

    例如,要使用 nickname 属性,则设置 iim_ldap.userdisplay 属性如下:

    iim_ldap.userdisplay=nickname

  3. 保存并关闭该文件。

Procedure更改用于显示组名的属性

  1. 打开 iim.conf

    参见 iim.conf 文件语法以获得有关查找和修改 iim.conf 的说明。

  2. 指定显示用户名要使用的属性,以 iim_ldap.groupdisplay 的值的形式进行指定。

    例如,要使用 uid 属性,则设置 iim_ldap.groupdisplay 属性如下:

    iim_ldap.groupdisplay=uid

    保存并关闭该文件。

Procedure自定义搜索结果中的用户名显示发式

  1. imbrand.jar 提取文件。

    有关 imbrand.jar 的默认位置,参见表 15–1

  2. 转到下列目录:

    com/sun/im/client/

  3. 打开 brand.properties

  4. dialogs.searchresults.format 属性添加到该文件。

  5. 按以下格式添加您想要包括在搜索结果中的属性:

    ${attr:attribute-name }

    其中,attribute-name 是 LDAP 属性的名称。

    例如,要包括 title 属性,可添加以下行:

    dialogs.searchresults.format=(${attr:title})

  6. 保存更改并关闭文件。

  7. 重新打包 imbrand.jar

  8. 添加用户属性到 iim.conf

    指定该属性作为 iim_ldap.userattributes 参数的值。使用逗号分隔多个属性,例如:

    iim_ldap.userattributes=title,department,telephonenumber

    有关查找和修改 iim.conf 的说明,参见iim.conf 文件语法

Procedure自定义工具提示内容

  1. imbrand.jar 提取文件。

    有关 imbrand.jar 的默认位置,参见表 15–1

  2. 转到下列目录:

    com/sun/im/client/

  3. 打开 brand.properties

  4. 添加 contact.tooltip.format.html 属性到该文件。

  5. 指定您想要在工具提示中显示为 contact.tooltip.format.html 的值的属性。

    例如,如果您想要显示联系人的电话号码和电子邮件地址,则输入:

    contact.tooltip.format.html=mailto: ${attr:mail} tel: ${attr:telephonenumber}

    有关自定义 imbrand.jar 文件内容的更多信息,参见自定义应用程序 (Java Web Start)

  6. 保存您的更改并关闭文件。

  7. 重新打包 imbrand.jar