ODMdev: ActiveODMA Development Framework

devNote d061201
 ODMJNI 1.0 Deployment
0.5x beta Function-Stabilization Updates

ODMdev>devNotes>
2006>12>

d061201h>
0.11 2008-04-23 21:12 -0700


{Author Note: More editing and Further Explanations Required}

2. Function-Stabilization Deliveries

The delivery of function-stabilization drops is designed to address critical functionality features first.  The roll-up of 0.50beta with these updates and any needed repairs become the basis for the 0.60bet public beta distribution.

Important: Except for 0.59beta, these are incremental updates to the 0.50beta distribution.  For example, to have the complete distribution for 0.58beta, it is necessary to install the 0.50beta distribution and then the 0.52beta, 0.54beta, 0.56beta, 0.57beta, and 0.58beta packages, in that order.
0.52beta: Windows Handle Stabilization (completed 2007-02-05)
Add an initialization method for determining the Windows Handle (hWnd) value of the Java application's main window, given its java.awt.Window reference.  The specified window will be used as the parent for all modal ODMA DMS dialogs.  This provides the correct behavior when operations with the Java-based application lead to presentation of ODMA-related dialogs that must be addressed by the application user.
0.54beta: Character-Code Stabilization (completed 2007-02-13)
Instead of treating all character text returned by the DMS as in the ASCII (ISO 646) character encoding, the returned text (in properties, Document IDs and Document Locations) is interpreted in accordance with the current ANSI Code Page and converted to Java Unicode accordingly.   This allows extended characters beyond the Basic Latin set to be properly rendered in Unicode.  This properly converts text that uses extended characters that are introduced as different "code pages" in international settings.
0.56beta: Format Filtering (2007-03-04, last revised 2007-03-10)
Although the interface specifications claim rigid enforcement of text-format restrictions on various parameters to ODMJNI, with the promise that exceptions will be thrown, the enforcement is not fully implemented.  Arming the filters has been delayed until the format checks could be made available for use in validating data before submission to an ODMJNI interface.  This drop will implement the info.odma.practical100.OdmFormat class of static format-checking methods.  The complete enforcement of checking occurs in the 0.58beta a later drop.
 
The changes are limited to the practical100 package.  The 0.56beta drop is available at d061001g: practical100 0.56beta evolutionary development.
    
Redefinition (2007-03-05)
To expedite the provision of complete functioning, the planned 0.58beta is replaced by an 0.57beta implementation of openKnownDocument.  There is no additional hardening and format checking beyond what is needed to integrate openKnownDocument into an application for early testing and use under safe production conditions.  It is anticipated that there will be further breakdown into finer steps as part of approaching the 0.60beta public release.
  
0.57beta: openKnownDocument Implementation (2007-03-11)
The OdmConnection.openKnownDocument method has a null implementation in 0.50beta, although all of the requisite support has been implemented.  openKnownDocument is now implemented using that support.  To protect against delivering improperly-translated Document ID strings, there is also a check against untranslatable characters beyond what the OdmFormat.wfDocId function provides.  This gap between what wfDocId checks and what openKnownDocument accepts will be repaired by 0.60beta. 
  
The 0.57 changes are limited to the odmjni100 package.  The code updates are available at d061101m: odmjni100 0.57beta KnownDocument Integration.
   
Redefinition (2007-03-18)
There are a number of additional single-feature increments that are important before public beta.  These are to be those additions that have the basic deployment structure be stable before 0.60beta.  In addition, the application-software that uses the private beta material will be in a state where further updates will be simple drop-ins to a clean deployment structure. 
   
0.58beta: Runtime Packaging (2007-04-10)
Three steps are defined and implemented for simplified deployment of the executable code:
   1. The use of the Windows search path for location of the Java awt.dll library is replaced by addition of code that locates the correct directory and loads awt.dll for the brief time that it is required in odmjni100 initialization.  [dh:2007-08-24 In the final result, the correct use of package initiation and paths to the Java JRE run-time environment are sufficient.  There is no directory navigation incorporated in the code.]
   2. An addition to the source tree is made for the creation of a proper jar file that can be used as the class-path location of the ODMJNI 1.0 runtime materials.
   3. Elementary regression tests of the deployment package are created in order to confirm correct operation of the new packaging for runtime use.
   
The 0.58 changes are limited to the odmjni100 package. The code is developed and delivered at d061101n: odmjni100 Runtime Packaging 0.58beta.
   
0.59beta: Public Beta Candidate (in progress)
It is important to replace the format-checking operations introduced in 0.56beta with ones that are used in common between ODMJNI 1.0 Java classes and native code, such as that in OdmNative100.lib and odmjni100.dll.  The 0.59beta prepares for that replacement as part of some important refactoring, but the code substitution will be done behind the scenes in 0.60beta.
   1. Until the replacement is made, there is a slight chance that OdmFormat.wfDocId might not reject precisely those strings with which implementation of OdmConnection.openKnownDocument will fail automatically.
   2. There are additional changes to the handling of OdmError and the layering of interfaces from OdmViewingDocument to OdmWorkingDocument.
   3. The objective of this release is to provide a complete roll-up package that involves the least that can be done to create a stable set of interfaces on which the 0.60 public beta will be based.
  
The 0.59 changes involve at least the practical100 and odmjni100 packages.  The code is developed and a complete distribution delivered at d070701d: ODMJNI 1.0 Public Beta 0.59 Candidate.

Attribution:
Hamilton, Dennis E.
ODMJNI 1.0 Deployment 0.5x beta Function-Stabilization Updates.  AIIM ODMA Interoperability Exchange, ODMdev Development Note page d061201h 0.11, October 15, 2007.  Current version with downloadable software available at <http://ODMA.info/dev/devNotes/2006/12/d061201h.htm>.
Revision History:
0.11 2007-10-15-13:27 Link Forward to Next Version
The "next version" link is introduced even while 0.58 is still the current version and 0.59 is underway.  This allows capture of notes before 0.60 and beyond are initiated.
0.10 2007-07-24-17:22 Complete Repaving
This page is corrected as part of the repaving project.  All monospace font usage and the construction structure are corrected.  Additional details are also provided for the 0.59 beta candidate release.
0.09 2007-07-13-21:44 Make into separate 0.5x beta update set
The 0.60beta public-beta distribution page is separated to avoid any confusion of 0.60 usage with the 0.5x incremental progression steps.  0.60beta starts out as a full roll-up with no dependency on earlier materials.
0.08 2007-04-10-23:37 Reflect Completion of 0.58beta
The 0.58beta task is marked as completed and 0.59beta is declared to be in progress, pending deeper expansion
0.07 2007-03-18-16:46 Redefine the remaining progression from 0.58beta through 0.60beta.
This overall release is renamed from "Function-Complete Release" to "Public-Beta Release."  0.58 is changed to to provide Runtime Packaging and 0.59 is used to complete the reconciliation of format checking for string parameters.  Apart from fixes and any improved tests, the 0.60 stage consists of additional packaging and provision of documentation for use of ODMJNI 1.0 in ODMA-aware Java applications.
0.06 2007-03-11-23:47 Reflect completion of 0.57beta
The 0.57 beta is substituted for the 0.58beta placeholder and the redefinitions after 0.56beta and 0.57beta are documented.
0.05 2007-03-04-19:04 Reflect completion of 0.56beta
0.04 2007-02-19-20:37 Complete connection to prior versions
0.03 2007-02-13-15:21 Add 0.54beta materials and Descriptions
The 0.54beta-drop downloads are made available in a revised organization of the materials.
0.02 2007-02-08-13:37 Add 0.54beta placeholder and Approach
0.01 2007-02-05-23:52 Add 0.52beta materials
0.00 2007-01-30-19:33 Establish Placeholder for 0.60beta
Create page for preserving the 0.60beta release materials.  This also provides a place to define and preserve the individual drops that may be made in leading up to 0.60beta.

Construction Structure (Hard Hat Area)
Creative Commons License You are navigating ODMdev.
This work is licensed under a
Creative Commons Attribution 2.5 License.

created 2007-01-30-19:33 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 08-04-23 21:12 $
$$Revision: 63 $