VA Smalltalk Readme


Contents


Welcome to VA Smalltalk Version 8.0.3

VA Smalltalk enables software developers to create highly portable, scaleable, multi-tier business applications using object-oriented technology. VA Smalltalk allows for incremental and rapid development of new Smalltalk applications. Developers can build and deploy enterprise Web service solutions for dynamic e-business using VA Smalltalk.

This new release of VA Smalltalk provides new functionality:


Late-breaking news, technical tips, and product updates

Please refer to the Instantiations Smalltalk home page for technical information including tips and product updates made after this product release. The web page includes information about what's included in the release, and how to contact us as well as hints and tips for using and deploying VA Smalltalk.

You can download the latest product updates, as well as product add-ons, from the Instantiations Smalltalk download page.


Version 8.0.3 files and installation

Distribution files

Each supported VA Smalltalk platform has three downloadable components:

Client
The Client component contains the VA Smalltalk development IDE. You will need to install a client on each machine on which you wish to develop VA Smalltalk applications. You must download and install the correct client package for your workstation operating system.
Manager
The Manager component contains the VA Smalltalk source code repository ('manager') file and the EMSRV code used to access the repository file in a team environment. The manager is used in conjunction with the workstation client IDE. One code repository can support many clients concurrently. Therefore you will only need to install the manager one time on a suitable server machine. You must download and install the correct manager package for your server machine's operating system. It does not have to match the client operating system. A Linux manager install, for example, can concurrently service Windows, AIX, Solaris and Linux clients. The same is true for all of the other manager installs.
Server Runtime
This is the runtime support needed for deploying Smalltalk applications developed using VA Smalltalk. There is no formal install program for Server Runtime. You simply use unzip to unpack the runtime files and add your packaged Smalltalk application into the resulting directory structure. You must download and unpack the correct Server Runtime package for your workstation operating system. The files needed to include at runtime are listed in http://www2.instantiations.com/VAST/RedistributableRuntimeFiles.htm .

If you do not already have a suitable unzip program, then you can download a no-charge unzip program such as Info-ZIP.

Note: The gunzip program will not work with the VA *.zip files. The VA *.zip files are multi-file archives; gunzip is only designed to handle single compressed files.

You must unzip the client and manager zips on the same kind of machine that you intend to install them on. Do not, for example, unzip a Solaris client install onto a Windows machine.


Installing VA Smalltalk

Complete install instructions, such as how to set up EMSRV, can be found in the Installation Guide. The Installation Guide is in the doc directory of the unzipped client or manager install directory tree (it is the same document in both zip files):

Note: There are special steps for installing on UNIX and Windows Vista or Windows 7 which are documented in the Installation Guide.

The Installation Guide is also available at Instantiation's Smalltalk website.

To install VA Smalltalk, follow the instructions for your specific platform.

We recommend you install the manager before you install the client.

If you are new to Smalltalk, we recommend you install the client with the on-line documentation. Once you have installed the manager and the client, refer to the Installation Guide for further instructions on how to configure your environment before you launch VA Smalltalk.


VA Smalltalk Migration Guide

If you have a version of VisualAge Smalltalk or VA Smalltalk already installed, please refer to the Migration Guide for important information before using VA Smalltalk V8.0.3. The Migration Guide can be read online at Migration Guide or it can be installed with the VA Smalltalk Client by selecting the "VA Smalltalk Documentation" feature.


Corrections and Enhancements

This section lists the corrections and enhancements introduced by each release of the VA Smalltalk product.


What's New in V8.0.x


Corrections and Product enhancements in V8.0

  Case   Title
  -----  ----------------------------------------------------------
   2121  Tabbed Browsers (hierarchy, class, and application) and Workspace   
   9511  Smalltalk identifier should allow underscores
  10751  Fix: available printers in Windows 2003 Server 
  20377  Improve Installation Guide 
  24660  Mouse Scroll Wheel support 
  24948  ANSI exception handling -- behaviour when falling through handlerBlock 
  24949  Exception class>>#exceptionalEvent change for cross platform compatibility 
  26175  Enable Windows Theme support on Windows XP 
  27772  Cannot unload SUnit Feature 
  29136  Seaside ; Seaside 
  29223  Web Services Example using arrays and complex types 
  29238  Update F1 Help to match Improved Documentation Delvery system
  30176  Oracle 10g Timestamp milliseconds
  30362  Ctrl+V for entry fields 
  30375  Error deserializing Java 1.4.2 and 1.5 RMI stream 
  30574  Bugs in Oracle Decimal datatype interface (8 and 10) 
  30674  Incorrect initialization of some browsers 
  31234  Add convenience methods for MethodWrappers 
  31244  Web Services in 10 Minutes Example does not run on IBM ST Linux 
  31264  Error in VA Assist when versioning a class 
  31327  OSCall>>createProcess:.... leaks handles on Windows 
  31344  Secure web services example submitting a bad password eventually locks up resources of host web serviceeb service
  31347  Web service in 10 min example disables the remote deployment step 
  31348  Web Services in 10 min example does not log steps 
  31665  Setting VA Assist abbreviations yields stack overflow 
  31735  Uninitialized Oracle mapping variable causes walkback 
  31784  Change OleAutomationObject to facilitate subclassing 
  31805  Error in timerProcs processing
  32480  XML mapping error ##ObjectInitializationError: 'Unable to process element ''TransactionStatus''' 
  32624  When applications are loaded, some methods are color coded as if there were no implementors 
  32629  A problem with VASt: untranslatedConstants 
  32717  Add ifNil:, ifNotNil:, ifNil:ifNotNil:, and ifNotNil:ifNil: methods to assist in porting code 
  32732  Documentation Update: Replace Emsrv MultiProcessor Warning with Verbiage From FAQ 
  32959  Debugger gets walkback: "Array's should not implement this method" 
  33346  Update Object>>#copy to ease code porting e porting 
  33633  Error reading JPEG file 
  34042  SUnitPreload application needs updates for ANSI Exceptions 
  34133  GDI Objects leak from WindowBuilder apps 
  34223  Remove OS/2 reference in DB Guide on Binding Files 
  34224  Fix Code in 'How to Bind to a DB' section of the DB Guide  
  34249  hover help walksback over notebook 
  34325  Merge ENVY/Image Controls apps into mainline apps 
  34385  Recursive Schema Import fils when looping reference to previous schema import
  34405  Globals created in unmanaged namespace
  34406  Composition Editor does not expand canvas when script is moved outside canvas 
  34614  Incorrect makefile for primitiv sample on Windows 
  34944  Version dialog poorly displayed in AIX development 
  35046  Description of codeCacheSize in Smalltalk BaseUser's Guide is incorrect
  36073  XML mapping of DateAndTime changes value 
  36083  EsbCallTree>>#printOn: problem 
  36133  Remove the requirement to bind ST image to db2 database 
  36166  Slow AbtTimestamps 
  36188  Support ANSI Exception ZeroDivide 
  36189  Support ANSI Exception MessageNotUnderstood 
  36229  Remove all OS/2 code from VA Smalltalk
  36419  Eliminate link to IBM VAST Newsgroup from Help 
  36513  Namespace Import Issue 
  36809  Problem installing EMSRV as a Windows service
  36861  AbtXmlStreamConverter does not recognize UTF-8 BOM (Byte Order Mark)
  36980  Improved Documentation delivery system 
  37094  Smalltalk compiler overloads error: which disallows raising real Error exception 
  37123  Walback when opening frame spec for part once attached to a deleted part 
  37165  Walkback when opening part with database parts 
  37268  Value errors for some ANSI floatCharacterization methods 
  37389  2 versions of app SgmlSupport 5.5 [16] in V7.5.2 manager 
  37444  CwComboBox Incorrect Color After Saved Second Time 
  37485  Inspector improvements 
  37490  Remove Information Center Launching from IDE 
  37606  Simplify and clarify Server Smalltalk (SST) features 
  37652  Walkback converting Float to ScaledDecimal 
  37727  Schema elements with ref attributes are not properly prefixed when serializing a SOAP envelope 
  37867  Advice on Unix NumLock in readme
  37885  Database Sample features don't load 
  37903  Remove Search Dialog Launching from IDE 
  37915  Rationalize conflicting base extensions (GF/ST, RB, and Seaside) 
  38026  Write ENVY/QA loaded message to Transcript rather than a popup for unattended loading 
  38042  CwExtendedWidget needs to be more polymorphic with CwBasicWidget 
  38075  EtApplicationBrowser>>#fileinApplication does a double close of the input stream when it gets an error 
  38077  DBString>>#storeOn:recursionSet: produces bad output 
  38170  Error in SubApplication class>>#differencesWith:includeSubApplications: 
  38224  AbtTimestamp class>>#mutateObjects:fromPlatform:named:withDefinition: fails when a bogus input is received 
  38247  Document Out of memory and Memory Tuning Options
  38326  References to the FileDirectory class and the class have been deleted
  38329  CgWinPrinterServer class>>#allPrinterScreenInfos does not find any printers 
  38389  Add Seaside Slime 
  38398  Assistance Replicating XD Images 
  38441  Remove VW-specific subapps from Refactoring Browser 
  38494  Document IBM Image Verification Tool tion Tool
  38504  Add ENVY/Image Interactive Test Suites map now shipped
  38505  VA Assist Undefined method warning is not shown 
  38592  Windows Controls palette parts labels are missing 
  38594  Add simple benchmarking methods to ENVY/Stats 
  38618  Missing Prerequisite in Application SstWebServicesParserApp 
  38681  Ensure only one EtToolsVendorExtensionsApp in distribution 
  38717  Performance Problem with element mapping mitigated
  38757  Extend AbtTimestamp with fromMicroseconds: and asMicroseconds to  replace deprecated methods 
  38782  Generate New Certificates for the SSL Client/Server Example in the Manual
  38950  Promote #pass, #return and #return: from Exception to Signal 
  39109  WbApplicationFramework subapp configuration expressions are broken 
  39116  Migration Guide discusses the old changes to Block>>on:do:
  39120  SstHttpServletRequest>>#getContentType doesn't match Java Servlet Specification 2.4 definition 
  39141  HTTP doHead: fails to recognize all forms of response code 200 
  39372  AbtTimestamp  : ...
  39426  VA80 Beta - Class Browser gets walkbacks  
  39502  VA Smalltalk V8 Beta1 Time>>#milliseconds: missing 
  39609  Add UML Designer Goodie to ship with VA Smalltalk V8 
  39641  Release RefactoringBrowser CS12.RC3 
  39777  Add new CW API for resurfacing a shell 
  39839  CgScreen>>#parseRGB:digits: does not handle lowercase hex digits (a -  f) properly 
  39910  Release SUnit Browser CS14.NFR.4 
  39911  EsQueue fails to grow when its initial size is 1 
  44860  Graphic Version map

Corrections and Product enhancements in V8.0.1

  Case   Title
  -----  ---------------------------------------------------------------
  16202  Improvements to Installation Process
  24638  Add support on Windows for cdecl calling convention
  24948  ANSI exception handling -- behaviour when falling through handlerBlock
  29222  Provide example of Smalltalk communicating with an existing server
  33783  Walkback in OSEventManager class>>#runDeferredMessages
  37579  Misplaced check for ACO Support in PlatformFunction>>asyncCallWithArguments:stackSize:
  37986  Tooltips do not work for the OSToolBar and OSTabFolder controls
  39111  Web Services WDSL fails in VA7
  39189  SST mismanages freeing of its OSObjects
  40099  Seaside 3.0a5
  40175  WkTableWidgetView cell edit lost when cell scrolled off view
  40578  Make 'use emulated toolbars' a global settingal setting
  40669  Platform Functions dealing with large files
  40736  Problem handling WARequestContextNotFound exception
  40785  VA Assist browser shows strange output for long comment containing  javascript
  40815  Script Editor has two Options menu items
  40873  Create a Tabbed StsApplicationsBrowser
  40887  Organizer status line shows multiline revision note
  40945  map-file not correctly generated for schema with a  class hierarchy
  40950  Include AbtProgressBar (EwProgressBar) to VA ST
  41022  Problem resizing the information line in a Visual Parts Editor
  41108  Change isMapped to isManaged in the TobFlatToolBarsWidgetsApp
  41370  EmLibraryStatistics produces walkbacks when library being verified has problems
  41545  VA Assist Inspector Variables List shows tool bar on only the right half of the window
  41546  StsWorkspaceIndexedCollectionInspector has no Workspace Context Menu
  41629  Tabbed Versions of Class Edition Methods Method Edition Browser n Browser
  41671  Warning Message for circular constraints moved to give  better information to user
  41740  VA Smalltalk install fails on Windows 7 RC1
  41785  Tabbed Browser text pane needs word wrap option
  41786  Tabbed browsers and inspectors use the same superclass toolbar and information line methods
  41787  StsApplicationManager uses an OS status line if on windows
  41832  Opening a tabbed browser from an 'Implementors of' browser doesn't  handle breakpoints
  41884  Hover Help broken for Sliders
  41888  StsTabbedClassesBrowserWin lost when disable and enable Va-Assist
  42070  TranscriptTTY writes extra blank lines to the log file on Windows
  42105  AbtTimedWait won't load in passive image
  42338  Tabbed Toolbar leaks GDI objects
  42453  AbtSplitWindowView does not show splitbar colors
  42456  Integer>>#even is fast but Integer>>#odd is slow
  42526  Promote commonly useful methods from SeasideVASTProloadApp  to Kernel
  42798  Dictionary>>#copy misbehavesmisbehaves
  42817  Remove OS/2 as a Cross Development (XD) image type
  42904  Walkback in AbtXmlStreamConverter>>convertStream:withEncoding:
  42944  ExceptionalEvent>>#signalWithArguments: is missing a ^
  43008  Different look and feel windows controls development image and runtime
  43064  sstwsdl.xsd schema contains two syntax errors
  43155  WAVASTPlatform>>#filesIn: returns incorrect results
  43156  WAVASTPlatform doesn't handle Squeak method categories correctly
  43201  Create loadable feature for VAStGoodies.com Tools
  43385  Reference to StsWorkspaceInspectorWin in StsTabbedBrowserAppWin causes load error
  43392  Class-based exception mapping to instance-based exceptions fails when  #isResumable answer is not constant
  43420  Spelling of HTTP Status Code 200 reason phrase breaks some proxies
  43476  Change VM memory management from GlobalAlloc/Free to HeapAlloc/Free on Windows
  43489  OLE Registry Browser does not print the property flag correctly correctly
  43490  OLE Registry Browser does not properly handle keys when a control is missing
  43571  SstRmiRegistry>>#bind:to: incorrectly checks for existing entry
  43620  DateAndTime class>>#from: has parsing error
  43674  RRRfc822DateTime>>#encodeOn: should use English locale date names on all platforms
  43689  ZeroDivide answers incorrect value on #return: or #resume:
  43772  StsTabbedChangesBrowserWin produces extraneous debug output
  44070  Doc error in Server Smalltalk Guide, Examples of Java RMI support
  44082  SstPingPongRmi retrieves Java typing info from wrong app

Corrections and Product enhancements in V8.0.2

  Case   Title
  -----  ---------------------------------------------------------------
  29146  Object-Relational Mapping Framework
  37854  EsString>>#subStrings: needs to be made ANSI-compliant
  37928  Add Calling Oracle Functions and Executing Anonymous Blocks
  39837  Promote the Color class from WbKernel to the base
  40786  Need implementation of Color>>#javascriptOn:
  43079  SciAbstractSocket mismanaged its buffers
  43469  Add support for method pragmas
  43741  Missing method in AbtRunReportApp
  43745  WkHierarchicalListBox loses icons
  43776  StsWorkspaceInspector #saveChanges method causes problems
  43877  Reorganize pool dictionaries in PlatformFramework for Unicode support
  44138  Update SUnit to V3.3 - Just in Time Resources
  44148  Organizer status line shows multiline revision note on UNIX
  44197  JrcOrder XML mapping example fails on Unix and Windows 7
  44258  Grease Core and Grease Core Tests maps shipped with V8.0.1 are obsolete
  44339  Windows executables digitally signed for Authenticode (R)
  44353  AbtIbmStaticTimestampField>>#put:intoRecord:parentOffset: - No implementors of #ibmIsoTimestampStringFrom:
  44432  Change primitive number references to EmSystemPrimitives references
  44459  VisualInspecting extends ArrayedCollection with a bogus #at:ifAbsent:  method causing walkbacks in other apps
  44477  MedCheckpointing and MedZipUp use wrong protocol to add itself to the config map  browser
  44534  Incorrect behavior when deleting a method in the StsTabbedApplicationsBrowserWin Browser
  44631  Move the LimitedWriteStream class and its invokers from  GreaseVASTPreloadApp to CLDT
  44646  SequenceableCollection>>#keysAndValuesDo: implementation is missing  (ANSI)
  44677  Collection>>#noneSatisfy: should be added to complement allSatisfy:  and anySatisfy:
  44738  Complete SequenceableCollection>>indexOfSubCollection:... protocol to support Seaside
  44788  Improve usability of Stream protocol by adding #print: method (in  support of Seaside usage)
  44817  Enhance streaming protocol with SequentialCollection>>streamContents:  convenience method (needed by Seaside)
  44859  Inform Users To leave the  Http Server logging window open
  44875  Update Seaside to 3.0b1 level (**on-going**)
  44959  Refactor Seaside random number support based on the availability of Grease portability layer
  44963  Refactor low-level instance variable accessors for Seaside portability
  45108  Add various instance processing methods to Behavior to support Seaside porting
  45146  Add ReadStream>>skipSeparators and ReadWriteStream>>skipSeparators to CLDT to aid Seaside porting
  45148  packaging rule failed
  45163  Resolve conflicting implementations of Behavior>>includesBehavior: in MagritteVASTPreload and RBEnvironmentsVAApp
  45279  Show Workspace' Toolbar Button Missing for the Native Toolbar on Inspectors
  45323  Promote SstHttpServletRequest>>getPostFieldsString from Seaside to SST for general usage
  45358  Error in DateAndTime class>>date:time -- Date DNU month
  45363  Web Doc Url should be 802
  45387  Create VMsysprStringIsLatin1 primitive and EsString>>isLatin1 accessor
  45412  SstHttpServer error page is incomplete
  45415  Add the 'WindowBuilder Pro - Runtime' configuration map to the delivered product
  45419  Bug Fix for AbtNlsTraFileComparer
  45445  Error using Seaside halos
  45464  SequenceableCollection>>beginsWith: and endsWith: are non-portable
  45498  WkTable example using Objects in Combobox Column
  45578  Code bug in EsCompiler>>#sqaParser:
  45605  'copyOnWrap' VMOptions parameter was only used on Win3.1 -- remove it
  45727  Support power management events on Windows GUI apps  pps 
  45841  XML Deserialization
  45907  Move IdentitySet to the product base
  45908  Add set theory Collection methods to the base
  45949  Increase precision of Duration from milliseconds to microseconds
  45953  Promote Duration extensions from GreaseVASTCoreApp to CLDT
  45994  Error browsing resource in SUnit's 'Browse Test Resources' window
  46095  Pragma>>#printOn: gives walkback because a Symbol DNU #keywords
  46131  DataAndTime>>#asUTC gives wrong answer
  46222  Move Collection convenience methods from Platform Portability to ENVY/Image Base
  46293  Make instance-based exceptions polymorphic with class-based  exceptions
  46299  Update the Native Oracle Display Name to 'Oracle10g/11g'
  46311  Promote Collection convenience methods #sort:, sort:, sorted, and  sorted: from GreaseVASTCoreApp to Kernel
  46390  WbApplicationFramework application can't be unloaded
  46431  Running Seaside adaptors don't survive image save
  46439  SUnit 4.0

Corrections and Product enhancements in V8.0.3

  Case   Title
  -----  ---------------------------------------------------------------
   7593  Memory leak in CgIcon
  25910  Build problem: Unix cr left in Windows files
  38931  HttpServerExample with Close Button
  44257  MedThreeWayDifferencesBrowser>>widthOfString: walkback  'UndefinedObject DNU fontStruct'
  46147  Drag and Drop leads to ugly tail-effect using two monitors
  46578  Refactoring Browser configuration map has redundant required map link
  46584  WkTableWidgetExample2 produces walkback when clicking on Company heading
  46593  Unix: WkHierarchicalListBox loses icons
  46596  Installation does not automatically create needed /usr/X11R6 structure
  46659  "EsCompiler class>>#useWarningLevel0While: does not always reset the warning level after the block is executed"
  46660  Duration>>#+ and #- use '=' instead of ':='
  46742  Native Toolbar Buttons Require a Double Click
  46689  Introduction to "Function Calls using Native Oracle" is wrong
  46742  Native Toolbar Buttons Require a Double Click
  46774  OrderedCollection>>#isEmpty comment is wrong
  46870  Valid ODBC Data Source not being found
  46877  False does not understand value
  46878  Add Color>>#asHTMLColor for Seaside add-ons
  46880  Issue displaying long javascript "Strings" in the Hierarchy Browser
  46899  Parameterize certain menu enablement tests in EtWindows so subclasses do not need to override menu methods
  46900  Error Running 8.02 XD packaged with SGMLSupport App
  46924  GF/ST Color Problem in Buttons
  47015  Windows 7: installation results in shortcuts with garbage characters
  47085  VAStGoodies.com Tool update
  47107  Incorrect behavior when deleting a method in the StsTabbedApplicationBrowserWin Browser
  47136  ENVY/QA Code Formatter loses Pragmas
  47181  Resource leak in VAST EsSplitbar
  47204  "The schema import handler should log a warning if a schema cannot be resolved from the schemaLocation attribute"
  47212  AbtDbmKernelApp class>>#failedRemove sends unimplemented method
  47267  Promote CwMultiLineTextPrompter to CommonExtendedWidgets
  47270  Merge Mastering ENVY/Developer Configuration Expression Prompter into the base
  47300  Mouse wheel walkback in scrollbar-less text widget on Windows
  47397  Error in OSTextEdit>>#selectedText (off by one error) on Windows
  47585  SUnit Resource Browser status area color doesn't track properly	
  47634  EpPackager>>#actuallyIncludedSubApplicationNames should produce a sorted array
  47658  AbtVariable class>>abtPrimitiveEventForFeatureNamed: is broken
  47714  Selection background color Issue in tables
  47731  EsParsing incorrectly sends SubApplication>>#defined without prereq of EsImageSupport
  47793  ScaledDecimal>>#printString gives incorrect output
  47827  Class browser open walksback
  47861  need TzSpecificLocalTimeToSystemTime platform function call
  47877  NLS Catalog Editing Tool
  47878  NLS Enablement Tool
  47978  Application class>>#isBasedOn: performance improvement
  47986  MS/SQL doesn't like a numeric field containing '5.' -- it wants '5.0'.
  47987  MS/SQL doesn't like a timestamp precision of 26 and a scale of 6 -- it wants 23 and 3
  47997  TrailBlazer should not be enabled when loaded
  48051  Problem with resumable is nil in ExceptionalEvent
  48059  Seaside 3.0.2

Components and Features

The following sections list some important information about some of the components and features. For the latest product information, please refer to Instantiations Smalltalk web page.


Application Builder

On AIX, turn NumLock off when dropping parts

Be sure that your numlock key is turned off if you are using the composition editor. The numlock will prevent parts from being dropped on the Composition Editor.

On UNIX, "X Error: BadWindow" message appears for Slider part

Each time the Slider part is repainted the "X Error: BadWindow (invalid Window parameter)" message is printed in the xterm window where VA Smalltalk was launched.

The Slider part still functions normally.


Base

(7.5.1) Configuration Map Browser enhancement to lineup management

Prior to this enhancement, the only support for reordering the required maps lineup was to move selected maps to the beginning or the end of the lineup. Now the Required Maps -> Move menu (and popup menu) provides 4 options:

Up and Down move the selected maps up or down one position in the lineup.

On MVS, INIs are optional for packaged applications. All other platforms, INIs are required for packaged applications

On MVS, an .ini file is optional. On all other platforms, an .ini file is required. The .ini file may have the same name and be in the same directory as your executable (on Unix, the executable is es or esnx). The .ini file can also have the same name and be in the same directory as your .icx or .ic file.

In addition, you can specify your .ini file as a command line parameter. For example, you can launch your program by typing the following:

   abt -imyapp.icx -ini:c:\any.ini

(8.0.1) Tabbed Browsers

Core tabbed browsers are available for Windows and UNIX: Class, Class Hierarchy, Class Shadow and Applications browsers.

Extensions to tabbed browsers available on Windows: Class Edition, Methods and Method Edition Browsers.

(8.0.1) VerifyMemorySpaces, VerifyVMSlots, VerifyImage

VerifyMemorySpaces, VerifyVMSlots, VerifyImage can be used to identify Smalltalk memory corruption. Since these primitives write to the TTY Transcript, the image to be verified must be started with the '-l' commandline option in order to collect the verification information. Before using these methods on the UNIX platform, the use must execute the following Smalltalk expression:

   Core bindSharedLibrary

Communications

No additional information at this time.


Database

Get schema function on Stored Procedure Specification Settings

When using stored procedures with the new Oracle 8 database connection, the Get schema function on the Stored Procedure Specification Settings view only works for procedures that are not contained in packages. Users must manually define host variables for procedures that are contained in packages.

On Unix, running Database Features

On Unix, if you are using database features and experience a core dump when exiting VA Smalltalk, comment out the PlatformLibrary>>shutDown method. An alternative solution for your packaged application is to execute the following code when exiting:

   System primitiveExit

Oracle initialization mode can be changed without subclassing AbtOracle8DatabaseManager

Prior to this fix, the only provided method for changing the Oracle initialization mode was to create a subclass of AbtOracle8DatabaseManager in order to override the #userDefinedInitializeMode method. While this method is still available, it is now possible to change the default initialization mode by setting a class variable. The provided method for doing this is AbtOracle8DatabaseManager class>>#defaultInitializeMode:. The shipped default value is OCI_DEFAULT, which is unchanged from previous VA Smalltalk version. See the comment in AbtOracle8DatabaseManager class>>#defaultInitializeMode: for other possible values.

Prerequisite AbtRecordStructureApp in Database Applications

Some database applications will need to add a prerequisite for the AbtRecordStructureApp application. Applications that use Database Parts will not need to add this prerequisite because the parts will include the AbtRecordStructureApp application. If an application manipulates instances of any of the subclasses of AbtRow, they will probably need to add this prerequisite.

If you package your application and get the error The attribute Pub <Attr name> does not exist at runtime, you need to include the AbtRecordStructureApp application.


DBCS

Display Resolution for DBCS machines

To ensure all information is displayed on your computer, we encourage you to use the highest resolution offered by your display terminal.


Documentation and Helps

Identifying browser and newsreader on Unix

If you get no response from Smalltalk when requesting Help (from the Help menu or F1), the most likely cause is that the browser and/or the newsreader installed on the system cannot be found.  To correct this problem, edit the .ini file (for example, abt.ini) and add links to the installed browser and/or newsreader in the [Help] stanza -- you will see examples of specifying Firefox and Thunderbird. You can specify either a complete path to the browser and/or newsreader (not usually necessary) or a relative path.

Starting online help on Unix

Enter one of the following URLs into your browser:


Domino Connection

Using an English version of Lotus Notes

The NLS versions of Lotus Notes must be installed on the native Operating System (OS) platforms, in order for Notes to work. If a US-English version of Lotus Notes is installed on the native OS, then the user will not be able to input either SBCS or DBCS characters correctly. This is a restriction with Lotus Notes.

Error detaching documents using Domino Connection

When detaching a file attachment using the Domino connection, the detached file is corrupted. The problem only shows up if the attachment is BASE64 encoded.  Detaching the same attachment using the Notes Client works fine. Detaching via Domino connection also works fine if the file has been attached manually using the Notes Client.


EMSRV

EMSRV support for Windows NT/2000 on SMP hardware

  There are no known current issues with multiprocessor boxes under any recent version of Windows
  since Windows 2000.  Under much older versions of Windows such as Windows NT, repository corruption
  was observed on multiprocessor machines. It was never reproducible or diagnosed, but speculation
  at the time was that the problem was a file sharing bug in Windows itself (that has likely been
  long since corrected). As far as we know, no fix is necessary under any recent version of Windows.
 
  As long as you us the -mp switch, you should not have any problem using EMSRV under any recent
  version of Windows.  We have had no reports of manager corruption in the past 5 years or more.
  Many customers are running with the -mp override.
 
  In any case you should always make sure to have a current backup available in case there is any
  sort of problem.
 
  If you are still concerned about this issue, you can always use a single processor box or use a
  single-processor VMWare image.
 
  Note: Without the override results in a warning
 
    WARNING:  Running EMSRV for Windows NT/2000 on multiprocessor hardware is not supported due to
    suspected operating system bugs that may result in repository corruptions.  Install and run EMSRV
    on a machine with a single processor or start EMSRV with the -mp option to bypass this check.
   
  Note: When starting with the -mp command line option, EMSRV will still report a warning to the console
    (or to the Application Log if EMSRV is running as a service):
 
    WARNING:  Running EMSRV for Windows NT/2000 on multiprocessor hardware is not supported due to
    suspected operating system bugs that may result in repository corruptions.  You have chosen to
    start EMSRV with the -mp option to bypass a check that normally restricts EMSRV from running on
    multiprocessor hardware.  This may cause repositories to become corrupted.

(7.5.2) Native password validation on Linux

EMSRV native password validation on Linux uses Pluggable Authentication Modules (PAM). The sample PAM file shipped with VA Smalltalk is correct for older Linux distributions, but does not work for newer distributions.


OLE

Copying from Windows Explorer into an OLE Client part

Use copy and paste to share OLE objects between the Windows Explorer and an OLE Client part. Dropping an OLE object that was dragged from the Windows Explorer onto an OLE Client part does not work.

Packaging

No additional information at this time.

Server

(7.5.1) HTTP server access log

An SST HTTP server can write an "access" log containing an entry for each request received by the server. Entries in the log are formatted according to the default format used by the Apache HTTP server in order to enable tooling for Apache logs to be used for SST logs as well.

The access log is initialized in SstHttpServer>>startUp.  If an access log is desired, it can be specified in 2 ways:

  1. The application can send SstHttpServer>>accessLogFormatPolicy: AND SstHttpServer>>accessLog: prior to sending SstHttpServer>>startUp.

    The application can be started with the following command line switch: -sstaccesslog.  This will cause a log file named httpd.log to be written in the current directory.

  2. (5.5.2) Performance improvement in writing walkback log

    By default, when an error occurs, the walkback information is written to TranscriptTTY. This causes the walkback information to be written to the console or to a log file identified by the -l command line option. Since TranscriptTTY does unbuffered character-at-a-time output, it can be very time consuming to write a large volume of walkback information.

    For VisualAge Smalltalk V5.5.2 and later, an alternative output mechanism is provided. When it is enabled, this mechanism writes the walkback information to a file stream just as would be done for a Reduced Runtime image. This is a buffered operation which can be more than an order of magnitude faster than writing to TranscriptTTY.

    To enable writing the walkback information to a file stream, you must provide the startUp class with the filename of the file to be associated with the file stream. For example, to see the difference in behavior, create an XD image and load the HelloWorld application. Then package it specifying AbtHeadlessRuntimeStartUp as the image startup class and HelloWorld haltHelloWorld as the application entry point. When you execute the packaged application, a walkback will be written using TranscriptTTY. However if you specify:

       System image startUpClass walkbackFileName: 'runtimeWB.log'
    

    before you package, the walkback will be written to the runtimeWB.log file.

    (6.0) SST IIOP Support is Obsolete

    CORBA IIOP facilities provided by SST in previous releases are obsolete as of this release. The implementation provided in previous releases continues to be shipped with this release, but all methods have been recategorized as 'OBSOLETE'. There will be no further development or enhancement of these facilities, and they may be removed from the product in a future release.

    Customer applications which made use of these facilities in a previous release will continue to be supported as they are migrated to this current release.

    Customers are advised to make use of Web Services technologies, such as XML and WSDL, for future interoperability strategies.

    (8.0.2) Support for JDK 1.3 through JDK 1.6 using RMI

    The RMI in Server Smalltalk has been tested with JDK 1.3 through JDK1.5, using the same techniques that were required for JDK 1.2.

    Using XD Interactive Debugger over TCP/IP with no nameserver

    When trying to use the interactive debugger, if you are getting the error EHOSTNOTFOUND or EADDRNOTAVAIL on the runtime side, the problem may be that your runtime machine cannot resolve the dotted TCP/IP address of your development machine. You can work around this problem by adding an entry to the hosts file on the runtime machine for your development machine.


    VA Assist

    Uninstalling VA Assist

      Uninstalling VA Assist is a bit involved. To uninstall the feature,
      1. Start with an image named the generic name: abt.icx.
      2. Launch the image.
      3. Disable VA Assist (From the Transcript choose Tools -> VA Assist Pro -> Disable.)
      4. Save (using the Transcript -> Save) and restart the image.
      5. Uninstall the feature. There are two ways to do this:
         a) From the Transcript choose Tools -> Load/Unload Features...
            Select VA_ VA Assist Pro from the right pane and move it with the << button to the
            left pane. Dismiss the dialog with an OK.
         b) From the Transcript choose Tools -> VA Assist Pro ->Uninstall.
      6. Save the image using the Transcript -> Save.
      7. If you renamed your image, restore its former name.
    

    Web Connection

    Web Connection does not support DBCS char for Cookies

    DBCS cookies are not supported using the Servlet Interface. This is a limitation of the HTTP Server.


    WebServices

    (8.0) Deserialization of a SOAP Envelope failed when the defining schema contained an element using a ref attribute referring to an imported schema

      Consider the following excerpt from the schema and mapping specs:
    
      Schema 1:
    
      <?xml version="1.0" encoding="UTF-8"?>
      <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns="http://exampleSchemas.com/thisSchema"
            xmlns:ais="http://exampleSchemas.com/StatusSchema"
            targetNamespace="http://exampleSchemas.com/thisSchema"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">
          <xs:import namespace="http://exampleSchemas.com/StatusSchema"   schemaLocation="StatusSchema.xsd"/>
          <xs:element name="SessionRequest" type="StartSessionRequestType"/>
          <xs:element name="SessionResponse" type="StartSessionResponseType"/>
          <xs:complexType name="SessionRequestType"/>
          <xs:complexType name="SessionResponseType">
                <xs:sequence>
                      <xs:element ref="ais:Status" minOccurs="0" maxOccurs="unbounded"/>
                      <xs:element name="SessID" type="xs:string" minOccurs="0"/>
              </xs:sequence>
          </xs:complexType>
      </xs:schema>
    
    
      Mapping Spec for SessionRequest:
    
      <?xml version="1.0"?>
      <!DOCTYPE XmlMappingSpec SYSTEM "abtxmap.dtd">
      <!-- NameSpaceURI must match with the namespace on the Schema                       -->
      <XmlMappingSpec Name="StartSession.map" NameSpaceURI="http://exampleSchemas.com/thisSchema" >    
        <ClassTypeMapping TypeName="SessionRequest" ClassName="ExStartSessionRequest"/>
        <ClassTypeMapping TypeName="SessionResponse" ClassName="ExStartSessionResponse">
                <AttributeMapping ClassAttribute="status" NameSpaceURI="http://exampleSchemas.com/StatusSchema">
                      <SubElement>Status</SubElement>
                </AttributeMapping>
                <AttributeMapping ClassAttribute="sessionId">
                    <SubElement>SessID</SubElement>
                </AttributeMapping>
        </ClassTypeMapping>
    
    
      Mapping Spec for Status:
    
      </XmlMappingSpec>
      <?xml version="1.0"?>
      <!DOCTYPE XmlMappingSpec SYSTEM "abtxmap.dtd">
      <!-- NameSpaceURI must match with the namespace on the Schema                       -->
      <XmlMappingSpec Name="TransactionStatus.map" NameSpaceURI="http://exampleSchemas.com/StatusSchema">
    
        <ClassTypeMapping TypeName="Status" ClassName="ExStatus">
                <AttributeMapping ClassAttribute="returnCode">
                      <SubElement>Code</SubElement>
                </AttributeMapping>
                <AttributeMapping ClassAttribute="returnCodeDescription">
                    <SubElement>Description</SubElement>
                </AttributeMapping>
        </ClassTypeMapping>
      </XmlMappingSpec>
    
    
      After deploying the web service and sending a request,  the web services framework did not 
      deserialize this response:
    
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
           <env:Body>
            <SessionResponse xmlns="http://exampleSchemas.com/thisSchema"        
           <Status xmlns="http://exampleSchemas.com/StatusSchema">        
                 <Code>0</Code>
                <Description>ok</Description>
                  </Status>
                  <SessionID>ABCDEF</SessionID>
            </StartSessionResponse>
        </env:Body>
      </env:Envelope>
    
      It reported the error: 
    
      "XML mapping error ##ObjectInitializationError: ''Unable to process element ''''TransactionStatus'''''''   ".
     
      The problem occurred because the code considered the Status  element to be in the 
      "http://exampleSchemas.com/thisSchema" namespace, not in the namespace of the imported schema. 
      The framework was  modified to take into account the namespace of the prefix on an element with a ref
      attribute.  
    

    (8.0) WSDL deployment fails when a schema attempts to import a schema which is already being imported

    The schema parser in VA Smalltalk is recursive. Whenever a schema import is encountered, a new parser is created which begins to parse that schema. The new parser is added to a stack. This process continues until there are no more schemas to be imported; then the final schema import is completed. The previous import is then completed until the stack is unwoundd. If an imported schema imports a schema which has already been imported by a previous schema, an infinite loop results and an out of memory condition is encountered. For example:

      WSDL A imports Schema A.
    
      Schema A imports Schema B.
    
      Schema B imports Schema A.
    

    Modifications were made to track schemas which have currently begun to be imported and to skip duplicate imports.

    (8.0) WSDL and imported schemas using the document/literal or document/literal wrapped style are not deployed/serialized properly

      Deployment Problem
    
      The typical error message in this situation occurs during deployment with the message:
    
      'The type an AbtXmlQName(requestheader:WachoviaRequestHeader) for WSDL part ''SomeWSDLPart'' could not be determined'
    
      The problem occurred when the "document/literal wrapped" style of wsdl was used and the element
      was defined in an imported namespace, e.g.,
    
      <wsdl:definitions
    
        ...
    
        xmlns:importedNamespace="myNamespace2"
    
      <wsdl:types>
    
        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
          <xs:import namespace="myNamespace2" schemaLocation="C:\aSchemaLocation"/>
    
        </xs:schema>
    
      </wsdl:types>
    
      <wsdl:message name="RequestMessage">
    
          <wsdl:part element="importedNamespace:Request" name="Request"/>
    
      </wsdl:message>
     
      An instance of the SstWsdlDefinitions class contains the parsed artifacts of the web service including
      the schemas defined or imported in the types section.  WsdlDefinitions has an instance variable "types"
      which contains an instance of the SstWsdlTypes class.   namespacemappings instance variable.  During parsing
      of the types section, schema namepsaces were added  to a dictionary assigned to this variable.  The schemas
      themselves were placed into the schemas instance variable. Only namespaces of schemas defined wtihin the section
      and schemas directly imported within the types section are included.  However, these imported schemas often
      import other schemas.  The imported schema's namespaces and prefixes are not assigned to the schemas dictionary;
      they appear in the WsdlDefinitons types instance variable in its imports dictionary.  Since this dictionary is
      not searched during the deserailziation/serialization process, nor during the wsdl message parsing process, web
      services with this type of schema importation could not be deployed or serialized/deserialized.  
    
      Code was added to cache all namespaces contained in  imported schemas during parsing; when all schemas were
      imported, iterate through the cache and:
    
       1. place all namespaces into the SsdWsdlDefinitions namespaceMappings Dictionary
    
       2. place all schemas in the SstWsdlTypes schemas dictionary
    
    
      Serialization Problem
    
      All necessary namespaces were not included in the Soap request envelope if imported namespaces and
      schemas were needed to fully define the request.
    
      Code was added to examine all schema elements included in the request and to add their namespaces to
      the Soap envelope.
    
      Important!
    
      In order to retain backward compatibility, the new processing has been made optional on a container--wide
      basis.  To use it, create a container using:
    
        SstWSContainer>>createContainerUsingDocLiteralWrappedNamed: aString
    

    (8.0) An Element with a ref attribute referring to another namespace was serialized incorrectly in the SOAP Envelope

      A schema element which contained a ref attribute to a type in another namespace was not serialized with
      the correct prefix in the Soap request envelope.
    
      Consider the following excerpt from a schema: 
    
      ...
    
      <xs:schema  xmlns:thisNamespace ="http://thisnnamespace.net/"
                xmlns:cust ="http://customer.net/"
                targetNamespace="http://thisnnamespace.net/" >
      <xs:import namespace="http://customer.net/" schemaLocation="C:\theSchemaLocationl"/>
          <xs:element name="StatementRequest">
                <xs:complexType>
                      <xs:sequence>
                            <xs:element ref="cust:Customer"/>
                      </xs:sequence>
                </xs:complexType>
          </xs:element>
    
    
    ....
    
    
       Prior to V8.0, the SOAP serialization would produce the following in a request envelope:
    
       <SOAP-ENV:Envelope
           xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:thisNamespace ="http://thisnnamespace.net/"
          xmlns:cust ="http://customer.net/"
           xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          <SOAP-ENV:Body>
                <thisNamespace:StatementRequest>
                      <thisNamespace:Customer>
                            <cust:Name>Bob Smith</cust:Name>
                            <cust:acctNumber>02789</cust:acctNumber>
                                         </thisNamespace:Customer>
                </thisNamespace:StatementRequest>
          </SOAP-ENV:Body>
       </SOAP-ENV:Envelope>
    
    
      The code has been modified to result in the request envelope:
    
      <SOAP-ENV:Envelope
           xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:thisNamespace ="http://thisnnamespace.net/"
          xmlns:cust ="http://customer.net/"
           xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          <SOAP-ENV:Body>
                <thisNamespace:StatementRequest>
                      <cust:Customer>
                            <cust:Name>Bob Smith</cust:Name>
                            <cust:acctNumber>02789</cust:acctNumber>
                                         </cust:Customer>
                </thisNamespace:StatementRequest>
          </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>
     
      Since the Customer complex type is imported from the "http://customer.net/" namespace, the prefix for cust:
      should  be used to qualify it.
    

    (8.0.1) web services XML directory

    The default resource qualifier is <varoot>/xml where <varoot> is the installation directory. A problem occurs on Unix if a web service attempts to write into this directory since normally this directory can only be written into by the root user. The solution is to change permission on the /xml directory and its content files to 766.

    The same problem ocurs on Windows 7 and Vista with UAC active.


    Seaside

    (8.0.3) Level of code

    Seaside 3.0.2 level of function is delivered in this release. This includes the following:

    • Grease
    • Seaside Core
    • JavaScript (used by jQuery and Scriptaculous)
    • jQuery
    • RSS
    • Scriptaculous
    • Development Tools
    • Web Tools
    • Testing (SUnit and browser testcases)

    (8.0.1) Seaside Support Documentation

    Seaside support is documented in Dynamic Web development with Seaside.

    (8.0.1) Limitations:

    • No flow Support
    • No Unicode support

    XML

    XML code page conversion (unsupported encodings)

    The XML parser automatically performs code page conversion before attempting to parse an XML stream. Many code pages are handled seamlessly using the default code page conversion routine of the runtime operating system. However, there are some character encodings that cannot be converted. Unsupported code page conversions cause walkbacks at execution time.

    The following code pages are not supported:

    • EUC_JP conversion is not properly supported by native Windows code page routines.
    • The code page ISO-2022-JP is not supported by native routines

    The VA Smalltalk XML support attempts to map XML character set encodings to valid code pages. The default mappings can be overridden using the API shown in the following example:

     
        AbtXmlStreamConverter mapEncoding: 'UTF-8' toCodePage:  65001.
    

    VA Smalltalk uses the code page conversion support APIs that are built in to each of the supported platforms. Therefore, code page mappings may be different for different operating systems. If you encounter a debugger with the following message it is likely that you have encountered an unmapped or mismapped encoding.

     
        Abt.Nls.160.e: Conversion from code page <sourceCodePage> to code page <targetCodePage> is not
        supported.
    

    Disclaimer

    THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. INSTANTIATIONS DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, INSTANTIATIONS GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS.

    (C) Copyright Instantiations Corporation 2005, 2011. All rights reserved.