Product Internationalization of a Document Management System



Similar documents
Product Development and Implementation - Fund Management Framework for Private Investment firms

Points of Defect Creation

Open-source, on-demand Program Management Software

Unicode Enabling Java Web Applications

HTML5 the new. standard for Interactive Web

JAVA/J2EE DEVELOPER RESUME

Right-to-Left Language Support in EMu

Jet Data Manager 2012 User Guide

Using SQL Server Management Studio

Aspire's Approach to Test Automation

The Unicode Standard Version 8.0 Core Specification

Automated Process Center Installation and Configuration Guide for UNIX

Bitrix Site Manager ASP.NET. Installation Guide

Teamcenter Installation on UNIX and Linux Servers Guide. Publication Number PLM00011 J

National Language (Tamil) Support in Oracle An Oracle White paper / November 2004

JasperServer Localization Guide Version 3.5

Overview Document Framework Version 1.0 December 12, 2005

ICE Trade Vault. Public User & Technology Guide June 6, 2014

A Java proxy for MS SQL Server Reporting Services

SAP BW Connector for BIRT Technical Overview

Table of Contents. 1. Introduction Challenges in Product Development What is Propel?...3

FileMaker 13. ODBC and JDBC Guide

Implementing Mobile Thin client Architecture For Enterprise Application

Oracle Universal Content Management

U.S. Department of Health and Human Services (HHS) The Office of the National Coordinator for Health Information Technology (ONC)

Equipment Room Database and Web-Based Inventory Management

LICENSE4J LICENSE MANAGER USER GUIDE

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

DiskPulse DISK CHANGE MONITOR

Equipment Room Database and Web-Based Inventory Management

QAD Business Intelligence Release Notes

Open-source, on-demand Baobab Program Management TM. System. Case Study

COMPANIES REGISTRY. Third Party Software Interface Specification. (Part 1 Overview)

Aspire Systems - Experience in Digital Marketing and Social Media

Change Manager 5.0 Installation Guide

Check list for web developers

SourceAnywhere Service Configurator can be launched from Start -> All Programs -> Dynamsoft SourceAnywhere Server.

Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL

Internationalizing the Domain Name System. Šimon Hochla, Anisa Azis, Fara Nabilla

Software Requirement Specification For Flea Market System

Automation using Selenium

Migrating helpdesk to a new server

design coding monitoring deployment Java Web Framework for the Efficient Development of Enterprise Web Applications

Table 1. Requirements for Domain Controller. You will need a Microsoft Active Directory domain. Microsoft SQL Server. SQL Server Reporting Services

SQL Server An Overview

Successfully managing geographically distributed development

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

IceWarp Server Windows Installation Guide

Important Release Information and Technical and Deployment Support Notes

IP Phone Services Configuration

Release Bulletin Sybase ETL Small Business Edition 4.2

Design Approaches of Web Application with Efficient Performance in JAVA

Best Practices. Integration of Salesforce and Microsoft Dynamics GP

FileMaker 14. ODBC and JDBC Guide

Module 13 Implementing Java EE Web Services with JAX-WS

TARGETPROCESS INSTALLATION GUIDE

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

Entrust Managed Services PKI Administrator Guide

MSSQL quick start guide

ANSYS EKM Overview. What is EKM?

FileMaker Server 9. Custom Web Publishing with PHP

CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide

Sabre Red Apps. Developer Toolkit Overview. October 2014

Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R

Grandstream Networks, Inc.

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

Professional Services The SharePoint Angle

THOMSON REUTERS C-TRACK E-FILING SOFTWARE AS A SERVICE SERVICE DEFINITION FOR G-CLOUD 6

SQL Server Integration Services Using Visual Studio 2005

The end. Carl Nettelblad

IBM Rational Asset Manager

SOFTWARE TESTING TRAINING COURSES CONTENTS

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Entrust Managed Services PKI Administrator s Quick Start Guide

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi

Contents About the Contract Management Post Installation Administrator's Guide... 5 Viewing and Modifying Contract Management Settings...

PHP Integration Kit. Version User Guide

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

Intellicyber s Enterprise Integration and Application Tools

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

Appendix 2-A. Application and System Development Requirements

SERENA SOFTWARE Authors: Bill Weingarz, Pete Dohner, Kartik Raghavan, Amitav Chakravartty

Install SQL Server 2014 Express Edition

Visualizing an OrientDB Graph Database with KeyLines

Table of Contents. Introduction. Audience. At Course Completion. Prerequisites

Avatier Identity Management Suite

05.0 Application Development

Web-JISIS Reference Manual

Internationalization and Web Services

Pulse Secure Client. Customization Developer Guide. Product Release 5.1. Document Revision 1.0. Published:

Centricity Enterprise Web 3.0 DICOM Conformance Memo DOC

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Short notes on webpage programming languages

IBM Rational Web Developer for WebSphere Software Version 6.0

Content Server Installation Guide

Contents. Overview. The solid foundation for your entire, enterprise-wide business intelligence system

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

TG Web. Technical FAQ

EMC Documentum Content Services for SAP CRM Usage and Future Prospects

A Monitored Student Testing Application Using Cloud Computing

Transcription:

Case Study Product Internationalization of a ì THE CUSTOMER A US-based provider of proprietary Legal s and Archiving solutions, with a customizable document management framework. The customer s DMS was a complete database solution for lawyers to manage their electronic documents. ì THEIR NEED A web based document management system to help lawyers in Israel appropriately store proceedings, judgments and various law related articles in a central repository. This product needed to support Hebrew and English, both at the GUI and the content level and it was also expected to support all underlying operations in Hebrew and English. This necessitated internationalization of the document management product. Aspire s product engineering team internationalized the legal to support any language in the world. ì OUR DEED Aspire s product engineering team internationalized the legal Document Management System to support any language in the world. They had to overcome GUI design challenges for the Hebrew language (written from right-to-left) in terms of displaying content and navigation. As the DMS three-tier architecture framework would not support non-ascii, Aspire had to make use of Latin character support to overcome this limitation. Aspire also successfully modified the underlying code to make the product compatible at all levels for its Israeli audience. ì TOOLS & TECHNOLOGIES USED Technologies: Java 1.5, J2EE, XML, Ant Scripts: JavaScript Database/Db tools: MSSQL, Derby, SQL Query Analyser Configuration management tools: Rational ClearCase, VSS Defect Tracking Tools: Rational ClearQuest, PRISM Project Management Tools/Server: Microsoft Project Plan, MSProject Server Development IDE: Eclipse 3.X INTERNATIONALIZATION REQUIREMENTS A web-based document management system had to be internationalized in order to support Hebrew and English, both at the GUI and the content level. Besides this, the product was also expected to support all underlying operations in Hebrew and English. Product Internationalization of a 01

The customer provided Aspire with the html prototype of the product in order to understand their requirements and Aspire had to come up with all the necessary changes needed to internationalize the product. As the GUI needed to be in Hebrew, everything had to appear from right-to-left on the screen. Additionally, the following was needed in the GUI: l1 Ability to enter Hebrew. l2 Ability to print Hebrew. l3 Ability to display on-screen messages in Hebrew l4 Files (to be uploaded to the DMS) with Hebrew content had to be encoded and handled. l5 Numbers, dates, currency, etc., had to be shown in Hebrew equivalents. Designing the GUI was challenging as it had to be entirely designed from right to left since Hebrew is written from right to left. PRODUCT INTERNATIONALIZATION Aspire's product engineering team developed a prototype of the GUI as per the customer's specifications. Designing the GUI was challenging as it had to be entirely designed from right to left since Hebrew is written from right to left; this included the menu items, display of content and the entire navigation of the product. Once the front-end GUI was finalized, the team worked on internationalizing the DMS's three-tier architecture system, which did not support non-ascii and hence did not support Hebrew. The base framework had a component that would store the 'logged-in user' details in a user session bean object. This feature was required in order to authenticate users for page access and to bring out various user specific features in the product. However, it did not support the storing/reading of Hebrew user names. In order to overcome this limitation, Aspire had to make use of Latin character support as explained in the diagram below. Using Latin support to overcome framework limitations Hebrew Apply offset to its Unicode value to get Latin Pass to framework functionalities that do not support non-ascii character Receive from framework Revert oss set to get Hebrew Use Hebrew Product Internationalization of a 02

Handling Hebrew request parameters Ÿ When a user sends non-ascii/non-ansi as a request from the browser, those input strings/streams need to have proper encoding and decoding. Hebrew is one of the languages that use non-ansi. Hence, it was necessary to use utf-8 encoding for its extensive support to encode all the Unicode (Unicode is a character set that supports the world's major languages). Reading and writing Unicode to the database needed special handling. Ÿ Also, the http request uses ISO-8859_1 character set by default, which does not support most of the in Hebrew languages. Hence, utf-8 encoding was done to prevent loss/misreading of information. Handling of Hebrew request parameters Request parameter Encode request parameter Convert nonunicode to bytes Convert bytes to unicode Store data in database or java object Writing/Reading Hebrew content in a file Ÿ Similar to request value strings from the browser, there were files which needed to be uploaded from the customer's browser, with non-ansi content. In such situations, input content had to be read with proper encoding (in order to properly encode the in the file) and then uploaded. Similarly, the same encoding had to be done when non-ansi content had to be written to the files. Displaying date in Hebrew Ÿ The 'Time zone' together with 'Locale' of the location where the DMS was to be installed was used to retrieve the date in the region-specific and language-specific format. Locale is an inbuilt java component that has region specific information and considers (a) language (b) optional country or region code, and (c) optional variant code (other locales in the same time zone). For example, the locale id 'zh_tw' is used to access locale information (date, currency formats etc.) of Chinese speaking Taiwan. Ÿ Rendering a Date includes Formatting the date that is specific to that locale Displaying the date in that locale's language Displaying the time of that locale rather than the application server's time Considering daylight savings season where applicable Writing/Reading Hebrew content to database Ÿ Reading and writing Unicode to the database needed special handling in two different places. Product Internationalization of a 03

The datatype of the field of the table had to be chosen properly in order to support the Unicode. For example, in this product, where MSSQL is used, nvarchar was chosen over varchar in order to get the benefit of Unicode character support. The connection URL of the MSSQL database had to be formed properly to support Unicode content that might be passed during transactions. Using Latin support Ÿ Since Hebrew have a one-to-one relation with Latin, the Hebrew were converted to its equivalent Latin character. This converted string was then passed as an argument to various functions, which may not have had the ability to encode/decode. This is basically because Latin are part of ansi and do not require special handling/encoding. Aspire also successfully modified the underlying code to make the product compatible at all levels for its Israeli audience. Java was chosen as the programming language to do the internationalization because Java internally represents and String objects as 16-bit encoded Unicode (version 3.0 for Java 1.4). Hence, programs written in Java can process data in multiple languages, natively performing localized operations such as string comparison, parsing, and collation. Benefits to the customer Aspire's product engineering team internationalized the legal Document Management System to support any language in the world. They had to overcome GUI design challenges for Hebrew language (written from right-to-left) in terms of displaying content and navigation. Aspire also had to bring in Latin character support and map Hebrew to Latin and vice-versa as Hebrew was not supported by the product's existing three-tier architecture framework. Aspire also successfully modified the underlying code to make the product compatible at all levels for its Israeli audience. The legal DMS was well-received by the Israeli lawyers and satisfied the customer's internationalization requirements. pirians. These Product Internationalization of a 04

ABOUT ASPIRE SYSTEMS Aspire Systems is an Outsourced Product Development firm committed to helping our customers build software products better and faster. We work with some of the world s most innovative Independent Software Vendors and software-enabled businesses, ranging from start-ups to established industry leaders, transforming the way software is built. Aspire provides complete product lifecycle services, ranging from new product development and product advancement to product migration, re-engineering, sustenance and support. Our product development teams are spread between our Global Innovation Center in Chennai, India and offices in the United States. For more information contact: Website : www.aspiresys.com E-mail : info@aspiresys.com Tel USA : +1-408-260-2076 UK : +44 203 170 6115 India : +91-44-6740 4000 Product Internationalization of a 05