Kbase 16014: Migrating SmartObject Applications from 8.0 to 8.1 or 8.2
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Migrating SmartObject Applications from 8.0 to 8.1 or 8.2
INTRODUCTION
============
This knowledgebase entry discusses issues involved when
migrating an 8.0 SmartObject Application to 8.1 or to 8.2.
MIGRATING SMARTOBJECTS TO 8.1
=============================
Progress Version 8.1 includes many enhancements and
performance improvements to the ADM. You must do the
following to take advantage of these changes:
1) You must open and save all SmartContainer objects in
the UIB. A SmartObject Upgrade Utility has been created
to automate this process. This utility is available from
PRO*Tools and is documented in PRO*Tools online help and
the Product Update Bulletin.
If you do not open and save these objects you will get
the following error if you try to re-compile any
SmartContainers:
** Unknown Field or Variable name - adm-current-page. (201).
2) You must also re-compile your entire SmartObject application
to gain the ADM enhancements and bug fixes from the ADM
include files.
3) If you added code to the ADM that implements similar
enhancements or fixes the same bugs as 8.1 then you should
examine and perhaps remove or modify your changes. Refer to
knowledgebase entry 16167: Statement to Programmers on New
Releases of ADM code.
4) If you have defined your own attributes with your own instance
attribute dialog box for a SmartObject master, these attributes must
now be added to the preprocessor value adm-attribute-list in order to
be saved with each instance of the SmartObject.
The value of adm-attribute-list may be modified in the appropriate
Method Library include file (e.g., browser.i, containr.i, viewer.i),
in a 'wrapper' include file, or in the SmartObject itself.
The new definition of adm-attribute-list should always include the
standard attributes as well as your own.
RUNNING 8.0A COMPILED SMARTOBJECTS WITH 8.1A
============================================
If you have a fully compiled SmartObject application and
and do not need to do further development before deploying
with 8.1 you can deploy 8.0 r-code with 8.1 without
re-compiling or loading and saving your SmartObjects in
the UIB.
In order to do this you will need to use the all the 8.0A
ADM r-code (all of DLC/gui/adm/support and
DLC/gui/adm/objects) in order to run the 8.0A compiled
SmartObjects with the 8.1A executable. Note that all the
ADM code, the broker, the other files in the objects
directory and all the include files, are really a part of
your application and must be used as a unit to maintain
consistent behavior. You should create a directory
structure and modify your propath to enable you to point
to the 8.0A ADM r-code and still maintain the 8.1A ADM
r-code for future development. Refer to knowledgebase
entries 15815: Modifying ADM support code and
16478: Workaround for Error 4114 When Cancel a
SmartObject Add for examples of how to do this.
There have been significant changes to the broker (located in
DLC/gui/adm/objects) for the ADM enhancements. Therefore, the
broker must have the same ADM-VERSION as the SmartObjects that
are running with it. This also means that if you need to do
any further development with any of your SmartObjects you will
need to upgrade and re-compile ALL of your SmartObjects (see
Migrating SmartObjects to 8.1 above). You can check the
ADM-VERSION attribute of the broker and of SmartObjects
that are running with the SmartInfo button from PRO*Tools
Procedure Object Viewer.
By running 8.0 compiled SmartObjects with 8.1, you will NOT
gain any of the ADM enhancements or bug fixes included in the
8.1 ADM code. Refer to knowledgebase entry 16313: Bug fixes
fixes for the ADM in Progress Version 8.1.
REFERENCES TO WRITTEN DOCUMENTATION
===================================
Version 8.1A Product Update Bulletin
Version 8.1A User Interface Builder Developer's Guide
PROGRESS Version 8.1A Release Notes, November 1996
Progress Software Technical Support Note # 16014