Documentation Update

Product:   Comet2007Workstation387.exe

Version:   Comet 2007 Build 387

Date:      March 17, 2008       Download the latest release now!

CosW

1.	Directory aliases can now use Windows environment variables such as %UserProfile%.
	The variable will be expanded when forming the path for the alias.
	
Comet Explorer

1.	Maint now logs in to CometLib as "Maint" instead of "Key Build"

2.	FileList for text files no longer truncates the first record.

3.	Copy, Clear, Delete, Search, and Move now have a progress dialog.


Changes in previous releases: Build 386 CosH 1. Corrected a problem with get dds dos call (DosRW with AX="@FFE6@") immediately following a text file write. 2. XAP changes: - Eliminated some CGI debug statements that were causing an occasional crash. - Corrected a problem with cookie expiration dates far into the future. - All posts now create new records in the XAP control file. They are keyed by partition in this format: p.1, p.2, etc. CFAM 1. Now waits for confirmation of a logout before disconnecting. Previously CfamNetserve could have handled the early disconnect as an error condition. This along with the CFAMNetServe from the 7.05 release should help keep the connection counts on the server correct. Comet32 1. Corrected a problem that prevented ClearFile from working. Build 385 CosH 1. Corrected a problem in the compiler that prevented a SELECT CASE from working if "IS EQ" was used as the relation operator for a string constant. 2. XAP changes: - Corrected a problem that may not have used the correct time when expiring user-created cookies unless you were in the Pacific Time Zone. - XAP now evaluates the eComet Context cookie coming from the client. If the first 2 digits do not match the XAP id string, the cookie is regenerated and all of COMMON is cleared. - Introduced a new #XAP file command: EXPIRE xT[,ProgramName]. This is used to set the expiration date for an eComet Context cookie. x is number; T is M|D|H, (for example 5M for 5 minutes); optional ProgramName is program to run when a new cookie is created (for example a relogin program). Without ProgramName, the normal XAP program is run with ClearCommon. Previously cookies expired only when the browser was closed. Now the cookies are persistent. Without the EXPIRE command cookies will be session cookies as they were before this enhancement. - XAP now allows you to delete a cookie by setting an expiration date in the past. CosW 1. Corrected a problem that prevented Ctl+V from working in an extended window. Comet Explorer 1. Includes DirBuild fix intended for .384 release which was inadvertently omitted. Comet.exe 1. Corrected a problem using /C option with Profile picker. Comet32 1. Corrected a problem in the compiler that prevented a SELECT CASE from working if "IS EQ" was used as the relation operator for a string constant. Build 384 CosH 1. Now you must lock a CFAM obj file if you wish to write to it. If not, E54 will be issued. This is consistent with the legacy file system and should prevent unwanted overwriting. 2. A problem introduced in .382 that prevented some IB programs from compiling with the "D" option has been corrected. CosW 1. ListControl sorts negative numbers with trailing signs correctly now. Comet.exe 1. If the .csk filetype is already defined it is no longer redefined. If you want to redefine it you must delete the association through Windows. 2. Corrected a problem using the /KEYFILE= parameter with a .csk file that was causing a previously specified file to be processed instead of the current one. Build 383 CosH 1. XAP gateway no longer writes COMMON back to the file if the WebServe program closes the gateway. With this change, WebServe will neither get COMMON nor will it be able to change COMMON. CosW 1. Corrected a problem that could have caused a crash when a small window was created using (CreateWindow) and put into blind mode. The crash could occur sometime later, after the window was gone. CosP 1. Corrected a problem introduced in .382 that left registry keys open. CFAM 1. Made some timeout changes and error message changes. 2. The log file is now created in the user's Windows temp folder. Comet Explorer 1. DirBuild - Corrected a problem that could have resulted in 0 records written. Comet32 1. Corrected a problem in the compiler that prevented CONTINUE from working properly. 2. Corrected a problem in the compiler that caused BREAK following a CONTINUE to branch to the next loop iteration statement instead exiting the loop. Build 382 1. IB compiler TOTALS calculation is now correct for programs where the sum of the code plus the data is larger than 64K. 2. Eliminated a crash that could have occurred when compiling a program attempting DO without LOOP within a SELECT clause. 3. There is a new log function to write to the XAP log file. The syntax is: ctl$ = "LOG String To Send To The Log File" result$ = control(0,ctl$) The characters "LOG " including the trailing blank are stripped before sending the string to the log file. The control argument may be a simple string or a string constant. 4. Corrected a problem with the XAP log file. The open could have failed the first time it was attempted. 5. Corrected a problem introduced in .380 that prevented the XAP logfile from working unless the USEWIN command had been issued in the #XAP file. CosP Now uses the user's temp folder for print files rather than the system temp folder. This change requires use of Comet.exe to start Comet. CosC 1. ClipBoard functionality has been restored. It was broken in .380. 2. Corrected a problem that could have caused an infinite loop if an attempt was made to do CopyFile to/from the same path. Comet.exe An new profile picker has been implemented to allow the user to select a profile when starting Comet. To use this feature just eliminate /PN= and /NET= from your Comet.exe shortcut. Build 381 1. A new LockDabs statement has been added to the IB language. Once issued by your program, the user will not be able to access any directory they don't already have access to. Dabs are unlocked by CMONITOR at startup, when just following an error that resulted in QENDITOR, and by typing "BYE" at READY to switch passwords. Use of LockDabs requires CMONITOR and QMONITOR from REL 7.05. If you use a custom QMONITOR there is a one-line change you can make. Look for "7.05" in QMONITOR.ibs for details. 2. In XAP, when receiving a POST from the browser, the REMOTE.ADDR field was not being recognized. This has been fixed. CosP 1. A new naming convention for pdf files includes the date and time to ensure uniqueness. CosC 1. The first part of the nodename is now included in the CoscFio login name sent to the file server to aid diagnostic troubleshooting. Comet Explorer 1. Comet Explorer now honors the "Allow Access" flag in the QMONITOR security file. If set to "N" the user will not be able to access any additional directories. Build 380 This is the first official release of Comet 2007 1. Corrected a problem that could have caused Comet to crash after several ENTERs (over 800). 2. The "current file name" returned in position 11 of PSTAT is now correct when it refers to the terminal. As a result, the information returned by the STATUS utility is now correct in this circumstance. 3. Corrected a problem that could have prevented CopyFile from working if the source file was open by another user. The symptom was FuncError=3 & FileError=32. 4. A new mnemonic, (GetSystemTime=FormatString) has been introduced. It returns the system date and time in one of many formats depending on the FormatString supplied as the parameter. When issued to LUN 0 (the terminal) it returns the information for the client computer. When issued to a LUN where the system device "X00" has been opened, it returns the information for the server. Use of this mnemonic requires REL version 7.04 or higher. Refer to the IB documentation for information on the possible values of the FormatString. 5. The IB error message issued when a missing ENDIF has been detected now includes additional information to narrow down the location of the unmatched IF statement. 6. A new type of Comet script file, the .csk file, has been implemented for launching new Comet sessions using the /Keyfile parameter. The user's profile name is included in the registration so .csk scripts stored on a server may be launched by any workstation causing Comet to be launched with the appropriate profile name. The contents of the .csk text file are simply the key strokes to be processed after Comet is launched. In order for the .csk file type to be registered, Comet.exe must be run at least once on a workstation before attempting to use this new script file. 7. A new Comet command line parameter has been implemented. "/TSRALL" requires all remote sessions include a "/S:n" parameter to request a specific session. If they do not use this parameter then they'll get the "Target Session Unavaliable" error. Comet Explorer 1. Maint - READ by record number now works. This is used for non-keyed files only. 2. DirBuild - A record size of 0 is no longer allowed for non-keyed files. Comet32 1. An input stmt with an EXCP= was previously processed as if the LUN was always #. This has been corrected. 2. COMMON is now properly passed from Comet16 to Comet32. 3. Corrected a problem retrieving the current length of the key constant in an I/O statement. Build 379 1. Corrected a problem that could have caused a DES program to not launch if parent program was running in background and that partition had previously been "killed" or "terminated". 2. Corrected a problem that could have caused Comet to crash when attempting to write more than 1024 bytes to a device and the previous file accessed was a text file. 3. If a WinSock client did a Disconnect or Close the socket could have remained open and eventually exhausted resources. A symptom of this problem is a WinSock error 10055. Now a closesocket() will be done with the Disconnect or Close. 4. The limit on XAP input from a browser has been increased from 16K to 32k. Output to the browser remains unlimited. 5. Comet.exe now registers cometlib.dll properly. 6. The drop dead date for Comet 2007 beta testing has been extended to April 1, 2007. Build 378 1. The computer name can be used in place of the IP addr in the Server= statement of the Comet.ini so the connection can still be made even if the ip address of the server changes. 2. XAP errors will now go to the xap logfile if there is one rather than to the browser. This change requires REL 7.02 or higher. 3. Changes were made to the way the eCometContext files are managed to prevent a situation where a user might inherit another user's COMMON data. This change requires REL 7.02 or higher. Here's a description of the process: Xap always created files containing the user's common data in a folder named temp under the users cos directory. These files are NOT comet files. Each time a client launched the browser and connected to xap, a new file was created. These files are a simple 6 digit sequential number beginning with 000001 and incrementing for each new connection. A cookie is placed in the client's browser named eCometContext. The idea here is to supply common to a series of programs associated with one client's browser session from the first xap page needed until the browser is shut down. A problem occurs when a user leaves his browser open and then comet and xapmon is restarted. The browser then contains a cookie that is NOT necessarily connected to the client. This would give multiple clients access to the same common. Since Common data possibly contains user identification information, this could cause much xap confusion. The solution was made in both Comet and the XAPMON program. XAPMON will erase all eCometContext files from cos\temp. It will extract the first 2 digits of the first file erased, increment this number and transmit it to Comet. This is known as the XapID. This number will appear as the first 2 digits of a new 8 digit file name in the temp directory. If a browser presents Comet with a cookie which does not correspond to an existing file, Common will be cleared, and a new file/cookie will be established. What happens with: Old xapmon, old comet -- no change. New xapmon, old Comet -- All files will be erased. New files look the same as before. Old xapmon, new Comet -- All files will begin with 99 always. New xapmon, new Comet -- All files will be erased. New files have an extra 2 leading digits that will increment each time comet is loaded. The way an xap program can tell if comet was restarted is that common will be cleared. 4. QENDITOR activity will no longer affect the contents of the eCometContext file. 5. Corrected a problem that could have erroneously caused a compile error 22 to be issued. 6. The drop dead date for Comet 2007 beta testing has been extended to March 1, 2007. Build 377 1. Eliminated cosh crash if using xap logfile and file doesn't already exist. 2. QENDITOR no longer clobbers user common area if an XAP program aborts. Build 376 1. Extended the beta test period drop dead date to February 1, 2007. 2. Comet.exe will now copy FaxDriver.exe to the temp folder along with all the other required Comet executables if it is found in the Comet folder. Build 375 1. Corrected a problem that could have affected performance of XAP programs running in partitions beyond P99. 2. A new #XAP command, USEWIN, has been introduced. This will direct XAP to use direct Windows calls rather than going through the file server. The default is to use the file server. Logging, however, always uses Windows calls because of stack space limitations. 3. Server name in path for XAP merge file is no longer case-sensitive. Build 374 This is the first beta release of Comet 2007. 1. Added support for Microsoft's Vista operating system. 2. The MID instruction now returns the unencrypted serial number of the dongle. 3. Corrected a problem using UNC names with the CopyFile mnemonic. 4. Corrected a problem transferring very large files with CopyFile (files that would require longer than 30 seconds to transfer). 5. Enhanced CosP to be able to work with newer versions of pdfFactory. Comet Explorer 1. Corrected a problem that produced an invalid qdir.i00 when creating a new directory. 2. Corrected problem doing KeyBuild using record #'s. Program would loop endlessly if the file contained any deleted records.