VA Smalltalk Readme


Welcome to VA Smalltalk Version 8.6.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.

What's New in V8.6

What's New in V8.6.1

What's New in V8.6.2

What's New in V8.6.3

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.6.3 files and installation

Distribution files

VA Smalltalk distribution files are divided into development time components and runtime components.

Each VA Smalltalk platform has two downloadable development time components:

Product Installer
The product installer installs the Client and Manager components of the VA Smalltalk product as well as a development IDE setup tool. The Client component contains the VA Smalltalk development IDE. The Manager component contains the VA Smalltalk library (source code repository) file and the EMSRV code used to access the repository file in a team environment.
Documentation Installer
The documentation installer installs a local copy of the VA Smalltalk documentation onto your workstation.

Each VA Smalltalk platform has one downloadable run time component:

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 Redistributable Runtime Files.

The UNIX Client and Manager components, and the Server Runtime component for all platforms, are delivered as .zip files. 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 while gunzip is only designed to handle single compressed files.

Installing VA Smalltalk


If you are new to VA Smalltalk, we recommend that you install the documentation locally using the VA Smalltalk Documentation Installer, VA Smalltalk Documentation 8.6.3.exe, for easy reference before you install the VA Smalltalk product.

Run the downloaded VA Smalltalk Product Installer, VA Smalltalk 8.6.3.exe.

Complete installation instructions, such as how to set up EMSRV, can be found in the Installation Guide. The Installation Guide can be read online at Installation Guide, or locally after you run the VA Smalltalk Documentation Installer.

If you are doing a Custom install to install the Manager on a different machine than the Client(s), we recommend you install the Manager first.

Once you have installed the Manager and the Client, refer to the Installation Guide for further instructions on how to use the Environments tool to configure your environment so you can launch VA Smalltalk.

If you are using the headless installer to install the Manager alone, make sure the directory into which you want to install the manager has been created  before starting the  headless install. Refer to the Installation Guide for further instructions.

If you are installing on Windows Server: 
The manager is not installed when installing the product with both client and server portions present (the typical or default installation configuration).
Copy %tmp%\Instantiations\VA Smalltalk\8.6\manager\mgr86tmp.dat to <mgrroot> and rename it mgr86.dat. By default, <mgrroot> is C:\ProgramData\Instantiations\VA Smalltalk\8.6\manager. to determine %tmp%, open a command terminal and enter echo %tmp% .


We recommend you install the documentation locally first, so you have the Installation Guide in a convenient place. Unzip the downloaded VA Smalltalk Documentation Installer for your Platform and execute sudo ./vainstall in a terminal.

Unzip the downloaded VA Smalltalk Product Installer for your platform. Run the Installer by executing sudo ./vainstall manager in a terminal.

Complete install instructions, such as how to set up EMSRV, can be found in the Installation Guide. The Installation Guide can be read online at Installation Guide, or locally after you run the VA Smalltalk Documentation Installer.  

Open a browser on file:///usr/local/VASmalltalk/8.6/help/index.html once the documentation is installed locally.  

Note: There are special steps for installing on Linux which are documented in the Installation Guide.

Once you have installed the Manager and the Client, refer to the Installation Guide for further instructions on how to use the Environments tool to configure your environment so you can 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.6.3. The Migration Guide can be read online at Migration Guide  or it can be read locally if you installed local documentation.

Corrections and Enhancements

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

Corrections and Product Enhancements in V8.6.3

   Case   Title
   -----  ----------------------------------------------------------
   59328	Option to search for an application in all config maps after searching in most recent config maps 
   59502	Fixed access to fails in 8.6.2
   59620	Add doNotReduce packaging rules to OpenSSL SSL/Crypto Applications
   59621	Fixed bug in virtual compiler when renaming a class from the class definition pane
   59742	Fixed Changes Browser can produce a walkback on an open edition
   59767	Fixed MQ Series regressions from OSStructure updates in support of 64-bit
   59803	OSSslDHKey and OSSslRSAKey offsets into private algorithm structs are incorrect
   59911	Add [SocketCommunicationInterface] stanza to .INI to supply fdSetSize
   59949	Fixed CwScintillaEditor&gt;&gt;setString: not compatible with CwText&gt;&gt;setString:
   60030	8.6.2 Walkback when saving an empty workspace
   60040	OSVariableStructure should set the variableSize automatically
   60069	CgFileFormat&gt;&gt;loadFromFile: file handle leak if it throws an exception during loading
   60085	Sst Concurrency Issues when under extreme load
   60093	Fixed wrong calculation of fraction (SmallInteger quo: and rem: are broken)
   60096	TCPIP support on Windows now uses ws2_32.dll instead of wsock32.dll
   60135	Incorrect assertion in Crypto example #exampleRSASealOpenDigitalEnvelopes
   60147	Fixed OSPtr&gt;&gt;#ntoh64At: is broken for bigEndian machines
   60150	Editor and Code Assistant can get out of sync when the editor is being destroyed
   60183	EtWindow&gt;&gt;writeToFileNamed: missing return statement
   60201	Selecting Browse Editions from Application Manager produces walkback
   60228	Wrong nodialog path in abt.ini packaging stanza on UNIX
   60246	Add new bytecodeVersion level for 64-bit Images
   60298	PreStartup hook for OSStructure fails to call class side regenerateDefinition hooks
   60301	Disable/Ignore revert request from an EtWorkspace not associated with a file
   60313	On Windows, the fd_array structure member used for TCP select() is too small
   60324	Update EsSystemPrimitives with new pointer prims
   60325	SciDispatcher and SciBlockingDispatcher&gt;&gt;callAcceptWith:with:with: do incorrect error checkingUpdate OSObject/ByteArray/PlatformFunctions accessor with new pointer/long prims
   60344	Add new OSLong and OSULong OSObject base types
   60393	Pool dictionary SciSocketConstants has bad value for INVALIDSOCKET on 64-bit Windows platform
   60471	EsSocketAppender&gt;&gt;#readme example doesn&#39;t work
   60560	The copying of classes should copy developer information also
   60561	Modifying and saving a method in the debuggers should copy developer information also
   60518	signal sortOn: for empty WkTableWidget
   60600	Splitbar-Problem
   60664	Saving non-scintilla workspace produces a walkback
   60684	Fix GzipReadStream&gt;checkHeader
   60694	Fix scintilla selection manager so selection can continue after a double-click with LButton down 
   60807	Saving VA Assist Pro settings generates unexecutable code
   60815	OSSslSSLMethod functionality fails when ObsoletePlatformFramework is loaded 
   60818	Can not set cipherList in SciSslSocketConfiguration object
   60843	OpenSSL 1.1 compatibility
   60849	OpenSSL 1.1: Implement Blake2 cryptographic hash
   60860	OpenSSL 1.1: Implement CMAC
   60935	OpenSSL 1.1: Implement Authenticated Encryption
   60936	OpenSSL 1.1: Implement Secure Memory Extensions
   60953	The renaming of classes in the Refactoring Browser should copy developer information also
   60957	OpenSSL 1.1: Implement SSL/TLS Security Level Policies
   60959	OpenSSL 1.1: Implement Key Derivation Algorithms
   60991	EMUser class&gt;&gt;stsCurrent: should not reference missing method current:
   60942	Walkback on Autocomplete against methods with hidden source
   61006	Scintilla loadLibrary custom method does not need to print failures to the Transcript
   61013	Replacement of InflateReadStream&gt;upToEnd that&#39;s 100 times faster
   61020	Make GzipReadStream read character streams
   61045	OpenSSL 1.1: Diversify error object classes
   61136        Add support for link-local Scope ID to SciSocketAddress>>#getString:
   61145	Decimal Point Bug in LCNumeric>>printNumber:on:
   61176	Walkback in EwTableTree
   61252	Add New Class methods to MZZipUnzipApp
   61269	SstHttpUrl class is in the wrong application
   61274	Change SciSocketConstants INADDRANY from 0 to #[0 0 0 0]
   61300	Walkback on smalltalk styled scintilla workspace when requesting local rename via hotkey
   61376	Implemented default elliptical curve auto selection
   61393	Deprecation class>>#method:explanation:in: slows down the system
   61402	Add private key / certificate validation to context creation
   61406	Add ability to manipulate timeout values for session caching
   61408	Add Session management for the context and connection
   61421        (SciSocketAddress fromString: '') abtDottedDecimalAddress fails
   61438	Add sci ssl cipher abstraction
   61460        Missing hierarcy when opening CHB from the changes browser
   61480        Bug in Enable/Disable of Submenus
   61507        Hostname resolution problem with SciSocketAddress>>determineInternetHost:

Corrections and Product Enhancements in V8.6.2

   Case   Title
   -----  ----------------------------------------------------------
   46546	GRStringTest>>#testCapitalizedUmlauts fails on all platforms
   48352	storeString produces stackOverflow on some objects
   49888	Network Performance problem communication with emsrv on Windows 7
   51393	Help menu item and F1 on Organizer do not open browser on Fedora
   51979	Need error handling in GLORP when VADatabaseAccessor connection is nil
   52000	VADatabaseAccessor loginIfError: - error handling is fixed
   52379	DB2Platform>>#initializeFunctions should not overide the concatenation operator
   53519	EmCompressor 's Compression/decompression algorithm should not be sensitive to current Locale
   53546	EmCompressor fails: Primitive failed in: String>>#at:put: due to Value out of range in argument 2
   53845	Add support for reading .ico files with depth > 8
   54806	CfsFileDescriptor>>#touch:time: needs to be fixed to account for 64-bit time_t datatype on modern compilers
   54868	Update OSObject framework with 64-bit support
   55171	Move SequenceableCollection>>#swap:with: to CLDT to share with RBBrowserUIApp and SeasideCoreApp
   55312	Update Smalltalk Compiler and Tooling for 64-bit images
   55909	Add SQLite Feature
   56007	Fix Class hierarchy browser public/private and instance/class forms get clipped
   56023	EtWindow>>#stsFindItem:clientData:callData: breaks with index out of range error
   56201	Add HTTP HEAD access with SstHttpClient
   56300	UNIX manager-only install fails to install inst/importer.icx
   56414	DailyRollingFileAppender should not create file with 0 entries
   56415	DailyRollingFileAppender put log entries at the top of the minute into the wrong log
   56451	CfsUnixPath and CfsHFSPath classes do not implement required pathSeparators class method
   56468	Update CommonFileSystem for 64-bit Images
   56486	Remove remaining references to CgRGBColor
   56714	Fix text buffer snapshots being cleared when restarting saved images
   56774	Packaging of application via Organizer's MakeExecutable menu item can't find nodialog.exe
   56779	CodeAssist - Define setter does not work when : already added to selector
   56836	OSOle... class without interfaceSelectors causes walkback in tools (ENVY/QA, Packager) using them
   56837	EsWeakSet slowdown problem
   56867	EsImageStartUp class>> #outputWalkback:on:process: produces new walkback
   56930	Name SstCronEntry instances and query them through SstCron default
   56939	Code Assist Prereq Cache stops updating because untriggered timeout gaurd is saved with the image
   56956	#setTzInfoDir in EsTimeZoneAppUnix should allow override of the zoneinfo location
   57065	AsyncDailyRollingFileAppender does not do scheduled rollover correctly
   57067	Base64Coder>>#encode: prodces incorrect output for certain input character combinations
   57198	Update EsTimeZoneApp for 64-bit images
   57199	Update MZZipUnzipApp for 64-bit images
   57201	Update CommonGraphics for 64-bit images
   57202	Update CommonWidgets for 64-bit images
   57203	Update PlatformInterface for 64-bit images
   57204	DateAndTime asSeconds should answer #milliseconds // 1000
   57263	aDateAndTime + (aDuration negated) is not equal to aDateAndTime - aDuration
   57268	StsClassEditionBrowser notes sync callback only works for legacy editor
   57275	z.ST: Server Smalltalk (SST) - Seaside V 8.6.1 [314] can't be loaded more than once
   57289	Fix sends of class method #initialize by Seaside code
   57313	Add [Log4s] stanza to .ini files
   57341	Update SCI database access methods for 64-bit
   57343	StsCodeAssistDebuggerContext does not tolerate methods not in an application
   57354	Add support for multiple VA Smalltalk installations to Environments
   57412	Fix CwScintillaEditor methods to handle embedded nulls
   57413	Remove unnecessary method StsDebugger>>#selectedSessions:
   57449	VAST Seaside HTTPS support
   57451	Update CwDragAndDrop for 64-bit images
   57452	Update CommonPrinting for 64-bit images
   57453	Update AbtHelpApp for 64-bit Images
   57454	Update AbtRecordStructureBaseApp for 64-bit images
   57455	Update PlatformFramework for 64-bit images
   57462	Update Platform Portability (Grease) to 1.2.0
   57478	Update the Packager for 64-bit images
   57483	Update OLE Framework for 64-bit images
   57500	Update Swapper for 64-bit images
   57502	Update PlatformEvents for 64-bit images
   57507	Update PlatformWidgets for 64-bit images
   57516	Update AbtCLDTAdditions for 64-bit images
   57517	Update DynamicDataExchange for 64-bit images
   57518	Update Kernel for 64-bit images
   57520	Update EsAsynchronousCallout for 64-bit images
   57523	64-bit Integer Primitive support
   57583	OpenSSL Currency for 8.6.2
   57584	Update MQ Series for 64-bit images
   57587	Scintilla Type Inferencer can be incorrect if multiple hierarchy roots implement the same message
   57588	Update AbtCodePageUtilitiesApp for 64-bit Images
   57597	Update SQLite for 64-bit images
   57606	Code Analysis should detect and ignore IOC variable bindings
   57629	StsWorkspace break when evaluating a non-existent scoped pool variable
   57637	Add option on the Edit context menu: Open Hierarchy browser on selected class name
   57638	Add (Class) References to Edit context menu
   57645	Implement #asClass convenience method in Core
   57646	Prohibit saving class definitions that would cause invalid variable/pool references in methods
   57649	Browse references to literal message sends are not being highlighted in scintilla browsers
   57650	Browsers initialized to show class definitions start with invalid text selector state
   57651	Add multi-language support to workspaces
   57652	Fix forced list reselection when application managers and config browsers regain focus by scrollbar dragging
   57658	The .ini file produced by the Organizer's makeExecutable menu item contains incomplete output
   57659	Emsrv 7.2 windows executable has problems opening large libraries
   57670	Scintilla read before written lint algorithm needs to handle valid reads within nested assignments
   57679	Provide mechanism to allow code in abt.cnf file to run after image startup
   57686	Add pngfiles path to bitmapPath in abt.ini file
   57740	Symbol>>#precedence fails on selector beginning with _
   57769	Add Collection>>#gather: to GreaseVASTCoreApp
   57824	Update GLORP to v8.1-7 and GLORP Test to 8.1-5
   57836	Code Completion improvements in Workspaces and Inspectors
   57863	Class accepts varNames with umlauts
   57864	Add transaction control support to SQLite
   57927	Update AbtRunPlatformInterface for 64-bit images
   57954	EsSmalltalkNamespace protocol enhancements to fix large class library performance issues
   57956	Seaside 3.2
   57964	Image not properly centered within the label
   57977	Add support for SQLite to GLORP
   58002	Add Integer>>#printStringBase: to GreaseVASTCoreApp
   58011	Added code and testing features for SQLite/GLORP
   58014	WkTableWidget>>#itemsSortedBy:ascending: walks back if some items are nil
   58077	Missing Method indication algorithm in method lists is too restrictive
   58080	Update ENVY/Stats framework for 64-bit images
   58094	Relax JPEG reader's assumption that APPN segment immediately follows SOI
   58156	Enable Old style notebook-based custom settings view
   58222	Debugger scintilla pane gets out of sync with typed text going to the wrong location
   58238	abt.ini: Missing serverAddress or defaultName causes non-informative error message in Environments
   58260	StsDebugger>>#menuProcess unnecessary code
   58261	Remove unused and broken DbgDebugSession>>#stepIntoBlock
   58262	Allow Environments list windows to resize and hide/show scrollbars as needed
   58275	DateAndTime objects created around DST start in Europe/Berlin have incorrect offset
   58281	Bug in SstHttpClient>>#get:using:withHeaders:
   58293	signal event in WkTableWidgetView>columnsReordered
   58316	Cannot find timezone /etc/localtime
   58317	DateAndTime fromMilliseconds: 3605050800081 should not throw an error
   58318	Provide callingConventionCode setter on PlatformFunction
   58381	EsOrderedDictionary changes to values for existing keys may give unexpected results
   58406	VA Smalltalk specific GLORP error logging now includes standard errors in addition to exceptions
   58416	Packaging Dumper error message is uninformative
   58423	Multipart Forms processing should not trim trailing whitespace before CR/LF
   58433	RBAbstractClass>>#protocolsFor: mishandles protocols
   58455	"Store into read-only object" error in WARouteBuilder class>>#initialize
   58470	Environments will keep all existing backup files when a new copy of a file is requested
   58484	Add Seaside 3.2 applications to Packaging Instructions
   58485	Seaside REST Supports does not support deployment correctly
   58495	Fix exceptions in GLORP so that meaningful information percolates to the application level
   58518	Add portability methods to Grease 1.2 for Seaside 3.2
   58522	Add XD feature for SQLite/GLORP
   58523	Add Dictionary>>#= and Dictionary>>#hash for Seaside 3.2
   58626	GBS Support: Overridable factory method for text highlighters in StsDebugger and Highlighting Method Browser
   58633	Move CgIcon class>>#fromFile: #fromFile:size: and #named: from WbKernel to CgICOImageSupport
   58654	The Organizer's makeExecutable menu item cannot find the executable template on UNIX
   58707	Upgrade all platforms to SQLite3 v3.8.11.1
   58898	CwKeyEvent>>#character: setter missing on UNIX
   58899	StsColorText>>#manageChild calls an asyncExecInUI but doesn't check if it was destroyed when run
   58955	PreferredExtent not available in ibmst image with VA Assist Loaded...this breaks code completion
   58960	Async UI activation in StsWorkspace and StsTranscript does not check the widget is already destroyed
   59142	EMSRV and EMADMIN for 8.6.1 and 8.6.2 will not run on WinXP

Corrections and Product Enhancements in V8.6.1

   Case   Title
   -----  ----------------------------------------------------------
   30854	Emsrv should log correctly to a Reiser FileSystem since it can run properly
   48678	Cannot render correct Json on response stream because stream not reset
   49090	Problems processing Soap 1.2 Web Service
   49886	Soap 1.2 Client
   49980	Eliminate 2GB limit for EMSRV repository on Linux
   50193	Error inAbtOracleLobBuffer>>#writeFileToLob:file:connection: when file length is exact multiple of maxBufferLength
   50347	Glorp: Create table statements do not user Schema/Qualifier any more
   50440	PlatformLibrary class>>#doesMappingExistForLogicalName: method is in wrong application
   51126	EsLogManager shutsdown while saving image ...
   51305	Windows Installer does not allow alternate location for manager.dat
   51465	Problem in the compare operator of Date and Time
   51562	(WriteStream on: OrderedCollection new) nextPutAll:  Fails
   51608	CwDateTimePickerUseCase  - Can't set 1st day of week to Sunday in MonthCalendar
   51665	Improve error message from filein and code load
   51893	VAST 8.6 Installation should allow user to choose install directory
   51943	8.6: Preference Window uses Browser font and becomes illegible
   51962	[8.6 Windows Installer] Why do I have to enter a user name and organization?
   51969	Seaside Control panel ignores multi-select in list of adaptors
   51975	AbtBase64Coder>>#decode:  and SstBase64Coder>>#decode: don't handle an empty input string
   52001	[8.6] DNU in ScDbgTagWidgetAdapter>>#refreshBreakpointsMarkers
   52017	AbtNlsCoordinator>>#normalizeReplacements: does redundent characterization tests of its input
   52048	Cannot find time zone named  /etc/localtime
   52086	Add Browse Methods... -> Referencing Missing Selector to Options menu
   52088	EtWindow>>#stsMenuEditDebug and StsDebugger>>#stsMenuEditDebugger fail on some input
   52093	When a pool var is selected inside a pragma method, browsing references isn't always available from the menu
   52099	EmSystemConfiguration>>stsAllMethodsIncludingString: mis-formats its output messages
   52149	setting tabbing order for a CwDoubleListSelectionPrompter
   52160	Scintilla Code Folding support
   52162	Scintilla coloring performance issue on large documents when restoring focus
   52163	Update EsMemorySegment to give more complete description of itself
   52164	Limit scintilla keyword indicators to just draw under keyword parts
   52170	Scintilla indicators should be disabled in XD environment
   52185	CwScintillaEditor>>getStyledText:with: returns truncated buffer with wrong type
   52214	CwScintillaEditor>>findText:flags:start:end: does not work
   52234	Packaged Image Browser ignores Application Startup class
   52255	Update Tools to AvO.20 -- - Close stream and delete file after upload
   52256	AbtNls3to4>>#pragmatizePool:named:in:asPrivate:category:nilInitialValues: get walkback: String DNU bindWith:witn:
   52312	Instant-Variable Rename
   52314	Show dirty icons in browser tabs to show unsaved source changes on Windows
   52444	Portable Color class
   52446	Logging Question
   52462	abtScrubImage can cause code assist window handles to get out of sync
   52482	Debugger Calltips fail to show when a variable is followed by an assignment token with no space between them
   52509	Code Assist in Inspectors must account for no selected variables
   52550	VA 8.6 infinite loop in AbtXmlSchema
   52552	{8.6} Browse Differences marks "super" and inst var references as unimplemented
   52553	Add "Define Accessor" suggestions to code completion
   52567	The VM's SharedMemoryServer should log a message when an error occurs
   52583	Sts Tabbed Change Browser is missing the Classes, Methods, and Info menus from menu bar
   52652	Pragma>>#analogousCodeTo:, #hasLiteral: and #hasLiteralSuchThat: should be deprecated
   52807	Walkback removing class from 3-way diference browser
   52818	Scintilla break margin using cursor location when breakpoint is requested from the margin menu
   52859	SstHttpServletRequest needs to remove Seaside dependencies from SstHttpServletSupport App
   52957	AbxXmlBasicTools Needs to Process AnonymousComplexTypes When Generating Classes
   52959	GLORP - Walkback when calling GlorpSession>>#logonIfError:
   53048	CfsPath does not correctly support splitting a fileName into a name and an extension
   53053	Add echo support to WASstHttpServlet
   53055	WkControlsEdit is missing prereq of StsIcGenerationApp
   53066	Detect and handle Dead Keys in key based events so diacritics can be used
   53115	PlatformFunction signatures for code page conversion are incorrect
   53116	AbtCLangParser parses unsigned char incorrectly
   53120	Optimize windows event dispatching by filtering out non-key messages before accelerator/traversal translation
   53128	Maintain Scintilla API currency for 8.6.1 release
   53130	AbtCLangParser parses enums incorrectly
   53132	Restyle all non-focused scintilla editors in the background after a class/method change
   53133	AbtCLangParser does not correctly handle nested #else directives
   53134	Update Scintilla-enabled Highlighting Method Browsers to use highlight indicators
   53136	Show Scintilla margin menus to the bottom/right of the mouse pointer
   53142	PlatformFunction omits check for invalid parameter types when using class method
   53159	CommonExampleLauncher class>>#runtimeStartUp sends misspelled method #exampleLaucher
   53161	AbtCLangParser evaluating undefined token results in stack overflow
   53320	Missing NLS translation (NlsCatKRN indexedMsg: 53)
   53331	Enhance Highlighting Method Browser match identification
   53332	Walkback when searching for class var refs in MedRBExtensionsApp
   53334	Use Scintilla Indicators to show current executing expression in Debuggers
   53348	Fix double-click behavior in scintilla editor
   53355	Add sort event to WkTableWidgetView
   53356	Fix memory retention of development windows, editors and code assistants
   53381	AbtErrorLogger caches its logDevice and doesn't update the cache if the system log device is changed
   53404	Code page conversion routines call incorrect platform functions
   53405	Environments: Add support for multiple point releases within a VA Smalltalk installation
   53411	Environments: See if dmp file has been updated by another Environments instance before saving
   53421	CgDeviceIndependentImage>>#initialize:height:depth:palette:scanlinePad:data: uses the wrong index for NLS lookup
   53428	CfsFileDescriptor>>#lseek:whence: answers wrong value for files larger than 16rFFFFFFFF on Windows
   53430	CfsFileDescriptor>>size has an inefficient implementation on Windows
   53431	Web Connect Enhancements
   53439	Walkback pressing  in a VA Assist Browser with no method selected
   53467	Add translucent color support
   53469	CwScintillaEditor getSubstring:numChars:>>#compatibility method is not providing a truncated string when numChars is too large
   53471	Environments: Unix version should open new shell when starting up an Environment
   53482	Leading Diffs in comparison browsers are not highlighted
   53483	Inspector shows only single child for KeyedCollection whose keys are objects with identical printStrings
   53492	SstHttpServletRequest>>#getPostFieldsString fails if the incoming HTTP request does not specify a Content-Type
   53494	CgImageSupport subclasses of OSStructure representing bitmap (BMP) structures show 'Could not print receiver' when inspected
   53497	Code assist configuration panel keybindings button should be initially hidden
   53499	CwText>>stsLocationOfLineUnderCursor will incorrectly answer nil for empty lines
   53501	Update width of line number margin to handle line wrapping during margin widening transitions
   53504	MonticelloImporter should propogate Notes from the MonticelloApplication to the MonticelloSubApplications
   53506	Smalltalk subclassed scintilla control can't handle character values >= 128
   53507	Inspecting very large keyed collections suffers performance issues once a threshold size is exceeded
   53508	Do not run scintilla lint analysis when method templates are showing
   53520	ENVY/Image Interactive Test Suites NlsCurrentLocaleBrowser should display the letters of a Locale
   53704	Preparing DoIt text does not handle leading comments before a temp decl region
   53707	StsApplicationConfigBrowser can display incorrect icon when an app and subapp with the same name exist in the library
   53755	VMsysprStackFramePreviousFrames fills the switchCount field of the stackFrames with a bad value
   53782	Upgrade Base64 encoding to support all common formats
   53784	ISO8859-15 is not recognized as a valid target for code page translation on Windows
   53847	UTF-8 to ISO8859-15 conversion problem on Linux
   53865	Cannot create MVS XD image because EsTimeZoneApp cannot be configured
   54014	Increase security on Windows using Address Space Layout Randomization (ASLR)
   54025	StsMultipleSelectorBrowser should sort senders and implementors
   54038	Minimize ENVY communication from StsConfigurationMapsBrowser
   54091	Create accessors in Med RB extensions does not consider the selected text as input
   54092	CgByteStream>>#read255Into: fails when size of last block ~= 255
   54112	Asking for implementors of ** or senders of ** results in incorrect results
   54149	Deprecate usage of IsWin32s in PlatformGlobals
   54151	Glorp - Remove Collection>>#contains: and use anySatisfy: instead
   54224	EwList resize callback logic in VA Assist browsers miscalculates column width
   54226	Add virtual -- all -- category to browsers
   54310	Update Preferences Workspace to match the new default for 'selectAllCategoriesByDefault'
   54314	Changes Browser is missing Browse Hierarchy option
   54335	Add timestamp to walkback.log
   54358	Redesign theming engine and UI for the editor
   54367	GlorpVAPort and WbVsePortabilitySupport both supply Object>>#triggerEvent:
   54370	Reduce Memory Consumption of Scintilla Smalltalk Lexer
   54377	DateandTimePicker: Setting month and day must be done as a unit
   54378	GreaseVASTCoreApp and WbVsePortabilitySupport both provide Integer>>#printPaddedWith:to:base:
   54388	Monticello Importer should restore System confirmer on occurance of errors
   54460	Port Grease 1.1.6
   54462	Port Seaside 3.1.0
   54479	Use Native Progress Bars on Windows in the development environment
   54495	GF/ST Demo About dialog has old contact information
   54505	Inform scintilla features of editor resize events
   54627	Walkback due to store into read-only object while loading ICs
   54645	StsTabbedBrowsers showing multiple confirm dialogs in certain situations
   54656	SequentialCollection class>>#new:streamContents: needed to support Seaside testing
   54668	Change the name of the Zip shared library to eszip40
   54679	Enable Monticello Importer for UNIX platforms
   54711	VariableEnvironment>>#includesClass: - references to 'aClass' should be references to 'aClass name'
   54714	AbtRunCommonWidgetsApp is missing the following prerequisites:   AbtAttachmentsApp
   54715	CwWidget>>#framingSpec answers the wrong value in some cases
   54760	Use a more modern font as the default in Vast Development tools (ibmst and abt)
   54765	Monticello Importer fails on packages containing only extension methods
   54807	OSBaseTypes 64-bit datatype accessor methods broken for subclasses that use smalltalk fallback code
   54811	Support Zip/Unzip on all platforms
   54814	Add SQLite database support
   54958	SstIdlRepository class>>#buildBaseCacheInto:from: and #buildOn:into:with:from: both send unimplemented method
   54961	Add EtAbstractMethodsBrowser>>#categoriesToAssignToNewMethodIn:for: to allow subclasses to extend categorization function
   54996	RBRefactoring methods should be updated to protect against mid-refactoring breakage
   54997	Add #isProcess for Seaside and deprecate #abtIsProcess
   55025	Update Seaside IC packaging instructions to account for added and removed Seaside apps
   55029	Add Date class>>#todayUTC and Time class>>#nowUTC to complement Date class>>#today and Time class>>#now
   55049	Core class>>#_PRAGMA_SystemPrimitives does not following correct naming convention
   55107	SstWsdlExtension Needs a printString and debugPrintString Method
   55173	Collection>>#atRandom and #atRandom: missing from GreaseVASTCoreApp; needed for SeasideTestsEmailApp
   55191	Environments - Allow user to refresh all files associated with an Environment
   55225	String and DBString classes need implementation of #findFirstInString:inSet:startingAt: in GreaseVASTCoreApp
   55255	Integer class>> readFrom:base: should support reading from a String
   55262	Environments - Import existing Environment folders explicitly rather then under the covers
   55276	Provide Float class>>#negativeZero to support conversion of strings to numbers
   55277	Provide Float class>>#negativeInfinity to support conversion of strings to numbers
   55315	Users Should be Required to Agree to the License the First Time Environments is Opened on Unix
   55361	Both VisualInspectingES and WbVsePortabilitySupport implement #asStream
   55372	Glorp - Upgrade Glorp to the latest version available in the VW Public Store for 8.6.1
   55386	Ship SQLite runtime files with Linux, AIX, and Solaris
   55474	Activate code-completion in edition and changes browsers
   55485	Character>>abrIsSelectorCharacter has a poor implementation
   55717	CwScintillaEditor>>showPosition: compatibility method will not perform horizontal scrolling
   55889	(54140) Vast crashes during a time zone change
   56004	[B306] Roassal Examples map incorrectly included in release

Corrections and Product Enhancements in V8.6

  Case   Title
  -----  ----------------------------------------------------------
   39237 WAUploadFunctionalTest does not work
   41306 SST servlet support does not handle multipart forms (needed for  Seaside)
   49292 VA:XML Examples and VA:XML Support feature loads fail in IBMST 
   49453 CwMonthCalendar upgrade 
   49874 Make walkbackFilename=walkback.log the default in INI files
   49875 Cannot select second fixed size band in rebar in Composition Editor
   49927 Rebar - Cannot select all rebar bands in composition editor
   49936 EsLogManager class>>readMe example is wrong
   49939 Glorp - GlorpVariableTypeTest needs to use the SUnit expectedFailure mechanism
   49959 Add one shot breakpoint support
   49986 "VA Smalltalk Forum" help goes to closed forum
   50025 TimeAndDate does not use Daylight Saving Time on non-English platforms
   50029 GLORP-AbstractProxy>>#basicInspect should not be included in runtime code
   50045 Opening objects not inheriting from Object in Organizer walks back
   50048 TimeZone - StackOverflow when timezone mapping not found and logging turned on
   50058 code assist missing from application(s)browsers and script browser
   50073 SeasideSlimeApp: SmallintContext>>isRenderingMethod fails because String DNU #beginsWith:
   50085 Incorrect Date formatting information included in CLDT class>>#packagerIncludeSelectors
   50092 Grease non case sensitive matching broken
   50114 Monticello Importer should prefill the candidate version name
   50115 Create the Application Notes record for apps imported with the Monticello Importer
   50163 handle leak in #connectToDataSourceNamed:logonSpec:ifError: if can't connect to DB
   50170 CodeAssist - not working on non saved method
   50183 Undefined variable reference within block causes code assist walkback
   50184 Name WorkQueue process for DB connections with DB connection name
   50205 System>>#totalAllocatedMemory answers a negative value for memory over 1GB
   50235 Incorrect developer of class editions in library can cause walkback
   50250 EsString>>trimBlanks does not remove tab characters
   50281 Developer info bug for methods
   50284 Glorp: DB2Platform >> #dateConverter has to be removed
   50289 "Shared bytecodes with different literals size" error during packaging
   50302 NlsEnablementTools not creating/updating _pragma methods correctly 
   50307 WAHtmlErorHandler doesn't catch Instance-Based Exceptions
   50341 Time Zones upgraded to AIX 6.1
   50345 GLORP - Unimplemented method called in GlorpSession>>#dropTables:
   50349 Nested execLongOperations cause walkback and short-circuited ones run twice
   50362 ENVY/Image Method Linker Support V 6.0.0 includes back-level app
   50369 (Win7) CwMonthCalendar with XmNValueChangedCallback cannot change month
   50375 Time Zone fails to initialize on Headless Images  on AIX 6.1
   50393 Configuration map versioning allowed even with open configuration maps in Required Maps
   50407 Windows XD packaging for Linux fails because of missing .cat files
   50424 Provide a Scintilla-based text widget on Windows; use in browsers
   50444 Exporting Configuration Maps fails due to target library size using EMSRV 6.23
   50449 XML Serialization/Deserialization of Choice Types
   50544 Runtime .INI file content should match runtime portion of development time .INI file
   50546 Add Code Assist to the workspace portion of an StsWorkspaceInspector
   50553 CfsLeadEncodingFileStream is missing some ANSI stream  protocol
   50554 EsLogManager cannot be  subclassed
   50559 Packaging Errors in AbtXmlSchemaSupportApp, AbtXmlMappingParserApp
   50581 Add support for Oracle 8 OCI function OCIPasswordChange()
   50604 Deprecate OSCall>>#setMessageQueue: since SetMessageQueue Windows API is obsolete
   50605 Use EsEntryPoint to install WindowProc
   50609 AbtCwDateTimePickerView needs date and datetime attributes
   50630 SST -Client request response for one way operation causes Walkback
   50633 Add support for Windows API DllGetVersion
   50647 Slider Enable/Disable does not redisplay immediately
   50660 AsyncAppender causes endless loop
   50663 Instance-based Signal>>#description is not polymorphic with class-based Exception>>#description
   50715 Add support for setting Oracle prefetch rows count
   50739 Add .INI preference for Window title tag
   50740 Glorp Port to  7.9.1-4
   50754 isCwScrolledWindow methods missing on Windows
   50762 'DateAndTime now' has an incorrect time zone offset on non-English versions of Windows
   50798 DateAndTime made lighter
   50812 The z.SUnit feature map is missing a prerequisite map
   50813 Update PlatformPortability to 1.0.7
   50818 Add Glorp XD Server Features
   50856 Update Seaside to 3.0.8
   50857 Monticello scratches base class when importing a class extension
   50859 Create a Glorp Oracle feature and a Glorp Oracle Test feature
   50861 CgSingleDrawingAreaApplication should not appear in Example Launcher
   50891 Add AssertionFailure exception class
   50892 Halt exception should be resumable
   50919 String>>expandMacros... methods should be moved to the base
   51034 Add Seaside XD Server Feature
   51232 NlsExternalizationTools app is included in 2 different product configuration maps
   51249 Obsolete AbtICInstructions map included in product manager
   51259 CompiledMethod>>pragmas fails in IC runtime
   51265 Block>>#when:do: does not work with Class-based exception
   51273 Some WASlimeTest methods fail
   51437 Code Assist Configuration not updating in previously saved images
   51535 WAVASTFileLibraryTest>>testCompileByteArrayLiteralSource fails on UNIX

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.


(8.5) Limitations to CwRebar

The rebar control consists of one or more bands, each of which may contain a child widget control. Neither the color of the rebar control nor the colors of the individual bands is settable. Rebars with fixed-width bands should be placed in a fixed size window.

(8.5.2) An INI file is required for packaged applications

You must always specify (or default to) an INI file when running VA Smalltalk. The INI file can:

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

(8.5.2) The EsTimeZoneApp application must be included in all reduced run time packaging instructions

The EsTimeZoneApp is required in all reduced runtime images. It is included automatically in the reduced runtime packaging instructions shipped with VA Smalltalk (AbtBaseEpRuntimeImagePackagingInstructions and AbtEpRuntimeImagePackagingInstructions), but must be added in the #applicationNamesToPackage method of any other reduced runtime packaging instructions.

(8.5.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' command line option in order to collect the verification information.


(8.6.2) Multipart Forms Retains Trailing Whitespace before final CR/LF

Processing of multipart forms in 8.6.1 inadvertently stripped all trailing whitespace instead of removing only the trailing cr/lf.  In 8.6.2, the processing will only remove the trailing cf/lf and leave the trailing whitespace intact.


(8.6) GLORP - Low-level database exceptions detected by GLORP can now optionally be logged to the TranscriptTTY

The default action is to continue to create GLORP exceptions and signal them when low-level exceptions are encountered. This behavior can be overridden by executing VADatabaseAccessor loggingErrorsEnabled: true.  When set to true, GLORP will continue to create and signal GLORP exceptions, but will also write the details of the low-level exception encountered to the TranscriptTTY.  If running GLORP in a development image, the exception information will be written to the Transcript.  If running in a runtime environment, the exception information will be written to the log file specified by the -l<filename> command line option.

(8.5.2) DB2 CLI Fixed Character Length Fields of length 1 can now optionally return the single character string as a String rather than converting it to a Character

The default action is to continue to return single character strings as Character objects.  This behavior can be overridden per connection by sending keepSingleCharStringsAsString: true to each AbtIbmCliDatabaseConnection instance created.

(8.5.2) Improved packaging rules to include Abt*Field classes referenced in the typeDict and unifiedFieldMapping class variables of the AbtDatabaseManager subclasses

The database manager typeDict and unifiedFieldMapping dictionaries are created when the database feature(s) are loaded into the image.  The Abt*Field classes mapped through these dictionaries are typically not directly referenced by code,  but are located by lookup through these dictionaries. As a result, the necessary Abt*Field classes are not included in packaged image by default. The new packaging rules force the related Abt*Field classes to be part of a packaged image that includes database feature(s).

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.


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.

Accessing documentation on UNIX

Enter one of the following URLs into your browser:

Domino Connection

Using an English version of IBM Notes

The NLS versions of IBM 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 IBM 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 IBM Notes client works fine. Detaching via Domino connection also works fine if the file has been attached manually using the IBM Notes client.


(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.


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.


No additional information at this time.


(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.
  2. 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.

(8.5) 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 output is written unbuffered character-at-a-time, it can be very time consuming to write a large volume of walkback information.

An alternative output mechanism is avasilable. When it is enabled, this mechanism writes the walkback information to a file stream. 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 name of the walkback log in the INI 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.7 using RMI

The RMI in Server Smalltalk has been tested with JDK 1.3 through JDK1.7, 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 from the run time side, the problem may be that your run time machine cannot resolve the TCP/IP address of your development machine. You can work around this problem by adding an entry to the hosts file on the run time machine for your development machine.

(8.6) Support for inbound multipart form/mixed data

Support has been added for inbound multipart processing for form and mixed multipart subtypes in the Server Smalltalk - HTTP framework. 

Multipart is a MIME data type. It was originally defined as part of HTML 4.0.  There are several multipart subtypes; we are providing initial support for form and mixed subtypes..  The multipart/form subtype is most commonly used for submitting files via HTTP.    The protocol is similar to chunked transfer encoding, but in this case, each part of the transmission corresponds to the user entries from an HTML form.   

In the VA Smalltalk implementation, Incoming messages are parsed and "assembled"  by classes  in the Sst Http layer which process the incoming buffer of the socket stream and convert it to an instance of SstByteMessage, which then becomes part of an SstHttpRequest.  

SstByteMessages have simple content -- a byte array.  A Lookup Table has been  added to SstByteMessage to store the message parts. A multipart-aware application can then extract the multipart content; the SstByteMessage will continue to function as it always has with the rest of the existing framework and previously built applications.    

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 File -> Save Image) and restart the image.
  5. Uninstall the feature. There are two ways to do this:
  6. Save the image using the Transcript File -> Save Image.

Restoring VA Assist Settings

(8.6.2) Saving VA Assist Settings in 8.6.2 generated a settings file with invalid code. The symptom of the problem is that settings do not restore properly. To correct the settings in the file,

No changes to settings files generated in 8.6.2 or later is needed.

Web Connection

Web Connection does not support DBCS characters for Cookies

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

(8.6.1) Web Connection no longer supports Netscape's NSAPI and IBM ICS interfaces

Legacy makefiles instructions and export definitions that reference these interfaces have been left intact, however these interfaces are no longer supported.


(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=""
      <xs:import namespace=""   schemaLocation="StatusSchema.xsd"/>
      <xs:element name="SessionRequest" type="StartSessionRequestType"/>
      <xs:element name="SessionResponse" type="StartSessionResponseType"/>
      <xs:complexType name="SessionRequestType"/>
      <xs:complexType name="SessionResponseType">
                  <xs:element ref="ais:Status" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="SessID" type="xs:string" minOccurs="0"/>

  Mapping Spec for SessionRequest:

  <?xml version="1.0"?>
  <!DOCTYPE XmlMappingSpec SYSTEM "abtxmap.dtd">
  <!-- NameSpaceURI must match with the namespace on the Schema                       -->
  <XmlMappingSpec Name="" NameSpaceURI="" >    
    <ClassTypeMapping TypeName="SessionRequest" ClassName="ExStartSessionRequest"/>
    <ClassTypeMapping TypeName="SessionResponse" ClassName="ExStartSessionResponse">
            <AttributeMapping ClassAttribute="status" NameSpaceURI="">
            <AttributeMapping ClassAttribute="sessionId">

  Mapping Spec for Status:

  <?xml version="1.0"?>
  <!DOCTYPE XmlMappingSpec SYSTEM "abtxmap.dtd">
  <!-- NameSpaceURI must match with the namespace on the Schema                       -->
  <XmlMappingSpec Name="" NameSpaceURI="">

    <ClassTypeMapping TypeName="Status" ClassName="ExStatus">
            <AttributeMapping ClassAttribute="returnCode">
            <AttributeMapping ClassAttribute="returnCodeDescription">

  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=""
        <SessionResponse xmlns=""        
       <Status xmlns="">        

  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 
  "" 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

(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 unwound. 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.,





    <xs:schema xmlns:xs="">

      <xs:import namespace="myNamespace2" schemaLocation="C:\aSchemaLocation"/>



  <wsdl:message name="RequestMessage">

      <wsdl:part element="importedNamespace:Request" name="Request"/>

  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 deserialization/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.


  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 =""
            xmlns:cust =""
            targetNamespace="" >
  <xs:import namespace="" schemaLocation="C:\theSchemaLocationl"/>
      <xs:element name="StatementRequest">
                        <xs:element ref="cust:Customer"/>


   Prior to V8.0, the SOAP serialization would produce the following in a request envelope:

       xmlns:thisNamespace =""
      xmlns:cust =""
                        <cust:Name>Bob Smith</cust:Name>

  The code has been modified to result in the request envelope:

       xmlns:thisNamespace =""
      xmlns:cust =""
                        <cust:Name>Bob Smith</cust:Name>
  Since the Customer complex type is imported from the "" namespace, the prefix for cust:
  should  be used to qualify it.

(8.6) web services XML directory

The default resource qualifier is <varoot>/xml where <varoot> is the installation directory. A problem occurs on UNIX, and Windows Vista and later with UAC enabled, 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 use the Environments tool to copy the <varoot>/xml directory to your working environment and update the .INI file for your working environment to point to the new location.

(8.6.1) Soap 1.2 Extensions are now more fully supported

  Wsdl containing Soap 1.2 bindings are now deserialized properly without setting a global namespace variable.

(8.6.1) AbxXmlBasicTools Can now Process AnonymousComplexTypes When Generating Classes from Schemas   


(8.6.2) Level of code

Seaside 3.2 / Grease 1.2 level of function is delivered in this release (see the Notes section of each Configuration Map for the exact Monticello package version). This includes the following:

(8.6.2) Secure HTTP support

The WASstServerAdaptor and the Seaside Control Panel have been updated to allow the specification of 'protocol'. Currently 'protocol' can be 'http' or 'https'. To establish a secure (https) connection, you will need to provide a cert.pem file and a key.pem file in the same directory as your image.  For testing purposes, you can copy \samples\ssl\vast_client.pem and \samples\ssl\vast_client_key.pem to the image directory and rename them cert.pem and key.pem.

(8.6.2) Compensating for the lack of continuation support in VA Smalltalk Seaside provides an explanation of the continuation workaround and a complete re-implementation of the Contact, ContactListView, ContactView, ScrapBook, SimpleAnchor, and WebCounter example classes shown in Dynamic Web development with Seaside.

(8.0.1) Seaside Support Documentation

Seaside support is documented in Dynamic Web development with Seaside.

(8.0.1) Limitations


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:

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



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