README.TXT
Visual Smalltalk (TM)
Visual Smalltalk Enterprise (TM) 
Version 3.1 for Win32 and OS/2
Copyright 1995 ParPlace-Digitalk, Inc. All rights reserved.

April 1996

______________________________________

This file contains important information about Visual Smalltalk 
and Visual Smalltalk Enterprise.  Information that only applies 
to Visual Smalltalk Enterprise is identified in the text. This file
includes the following major sections:

o  Introduction 
o  Required Reading
o  Notes on Installation
o  Documentation Errata
O  Known problems in OLE Support
o  Smalltalk Subsystem Notes
o  Workbench Subsystem Notes
o  Team/V Subsystem Notes (Visual Smalltalk Enterprise Only)

Note:  References in this document to Win32 refer to Window 3.1x
with Win32s, Windows NT and Windows 95 platforms.

____________________________________________________

Introduction
____________________________________________________

Welcome to release 3.1 of Visual Smalltalk and Visual Smalltalk 
Enterprise (for OS/2 and Win32).  Version 3.1 continues 
ParcPlace-Digitalks commitment to tight host integration, offers 
heightened usability features, introduces server functionality (VSE)
and is Windows95 logo certified, plus we have added many new features. 

____________________________________________________

Required Reading
____________________________________________________

The following files (located in the DOC subdirectory) include important
information about each of  Visual Smalltalk's and Visual Smalltalk 
Enterprise's individual subsystems, including information on upgrading 
from previous versions of ParcPlace-Digitalk products,  information on 
optimizing your installation, and descriptions of other important text files:

	DELIVERY.TXT    - licensing and files not deliverable 
	UPGRADE.TXT	- upgrading from release 3.0.1 to 3.1
	UPGRAD20.TXT	- upgrading from release 2.0 to 3.0.1
	INSTALL.TXT     - installation information  (in root directory)
		(also see the Installation card in the product box)

The file PACKING.TXT, located in the root install directory includes an 
annotated listing of the installed directories and library files.

______________________________________________________

Notes on Installation
______________________________________________________

IMPORTANT:  If you are upgrading from a previous version 
of Visual Smalltalk, Visual Smalltalk Enterprise, or 
Smalltalk/V, do not install this product until you have read 
the UPGRADE.TXT and UPGRAD20.TXT files located on the CD.  
They contain important information regarding 
upgrading from any previous version of Smalltalk.  

Installation procedures for all supported configurations 
and platforms are described in the INSTALL.TXT text file.
Instructions are also included on how to create and install 
from 3.5 inch floppy diskettes

Note:  The installation program makes the following 
changes to your system files:

- Updates the PATH and LIBPATH statements in your 
  CONFIG.SYS to reflect your Visual Smalltalk installation
- Adds or modified the BTRPARMS statement in your 
  CONFIG.SYS to enable support for the Btrieve part


Windows NT Server 3.51 installations from a network will give an error message
'ntvdm.exe - No Disk'.  This message is a request that a CD be present in 
the local CD drive.  The dialog has three buttons:  Abort, Retry, Ignore.
If you choose Ignore or have any kind of CD in the drive, the installation
will continue.  If you choose Abort, the installation continues as well.  We
are investigating this problem with the install program vendor.

___________________________________________________________

DOCUMENTATION ERRATA (ALL SUBSYSTEMS)
___________________________________________________________


Part Reference
--------------
(Win32) Support for extended (multiple) selection was added to the ListView common
control after our documentation was complete.  By default, when you create a ListView
control, it supports single selection, and the following messages controlling selection
are used:

clearSelection
selectedIndex
selectedItem
selectIndex:
selectItem:

To enable extended (multiple) selection, send 'aListView extendedSelect' or
'aListView extendedSelect: true'; then the following messages can be used to query
and manipulate the selection:

clearSelections
deselectIndex:
deselectItem:
selectAll
selectedIndices
selectItems:
selectIndices:
selectedItems

Note also that when in extended selection mode, the semantics of the argument passed
with the #clickedIndex:, #clicked:, #doubleClickedIndex:, and #doubleClicked: events 
is slightly different: the argument is the index / item which was last clicked on 
(selected or deselected).


VISUAL SMALLTALK TUTORIAL
-------------------------
Some file names were changed after the tutorial went to print:

Page		Description

14-2		The tutorial services file is TUTORIAL.INI, not TUTSRVC.INI

14-6 to 14-9   Part file names have an initial 'f', as follows:
view.par      -> fview.par
edit.par      -> fedit.par
dbfile.par    -> fdbfile.par
address.par   -> faddress.par
phone.par     -> fphoninf.par
initiato.par  -> finitiat.par
filter.par    -> ffilter.par
cntctmgr.par  -> fcntcmgr.par

17-11		PHONINFO.PAR has been renamed to DEMOPHON.PAR 
20-3		PHONE.PAR has been renamed FINITIAT.PAR


VISUAL SMALLTALK USER'S GUIDE
------------------------------

Addition to Chapter 5, Application Delivery, the VGUI31O.SLL or VGUI31W.SLL 
file MAY be delivered with a runtime application.  Although this file is 
not required for headless applications, it SHOULD be delivered for all other 
applications.  Failure to include this file with a runtime application may 
result in a "stack overflow".  Also, the corresponding MAP file 
created for your application will NEED to be delivered.


________________________________________________________

Known problems in OLE Support
________________________________________________________


1. OLE is not supported on Win32S in this release.

2. There are a few problems with the property dialog of the 
OLE Control Part in the WorkBench. If you edit the properties of 
the control itself, the OCX property editor operates directly on 
the OLE Control Part. Pressing Cancel from the part property dialog 
does not properly cancel the changes made to the control itself.

3. MS Visual Basic ToolBar OCX Control has some display/rendering 
problems in the WorkBench. It also does not resize to fit the OLE 
Control Part that contains it.

4. MS Visual Basic Apex Data Bound Grid Control causes protection 
violation. We recommend that you do not use this control.


____________________

General notes 
____________________


A file named VNOGUI.MAP may be visible in the root install directory 
of a Visual Smalltalk installation.  This file is needed to run a 
headless application; this functionality is available in Visual 
Smalltalk Enterprise only.




____________________________________________________ 
 
WORKBENCH SUBSYSTEM NOTES 
____________________________________________________ 
 
This section contains important information about the PARTS Workbench  
subsystem of Visual Smalltalk and Visual Smalltalk Enterprise Version 3.1  
for Win32, Win95 and OS/2 and addresses the following topics: 
 
o   List of Related Text Files 
 
o   New in 3.1
 
o   Starting PARTS Workbench 
 
o   Exiting PARTS Workbench 
 
o   The PARTS Workbench Search Path 

o   Delivery

o   Upgrade

o   Troubleshooting Tips 
 
o   Known problems

__________________

Related Text Files 
__________________
 
The following files are located in the \DOC subdirectory of the  
installation directory: 

CGUTILS.TXT  - Reference to upgrade utility moved to Parts Converter.

MEMMGT.TXT - Memory management in large applications.

PCONV.TXT -  Information on the Part converter utility which
automatically converts PARTSApplications between the forms 
in batches.  

BTRIEVE.TXT - Licensing and installation information about 
delivering an application which uses the  Btrieve accessor part. 
 
CNRPART.TXT  - (OS/2 only) container part documentation. 
 
CSTRUCT.TXT -  Documentation for C structure examples 
contained in the  \SAMPLES\PARTS\CSTRUCT subdirectory. 
 
PRFLVRSN.TXT
Information about the PARTS application file version strings which are  
supported in this release.  This information is primarily of interest to  
Smaltalk programmers who are developing new part classes. 
 
____________________________________________________ 
 
New in 3.1
____________________________________________________ 
 
Visual Smalltalk 3.1 for Win32 and OS/2 includes all the  
features available in PARTS Workbench version 3.0.1. It also  
adds a number of new features and enhancements, a partial
list of which includes: 
 
---------------------
New in 3.1
---------------------
o  Win95 Controls

In Win32 versions (Windows, Windows 95, and Windows NT) of 
Visual Smalltalk, we have added the following parts to support Win95 controls:

Part                             Catalog major page       Catalog minor page
-----                            --------------------     ------------------ 
TabControl                  	 Window page              Notebook page 
TabControlPage              	 Window page              Notebook page 
PropertySheet              	 Window page              Notebook page 
Wizard              	 	 Window page              Notebook page 
RichEdit                         Text page
Header                           Text page
StatusWindow                     Text page
Toolbar                          Button page              Toolbar page 
ToolBox                          Button page              Toolbar page 
Toolbar Button                   Button page              Toolbar page 
Toolbar Separator                Button page              Toolbar page 
Toolbar Toggle Button            Button page              Toolbar page 
Button Listbox                   Selection page         
Spin Button                      Selection page   
List View                        Selection page   
Tree View                        Selection page   
Progress Bar                     Selection page           Dial page 
Track Bar                        Selection page           Dial page 
Format Menu                      Menu page                Standard menus page 
Property Constructor             Interface page           Property dialog page 
Property Interface               Interface page           Property dialog page 
OLE Control                      OLE page
AVI Video                        Multimedia page 
CD Audio                         Multimedia page 
Video Pane                       Multimedia page 
Wave Audio                       Multimedia page 

Please refer to Workbench Reference for detailed descriptions of each part.


o  Property Dialog

There is a additional way of creating property dialogs for parts.  In Smalltalk,
a new class, PropertyManager, keeps track of all the properties of a part with 
property names and their property accessors.  The PropertyAccessor and its 
subclasses provide the means for getting and setting (modifying) the value of a 
property.  See the "constructPropertyManager" class method in Object and various 
Win95 control classes about how to create a PropertyManager for a primitive part.

On the Parts side, you can use the new PropertyInterface part to contruct the 
property dialog automatically in the workbench based on the PropertyManager 
created by the "constructPropertyManager" method.

A nested part did not have a way to alter its internal properties before.  
Now you can use the new PropertyConstructor part to create the PropertyManager 
for a nested part interactively in the workbench.  This part can then 
automatically generate a property dialog for you.  Of course you can use 
Workbench to polish these automatically generated property dialogs to your 
heart's content.

The PropertyConstructor and PropertyInterface parts are located under the minor 
tab "Property dialog page" within the major tab "Interface page" of the main 
parts catalog.


o  New Drag and Drop 
 
In 3.1, parts like TextEdit and ListBox now allow you to select various 
drag/drop options in their property dialogs so that the user can perform
drag/drop between these controls during runtime.
 
o  Extended Menu Drag and Drop

When you invoke drag and drop operations using the alternate mouse button, 
you get a context-sensitive pop-up menu that allows you to perform
part replacement and repeat copy operations.

o  Orthogonal links

This is a link creation mode that allows you to create links with right angles.

o  Scrollable Workbench

You can use this to create a full-screen application without having to maximize
the workbench. You can use it to reduce clutter in your application by placing parts
outside the visible area of the workbench. Scroll bars are dynamically added when there 
are parts outside the visible area. Scroll bars are removed when all parts are visible in 
the workbench. The scroll bars allow you to scroll to the rightmost and bottommost part 
in the workbench. However, you cannot scroll beyond the left top corner of the workbench.
 
In addition to scrolling with the scroll bars, you can also scroll by dragging a link or a
part to the scrolling hot zone to scroll the workbench. The hot zone is defined as the 
boundary of the workbench minus the system font size. Drag scrolling will start whenever 
a drag operation is in progress and the cursor is within the scrolling hot zone. Drag 
scrolling will stop when you release the mouse button or drag outside the scrolling hot zone. 
For link creation, the workbench will not scroll if there is no target for the link outside 
the visible area of the workbench. 

When the workbench is first opened, the scrollable area is the same as the workbench
visible area. Therefore no scroll bars are added because there is nothing to scroll. 
There are several ways to make the scrollable area bigger hence add more real estate to 
your application. One way is to move a part outside to visible area. Another way is to 
resize a part to make it bigger so that part of it lies outside the visible area.  The 
third way is to drag a part to the scrolling hot zone as mentioned above.


o  Code Generator

In 3.1, the code generated by the Workbench has been greatly improved to be similar 
to manually written Smalltalk code.  It creates subclasses under ApplicationCoordinators;
links are expressed as #when: send: to:, etc.  Try it, you'll like it!  Just save your
part with the .CLS format.

o  Menu Enhancements  

    Selected menu
        Browse nested part explosion, references, and implementors.

    Developer menu
        Added general items from Smalltalk menu: New Workspace, 
        Browse Packages, Browse Disk, Browse Services, and New Workbench.

    Scenarios menu
         Lists the operations associated with ways you can organize your links.

____________________________________________________ 
 
Starting PARTS Workbench 
____________________________________________________ 
 
To open a workbench in Visual Smalltalk: 
 
Choose Smalltalk/New Workbench from any Visual Smalltalk window. 
 
OR: 
 
Evaluate the expression   
 
    PARTSEditor open 
 
 
To open a Workbench on an existing application: 
 
Evaluate the expression      
 
    PARTSEditor openOnPathName: 'filename.par' 
 
If the file is located in your PARTS Workbench search path,  
'filename.par' can specify just the file name. Otherwise 'filename.par'  
should include the path. 
 
 
To run the stand-alone PARTS Workbench application: 
 
Execute 
 
     PARTSWBW.EXE (Win32) 
     PARTSWBO.EXE (OS/2) 
 
This allows you to use the PARTS Workbench separately from the  
Smalltalk development environment. 
 
____________________________________________________ 
 
Exiting PARTS Workbench 
____________________________________________________ 
 
You close a Workbench window by choosing File/Close from the  
Workbench menu bar. You close Catalogs by double-clicking on the  
system menu icon. Each Workbench and Catalog window is opened and  
closed separately.  This allows you to work with a changing set of  
applications and Catalogs, as you need. 
 
NOTE: If you close all Workbenches, all Catalogs are automatically  
closed.  
___________________________________________________ 
 
PARTS Workbench Search Path 
____________________________________________________ 
 
PARTS Workbench locates files using its own search path that is set  
when the Workbench is started.   Catalog files, the part files for parts  
in a Catalog, the part files referenece by nested parts, and part files  
referenced by part accessors must all be in a directory on the  
Workbench search path.  From the Workbench menu bar, choose  
File/Settings to inspect or change your search path. 
 
(Visual Smalltalk Enterprise Only)  If you add a Team/V repository  
to your search path, the search path list displays the repository  
name instead of the directory path. 

____________________________________________________ 

Delivery
____________________________________________________ 

When you save a part (e.g. mypart.par) in the .EXE format, the Workbench 
will generate four files for you: mypart.exe, mypart.pax, mypart.bnd, 
and mypart.map.  You need all four files plus other referenced 
.pax and .sll files in order to run it as a stand-alone application.

See the file DELIVERY.TXT and the chapter on Application Delivery
in the Visual Smalltalk Enterprise User's Guide for information on 
delivering a standalone application with Visual Smalltalk.
____________________________________________________

Upgrade
____________________________________________________

Information on upgrading from previous versions of Visual 
Smalltalk and Visual Smalltalk Enterprise is contained in 
the files UPGRADE.TXT and UPGRAD20.TXT.  Read both
of the files for assistance in upgrading your applications to 
Version 3.1.

____________________________________________________ 
 
Troubleshooting Tips 
____________________________________________________ 

-------------------------------------------------------------- 
WHEN YOU TRY TO LOAD A 2.0 or 3.0x APPLICATION INTO THE  
WORKBENCH, YOU GET A WARNING ABOUT A CLASS MISSING,  
FOR EXAMPLE, TABLEPANE. 
 
See UPGRADE.TXT and UPGRAD20.TXT.
 
 
-------------------------------------------------------------- 
WHEN YOU TRY TO LOAD A 2.0 or 3.0X APPLICATION INTO THE  
WORKBENCH, YOU GET A WARNING ABOUT  A PRE-BUILT  
DIAOG. 
 
See UPGRADE.TXT and UPGRAD20.TXT.
 
 
-------------------------------------------------------------- 
'COULD NOT LOAD COMPONENT "XXXX"  
    ***ERROR_FILE_NOT_FOUND' 
 
Component files must be located on the system PATH.  You must either  
fix the PATH statement in your AUTOEXEC.BAT (Win32) or CONFIG.SYS file (OS/2)  
to add the directory containing the missing file or move the component SLL  
file into a directory which is already on the PATH.  If you change your  
AUTOEXEC.BAT or CONFIG.SYS file, remember to shut down your system and 
 restart it for the change to take effect. 
 
 
-------------------------------------------------------------- 
'UNABLE TO LOCATE PARTS.CAT ON THE PARTS SEARCH PATH.' 
 
The Workbench opens without the usual PARTS Catalog window.  The  
standard PARTS Workbench search path configuration assumes that  
the system files are in \SYSTEM subdirectory of the directory  
containing the PARTSWBW.EXE (Win32) or PARTSWBO.EXE (OS/2) program.   
If you have moved the executable files or the \SYSTEM subdirectory  
without also changing  your PARTS Workbench search path, PARTS 
Workbench may be  unable to open the standard PARTS Catalog. You can 
add a new  directory to the PARTS Workbench search path by choosing  
File/Settings from the Workbench menu bar. 
 
 
--------------------------------------------------------- 
UNABLE TO OPEN THE PARTS WORKBENCH SETTINGS EDITOR 
 
If you have moved the PARTS Workbench 3.1 program files to a  
different directory without also moving the local \SYSTEM  
subdirectory, you will be unable to open the 'Settings' dialog to correct  
your PARTS Workbench search path.  You should recreate the local  
\SYSTEM subdirectory by moving the system files along with the  
program files.  If for some reason you want to keep the system files in a  
directory different from the program files, you can manually edit the  
'searchPath' statement in the PARTS.INI file in the directory containing  
the PARTSWBW.EXE (Win32) or PARTSWBO.EXE (OS/2) file using any text editor. 
 
On Windows, the 'searchPath' statement uses the same notation as the  
PATH statements in the  AUTOEXEC.BAT file, with the list of one or more  
directory names separated by semicolons. 
 
On OS/2, the 'searchPath' statement uses the same notation as the  
PATH  and LIBPATH statements in the OS/2 CONFIG.SYS file, with the list of  
one or more directory names separated by semicolons. 
 
 
------------------------------------------------------------ 
UNABLE TO LOCATE NESTED PART FILE 
 
When you open a Workbench on an application containing a nested  
part, you can get a message warning you that the referenced part file  
cannot be found on the PARTS Workbench search path.  If the  
application was built by other PARTS Workbench 3.1 developers, it  
may be that they have forgotten to give you the .PAR file for the nested  
part.  In this case, you must obtain the file from the original  
developer(s). 
 
If you know that you have a copy of the referenced .PAR file, check  
your PARTS Workbench search path to verify that it contains the  
directory containing the referenced file. You can add a new directory to  
the PARTS Workbench search path by choosing File/Settings from the  
Workbench menu bar. 
--------------------------------------------------------------- 
 
--------------------------------------------------------------- 
UNABLE TO LOCATE PART FILES ON A CATALOG PAGE 
 
Both the .CAT file of a PARTS Catalog and the .PAR files of the parts in  
that Catalog must be contained in a directory on your PARTS  
Workbench search path.  If you get warning messages about missing  
part files when you open a Catalog, check that you have the necessary  
files and that they are in a directory on the PARTS Workbench search path. 
 
 
--------------------------------------------------------------- 
UNABLE TO OPEN WORKBENCH ON EXISTING '.PAR' FILE 
 
Under certain rare circumstances, a .PAR file can be damaged.  For  
example, the file may be corrupted if your system crashes or you run out  
of disk space while the Workbench is saving a changed copy of the  
application back to the file.  The next time you open a Workbench on  
the corrupted file, you will get a message that the .PAR file does not  
contain a PARTS application.  
 
If this happens, look in the directory containing the damaged .PAR file  
for a file which has the same name as your damaged file but with a .BAK  
extension.   Copy the backup file to a new file with a new file name and  
the .PAR file extension, then try opening the Workbench on this new  
file. The backup will contain a copy of the application prior to the last  
editing session; any unsaved changes will be lost. 
 

____________________________________________________

Known Problems and Limitations:
____________________________________________________ 

1.  Btrieve does not work on Windows/NT or Win95

2.  Rich Edit part is not supported on DBCS operating systems.

3.  Toolbar and Registration Database Library

The Registration Database library (VREG31W.SLL) is not automatically 
bound when the Toolbar libraries are bound.  You need to make sure that 
you bind and/or deliver this library if you want to use the regsitration 
features of the Toolbar.

If you trying launching the Toolbar part sample, EDITOR.PAR and get an 
error regarding a missing class, when you closed the window, please check 
that you have installed the Registration Database library (VREG31W.SLL) .

4.  Using Toolbars instead of ToolPanes

The siblings of the Toolpane that used to size themselves using 
'resize: 0@0 extent: parent extent' should now use 
'resize: parent freeClientArea'.  In addition, the siblings also do 
not need to set their framingBlocks to adjust to the toobar height. 

5.  Running the standalone workbench (PARTSWBx.EXE) and V.MAP

The standalone workbench needs V.MAP to run.  PARTSWBx.MAP is pointing 
to this file.  So, if you are running PARTSWBx.EXE in a separate directory 
than the VSE product, please make sure you include V.MAP in your directory.

6.  The event backTabbed is misspelled for EntryField and all the formatted
entry fields.  Please see PARTSEntryFieldPart>>partEvents to correct the 
spelling.


**************************************************** 

_____________________________________________________________

Smalltalk Subsystem Notes
_____________________________________________________________

------------------------------
Known Problems and Limitations
------------------------------

1. Executing a runtime application by placing the name of a smalltalk library on
the command line, following the name of the runtime EXE (by default, V.EXE), no
longer works, and is not recommended.  In order to specify a library or list of
libraries to bind when your application is started, use a .BND file with the same
name as your executable file, which specifies the names of libraries to bind.

2. There is a known problem with support for changing language settings when running
under Win32s version 1.3.  The problem occurs when executing the LSTRCMPI and LSTRCMP
APIs with certain arguments.  We are still working to find a workaround to this problem.

3. The option to override error messages which are generated by the Smalltalk virtual
machine (such as 'virtual machine stack overflow'), usually with a foreign language,
requires special command line processing.  Here is an example of how to enable
the use of an alternative VM messages DLL:
		v "/LANG vmmsgs.dll"

4. In order to properly initialize the support for Sockets VisualWorks compatibility,
you must send the message #initialize to each of the classes SocketAddress,
SocketDelay, and SocketDelayTimer, after the library is bound.  Then save your
image; or alternatively (in the case of an application which is not delivered as
a saved image), initialize these classes when your application starts up.

5. Video Drivers:
Some of the new video drivers provided with Windows 95 can cause Visual Smalltalk
to crash with a protection violation, particularly when opening windows involving
bitmap operations (ToolbarSample, TreeViewTester, AboutDialog).

  - We have found that upgraded video drivers correct this problem;
the problem can also be corrected by running in 16 color mode (the problems usually
arise in 16 or 24 bit color mode, and occasionally in 256 color mode).

  - Some of the video cards with which we have encountered such problems are:
Diamond Stealth 64; Diamond Viper VLB; Compaq QVision 2000/2000+.  Check with the
video card manufacturer, or in the Microsoft Windows 95 CompuServe forum, or the
Microsoft Windows 95 Web page, for information about available video driver upgrades.

6. The Smalltalk syntax supported by Visual Smalltalk is now compatible with the
emerging ANSI standard for the Smalltalk language.  The compiler can operate in
either strict ANSI compatibility mode, extended syntax mode (which permits usages
which are backward compatible with our previous releases, the default upon
installation), or backward compatible (only) mode.

7. A tool (SystemSanityCheck) is provided which you can use to assist in
migrating existing code to adhere to the ANSI standard for Smalltalk.
This tool will also perform other "sanity" checks on your source code, which
can be useful in trapping possible errors and inefficiencies.

8. The ScrollBar control class implementation has been re-implemented (re-factored)
to permit sharing of common implementation for other controls that have similar
capabilities.  ScrollBar now inherits from an abstract class PagedRangeControl,
which inherits from an abstract class RangeControl, which inherits from ControlPane.
In previous releases, ScrollBar was a direct descendant of ControlPane.  The new
Windows 95 common controls ProgressBar, TrackBar, and UpDown also inherit from
these new abstract classes.

9. The #changed: event has been split into two separate events, #changing:
and #changed:.  The #changing: event is triggered while the selection is being 
continuously changed (such as while the slider is being dragged), and #changed: is 
triggered when the selection change has been completed (such as when the mouse 
button is released after dragging the slider).  In previous releases, #changed: 
was triggered for both of these events.

10. (Win32) Note that the Pool Dictionary WinCommonControlConstants is located in the
library VCCC31W.SLL.  If you want to edit the sources of any of the Windows 95
common controls (ListView, RichEdit, etc.), you will need to bind this library if
the method you are editing refers to pool variables from this pool (otherwise you
will get a compilation error).



______________________________________________________________

TEAM/V Subsystem (Enterprise Product only)
______________________________________________________________


New Features in 3.1
-------------------

* There is a new tool for browsing repositories, called the 
Repository Browser.

* Repository consistency checking is available from the 
Repository Browser. These actions report errors and prompt 
for whether they should be corrected.

* Access Control is now avaiable on repositories. 
Repositories and repository entities can be protected at 
the read/write/delete/administer levels.

* Team now directly supports Groups and Configurations, 
which are specialized usages of clusters.  Clusters can be 
marked as either groups or configurations and 
specifications within the clusters will be maintained as 
either minimal or complete specifications, even in the face 
of drag/drop reorganization.

* Binding SLLs now creates packages in the 'From Libraries' 
cluster.  If the SLL overrides other definitions, a cluster 
for the SLL is created to show which definitions conflicted 
and the origin of the definitions.  Unbinding an SLL will 
unload the corresponding module if it is unmodified, and 
unloading a module corresponding to an SLL unbinds that SLL 
if it is no longer in use.

* Team supports language compatibility compilation options, 
allowing code to be compiled using VSE 3.0 semantics, draft 
X3J20 semantics, or extended ParcPlace-Digitalk semantics. 
There are also warning options for flagging questionable 
and obsolete constructs to aid in migrating to the new 
syntax.

* List filters have been added to most list boxes in the 
Team tools.

* Drag/drop has been enhanced and regularized in the Team 
tools.  Drag/drop actions now follow platform conventions 
more closely and both copy and move operations are 
supported where appropriate.

* Category level operations in the Team tools have been 
enhanced.  A category can now be dragged to another class, 
dragging all the methods with it.  A category can also be 
deleted even if it is not empty, which deletes the 
contained methods after confirmation.

* Renaming a global now opens a browser on all loaded 
references to that global to remind the programmer of the 
ramifications of a rename and to simplify fixing these 
references.

* Outline list panes have been reworked to improve their 
presentation.  The hierarchy in these panes is now clearly 
visible.  Optional horizontal scroll bars have been added 
to all list panes.

* Clusters now support the 'Commit All' menu item that 
commits the cluster and all contained dirty modules. This 
operation commits in the necessary order.

* The category list pane in the Package Browser now 
supports a popup menu.

* Editing of specifications in the Cluster Organizer has 
been enhanced.  Open and loaded specifications are now 
edited using the same editor. Double clicking on a 
specification in the Cluster Organizer now opens a 
specification editor.

* A new compiler error handler opens a dialog that allows the 
user to automatically correct simple problems in methods, such 
as missing temporary declarations.

* Team  now recognizes code in either Visual Smalltalk or 
VisualWorks file-in format.  When fileing out it, it now 
produces VisualWorks format.

-----------------------
Troubleshooting Tips
-----------------------

* The behavior of multiple inclusion flags on a 
specification has changed in this release.  In previous 
releases, multiple inclusion flags were incorrectly ORed. 
Now these flags are ANDed.  If you have code that depends 
on the previous behavior, you may run the following 
expression to revert to that behavior.  This method will be 
removed in future releases of this product.

    TeamVInterface orConditionalInclusionFlags: true

* Access control is a new feature in this release of VSE. 
Repositories that have access control applied can be shared 
with previous versions of VSE, however access control will 
not be enforced if the repositories are accessed from a 
previous version of VSE.  Furthermore, if the previous 
version of VSE updates the repository, access control 
information for that repository will be lost.  If you want 
to use access control, therefore, you should either force 
all users to use version 3.1 or limit access by older 
version of VSE to be read only.

* The VCONFIG.EXE utility for configuring PVCS DLLs is no 
longer shipped.  It has been replaced with messages that 
can be sent to the sole instance of the RepositoryServices 
class.  For details, see the user manual section describing 
configuring PVCS.

* The PVCS file NSNWNT.DLL will cause a memory protection 
fault if it is in your path on Win95.  When you installed 
VSE 3.1, it detected the type of system you were on and 
conditionally installed that file.  If you installed on 
Windows NT and then later want to use that installation on 
Windows 95, you must first remove NSNWNT.DLL from your 
path.

* For users of VSE and PVCS Version Manager as a standalone 
product purchased from Intersolv:

Standalone releases of PVCS Version Manager in the future 
might conflict with the bundled PVCS DLLs that are shipped 
with VSE. There is no conflict currently, and a conflict 
would only occur if the standalone PVCS Version Manager has 
a new release that is not in synch with the VSE releases. 
To minimize DLL conflicts, your PATH/LIBPATH should be 
constructed as follows:

    PATH= ./LIB;C:\PVCS

The VSE PVCS DLLs should be located in the VSE subdirectory 
LIB. The standalone PVCS Version Manager files should be 
located in an absolute path such as C:\ PVCS. This will 
result in the system binding the VSE PVCS DLLs when running 
from the VSE directory. The standalone release of PVCS 
Version Manager should not be run in the VSE directory, but 
instead from any other directory which will result in the 
standalone PVCS DLLs located in C:\PVCS to be bound.

* The export format of modules is not designed to be 
edited. It contains encoded string lengths. Workspaces and 
the Disk Browser cannot be used to modify modules in export 
format because these tools convert each tab to four spaces.

* After adding a new archive to a 1.x PVCS repository using 
the file system or with a 1.x image, you must reconnect in 
your 3.1 images to view the new archive.

* Saved 1.x style preferences cannot be applied, and must 
be recreated manually.


------------------------------
Known Problems and Limitations 
------------------------------

1.  3916 - If you have modified text in the Package Browser 
and click the radio button to switch from class to instance 
methods (or vice versa), you will get a dialog asking you 
to accept or discard your changes.  The third option, to 
cancel the radio button push, does not work.  You must 
either accept or discard the changes to the method.

2.  3920 - If you have a debugger open and change the source 
of a method on the stack using another tool, the debugger 
will show the new text rather than the text of the method 
that is being executed.

3. 3939 - It is possible to get a compilation error during 
compilation for a method that will ultimately be deleted 
during the migration.  This can happen in a migration 
involving deletion of instance variables. These errors are 
resolved before the migration completes and should be 
ignored.

4. 4592 - A drag/move operation dragging a method definition 
to an open package that has a definition for a method with 
the same class and selector will result in a package 
containing conflicting definitions.  This package cannot 
then be loaded. That package must be modified using the 
package organizer before loading.

5. 4727 - In the Package Browser class definition editor, 
the paste operation always goes to the comment pane, rather 
than to the text entry panes, even if they have focus.

6. 4740 - Loading a file (foo.st) in file-in format that 
defines a global, results in the global definition located 
in the unpackaged package rather than the 'From foo.st' 
package.  

7. 4741 - Loading a file (foo.st) in file-in that defines a 
pool and containes a class that references the pool results 
in a walkback.  The workaround is to file in the code, 
using the File/Install... menu item.

8. 4860 - In the Cluster Organizer, if you convert a cluster 
to a group or configuration, it marks all specifications in 
the cluster as dirty, even though they may not have needed 
changing.

9. 4974 - Committing into a read only repository (protected 
by file system access permissions) gives a misleading 
message. It says: "Cannot commit revision ... must be 
proposed repository entity before attempting to commit."

10. 5096 - Unloading a package that has a large pool (2000 
entries) takes a long time (more than 5 minutes).

11. 5213 - You cannot set a conditional inclusion flag for a 
cluster that has not been committed.

12. 5287 - On Windows 3.1, if the path for a repository 
contains a directory that starts with a left parenthesis, 
PVCS fails when trying to commit or lock an archive.

13. 5596 - You cannot commit a module whose name contains 
Kanji characters.

14. 5884 - On OS/2, selecting a dithered color for foreground or 
background results in a mix of areas in tools that display
the selected color or the closest undithered match.

15. 5999 - Some messages do not show up in Messages list. 
Certain messages are implemented specially for efficiency, 
such as ifTrue:, and these do not show up when you select 
the Method/Messages menu item in the Package Browser.

16. 6036 - You cannot rename an empty category in the Package 
Browser, but you can delete it and create a new category 
with the desired name.

17. 6037 - The file names generated for filing out code, 
building a library, or exporting a module do not take 
advantage of long file name support even it the base OS 
provides it.

18. 6103 - When loading a method that will not compile 
properly, a error is displayed in the Transcript but that 
method is later often indistinguishable from properly 
compiled methods. It is important to correct such problems 
immediately because the current version of Team will not 
help you locate those problems later.


----------------------------------------------------------
README.TXT
Visual Smalltalk (TM)
Visual Smalltalk Enterprise (TM) 
Version 3.1 for Win32 and OS/2
Copyright 1995 ParPlace-Digitalk, Inc. All rights reserved.

November, 1995


----- END OF FILE -----
