Getting Started with Preference Customization in Lotus Symphony
Gang Zhao (gangzhao@cn.ibm.com), Software Engineer, IBM
Lin Yuan (yuanlin@cn.ibm.com), Staff Software Engineer, IBM
De Bin Lei (leidb@cn.ibm.com), Staff Software Engineer, IBM
Yong Lin Ma (mayongl@cn.ibm.com), Symphony Architecture, IBM
Summary:
Preference Customization is a new capability added in Lotus Symphony 3.0 beta 4. Preference Customization can help a System Administrator customize Lotus Symphony before deploying it to the enterprise. This article shows how to do preference customization by updating the Symphony installation package.
Before you start
The article “Automating IBM Lotus Symphony deployments using Microsoft System Center Configuration Manager” in developerWorks introduces how to build and deploy a custom IBM® Lotus® Symphony™ package using Microsoft® System Center Configuration Manager. This article further describes the preference customization in detail . You should have a good understanding of the reference article,you should ensure that you have the required software packages listed in above article as following.
IBM Lotus Symphony 3.0 beta4 above for Microsoft Windows
A Microsoft Windows workstation available for Lotus Symphony package creation and testing
Administrative access to your Microsoft System Center Configuration Manager server
Veritas Software Console
A Microsoft Systems Installer (MSI) assembler
Java Runtime Environment 1.5 or later, used for custom Java archive creation
Microsoft Notepad
WinRAR or other ZIP archive manager, such as 7-Zip or WinZip
Introduction:
IBM Lotus Symphony is a suite of productivity tools with a rich feature set. It enables users to create, and edit word processing documents, spreadsheets and presentations. It fulfils the needs of most users and help them save their IT budget.
Lotus Symphony is based on Lotus Expeditor technology. Lotus Expeditor is client integration framework, which is achieved by the Managed Client Services, including a selection of runtime environments, a robust OSGi component framework, and additional component services. Lotus Symphony is able to dynamically provisioning the client and subsequent updates on an as-needed basis. It also provides a set of access services.
With the strong Lotus Expeditor framework as a base, IBM Lotus Symphony provides powerful customization interface. User can configure/change preference settings of Symphony by editing the configuration file, this article focuses on the preference customization by updating the Symphony installation package.
Symphony Preference Overview
Preferences are key/value pairs about user setting. Lotus Symphony leverages Eclipse framework to synchronize the Java preference store values with C++ configuration files.
Lotus Symphony's preferences are based on the Eclipse preference service. As a result, Symphony inherits the same scope and life cycle of preference customization. The scope includes:
Instance Scope. Preferences in this scope are specific to a single workspace.
Configuration scope. All workspaces which are launched by a particular configuration of plug-ins share the preferences in this scope.
Project Scope. Preferences in this scope are specific to a single project in workspace.
Default Scope. This scope is not stored on the disk at all but used to store default values of all preferences. When other values are not found in other scopes,the default scope provides reasonable default values.
Besides preference pages from Java part including Lotus Expeditor, there are also preference pages come from the C++ part of Symphony, which can be also customized via Symphony Eclipse Framework. The setting of them are stored in configuration files and are synchronized with the preference store as long as the setting is changed.
Preference Setting for Individual user
Lotus Symphony allows users to customize the value of preference items. Anyone can set the user preference via menu File >Preferences in the GUI mode, then the user preference setting will be stored preference files. The files are stored in user workspace created by Symphony. Their name are suffixed with prefs.
Besides the GUI mode, user can also edit the preference files to update user preference manually. The key is preference item ID which is part of preference path, and the value must follow the corresponding value format of the preference item, which should also be put into the right preference file with corresponding plugin ID.
preference item ID = preference value
User can find the preference path in the parameter table to know the preference item ID and plugin ID. The preference path consists of plugin ID, a separator and preference item ID.
For example, the performance optimization can be disabled by editing the preference
${User_Home}/IBM/Lotus/Symphony/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.ibm.symphony.ui.prefs. Insert or append one line for preference item like this:
Enable_Preload = 0.
Preference Setting for Enterprise
The enduser can customize the preference in Lotus Symphony by editing the different type items in preference setting files, however for enterprise environment, system administrators need to update the installation package to define customized preference for the user of the whole enterprise. A uniform customization provides a better way of updating many kinds of configuration files , when working with Lotus Symphony one can use the symphony_plugin_customization.ini, located in com.ibm.symphony.standard.branding plugin.
What is different from preference setting for individual users is that it provides us the way of customizing the default value of preference item, not user preference setting. The scope belongs to default scope. Users can define the default value of preference item in a key/value. The key is the preference path and the value must follow the corresponding value format of the preference item which can be inserted or appended settings into the symphony_plugin_customization.ini file like this
preference path = preference value
The preference path consists of plugin ID, a separator and preference item ID. The type of value might be boolean, integer, specified string, etc, among which true/false value stands for enablement/disablement. For example,we set com.ibm.symphony.ui/Enable_preload=0 as figure 3,the value of "com.ibm.symphony.ui/Enable_preload" should be set as 0,1 or 2,, among which 0 stands for disable performance optimization, 1 stands for moderate optimization, and 2 stands for high optimization. .
To be summarized, Lotus Symphony provides preference customization in user instance level and in default level. If we want to customize the preference,refer to the value table of Parameters for preference customization and and help doc for supported preference items currently.
How to customize Preference via enterprise installation
The prerequisite of installation is that we should first get the symphony beta4 above installation package from
http://www.ibm.com/software/lotus/symphony.
Follow these steps to begin the customize installation package.
Create a temporary directory on the hard disk, e.g. C:\Sym3setup
Copy the installation file IBM_Lotus_Symphony_w32.exe to the temporary directory C:\Sym3setup
Extract the IBM_Lotus_Symphony_w32.exe. The installation file is treated as an archive file. We can use compress software such as WINRAR,WinZip,7-Zip to uncompress the file.
Open the extracted folder IBM_Lotus_Symphony_w32 , extract the updateSite.zip in place.
Open a command window, navigate to the working directory C:\sym3setup\IBM_Lotus_Symphony_w32 as shown in the following figure.
move the com.ibm.symphony.standard.branding_2.0.0.20100524-0200.jar from updateSite folder into the com.ibm.symphony.standard.branding_2.0.0.20100524-0200 directory, if the directory does not exist,create it.
mkdir ..\com.ibm.symphony.standard.branding_2.0.0.20100524-0200
move ..\updateSite\plugins\ com.ibm.symphony.standard.branding_2.0.0.20100524-0200 com.ibm.symphony.standard.branding_2.0.0.20100524-0200
Extract the plug-in contents using JAR utility:
jar xvf com.ibm.symphony.standard.branding_2.0.0.20100524-0200.jar .
Edit symphony_plugin_customization.ini, add the customized preference items, save and then exit.
After finish the customization, remove the old JAR file and assemble updated contents.
del com.ibm.symphony.standard.branding_2.0.0.20100524-0200.jar
jar cvf com.ibm.symphony.standard.branding_2.0.0.20100524-0200.jar *
After new plugin JAR archive is created,move the updated JAR file into the plugins directory.
move com.ibm.symphony.standard.branding_2.0.0.20100524-0200.jar ..\updateSite\plugins
After above steps then it is time to assemble the package and create the Lotus Symphony MSI Installer, refer to “Automating IBM Lotus Symphony deployments using Microsoft System Center Configuration Manager ” to follow further steps.
The value table of Parameters for Preference Customization
The following table lists the parameters supported for preference customization, user can check with the Symphony preference to find the corresponding preference page and preference items.
|
|
|
|
|
|
|
|
Enable performance optimization,including
- Moderate(for Computer memory of 512MB or higher)
- High(for computer memory of 1GB or higher)
|
com.ibm.symphony.ui/Enable_preload
|
|
among which 0 stands for disable performance optimization,1 stands for moderate optimization, and 2 stands for high optimization(preload mode).
|
|
|
Enable file recovery to save open files
|
com.ibm.symphony.ui/seditor.autosave
|
|
True stands for enablement,false stands for disablement
|
Enable display the recent opened files
|
com.ibm.symphony.ui/seditor.recentfiles
|
|
True stands for enablement,false stands for disablement
|
Interval to save open files for file recovery
|
com.ibm.symphony.ui/seditor.interval
|
|
Interval to save open files for file recovery is a integer between 1 and 60.
|
Select the file types to automatically create with Lotus Symphony,including
- Open Document Format
- Microsoft Office 97-2003
|
com.ibm.symphony.ui/curAutoCreateTypeKey
|
str.auto.create.odftype,str.auto.create.mstype
|
str.auto.create.odftype is corresponding to Open Document Format,str.auto.create.mstype is corresponding to Microsoft Office 97-2003
|
The number of recently opened files to display
|
com.ibm.symphony.ui/seditor.nums
|
|
The number of recently opened files to display is a integer between 1 and 15
|
|
|
Setting for updating link,including:
- Always update links,
- Update links only on request,
- Never update links
|
com.ibm.symphony.ui/Writer_Update_Link
|
|
among which 0 is corresponding to always update links,1 is corresponding to update links only on request,and 2 is corresponding to never update links
|
Automatically update charts
|
com.ibm.symphony.ui/Writer_Update_Chart
|
|
True stands for enablement,false stands for disablement
|
Automatically update fields
|
com.ibm.symphony.ui/Writer_Update_Field
|
|
True stands for enablement,false stands for disablement
|
Save documents with soft page breaks
|
com.ibm.symphony.ui/Writer_SoftPageBreaks
|
|
True stands for enablement,false stands for disablement
|
Lotus Symphony Presentation
|
|
com.ibm.symphony.ui/Impress_TextObject_QuickEditing
|
|
True stands for enablement,false stands for disablement
|
Only text area selectable
|
com.ibm.symphony.ui/Impress_TextObject_Selectable
|
|
True stands for enablement,false stands for disablement
|
|
|
com.ibm.symphony.ui/Impress_BackgroundCache
|
|
True stands for enablement,false stands for disablement
|
|
|
com.ibm.symphony.ui/Impress_CopyWhileMoving
|
|
True stands for enablement,false stands for disablement
|
|
|
com.ibm.symphony.ui/Impress_ObjectMoveable
|
|
True stands for enablement,false stands for disablement
|
Conclusion
IBM Lotus Symphony is a powerful set of document, spreadsheet, and presentation editors that provide a strong base to build a customized package for your corporation. Lotus Symphony offers many ways of preference customization. This article has introduced how to customize preferences for kinds of requirements. There will be more and more preference items to be supported in the future.
Acknowledgments
The authors would like to thank Paul Bastide for the review and feedback.
Resources
About the authors
Gang Zhao is a software engineer for Lotus Symphony Development. He has interest in emerging technology. He now is working on Web Editor development.
|
|
|
De Bin Lei is a staff software engineer for Lotus Symphony Development. He focuses on Lotus Symphony stability, startup performance.
|
Yong Lin Ma is the symphony architect. You can reach him at mayongl@cn.ibm.com.
|