home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 April / Chip_2000-04_cd.bin / zkuste / Tango / data1.cab / Common / Readme.txt < prev    next >
Text File  |  1999-09-21  |  31KB  |  778 lines

  1. TANGO 2000 FOR WINDOWS: RELEASE NOTES
  2. =====================================
  3.  
  4. Thank you for installing Tango 2000!
  5.  
  6. For complete installation and configuration information, see the
  7. install.txt, the "Getting Started Guide" and the rest of the
  8. Tango documentation.
  9.  
  10. These release notes contain late-breaking information on Tango
  11. 2000 that was not available when the accompanying documentation
  12. was created. Please read these notes thoroughly for important
  13. information you may need to use Tango 2000. Where appropriate,
  14. references to the user documentation are provided with the
  15. description.
  16.  
  17.  
  18. The topics covered in these notes include:
  19.  
  20. - General Tango Notes
  21.   - Tango 2000 Mapping to .taf Suffix
  22.   - Installing Tango 2000 on Windows 2000 (IIS 4)
  23.   - Security Issue if not Using Tango Plug-in
  24.   - How Tango Determines Your Web Root
  25.   - File Upload Support
  26.   - Windows 95 Kernel32 Update from Microsoft
  27.   - Windows 95 and Winsock
  28.   - Setting Additional Document Directories in Netscape Server
  29.   - Load Splitting Client
  30.     
  31. - Notes on Using Objects With Tango  
  32.   - JavaBean Paths
  33.   - Updating JavaBeans While Running Tango
  34.   - Data Types Supported - COM
  35.   - Data Types Supported - Java
  36.   - Objects for Use With Tango 
  37.   - Programmer Note: Using Visual Basic to Create Objects for
  38.     Tango
  39.   - Using Call Method Action With the <@VAR> Meta Tag
  40.   - Using the <@CALLMETHOD> Meta Tag
  41.   - Using On_Destroy Method in a Tango Class File
  42.   - Using In-Process and Out-of-Process COM Objects
  43.   - Executing Non-Thread-Safe COM Objects
  44.   - Using Collection Objects (JavaBeans) with MS JVM
  45.   - Using Collection Objects (JavaBeans) with Sun JRE
  46.     
  47. - Notes on Tango Web Analyzer
  48.   - Solaris Plug-in Installation
  49.   - Using Tango WA Executive Manager: FAT Volume and IIS
  50.   - Uninstalling Tango Web Analyzer
  51.   - Plug-in Default Setting
  52.     
  53. - Known Issues With Tango 2000 
  54.   - Tango Editor and taf2xml Utility
  55.   - Using Server-Side JavaScript With Pervasive.SQL
  56.   - Object Expiry URLs
  57.     
  58. - Documentation Addenda and Errata
  59.   - Tango Application Server Getting Started Guide
  60.   - User's Guide
  61.   - Meta Tags and Configuration Variables
  62.   - Tango Web Analyzer Administrator's Guide
  63.     
  64. - Contacting Pervasive Software
  65.  
  66.  
  67.  
  68.  
  69. General Tango Notes
  70. ===================
  71.  
  72. Tango 2000 Mapping to .taf Suffix
  73. --------------------------------------
  74. Tango 2000 can be installed on a machine running Tango 3. By
  75. default, the mapping of the .taf file extension points to the
  76. Tango 2000 Server.
  77.  
  78. If, after installing Tango 2000 over Tango 3, you are still
  79. calling Tango application files using Tango 3 and not Tango 2000,
  80. make sure the .taf extension points to only one plug-in, not two.
  81. You can check the setting by viewing the Application
  82. Configuration window under IIS 4 (follow the first three steps of
  83. the instructions below). Delete the entry you do not need.
  84.  
  85. If you want to run application files using Tango 3.x Server, you
  86. will have to use the Tango 3 CGI (t3cgi.exe) or manually alter
  87. your Web serverÆs suffix mapping.
  88.  
  89. For Netscape Web servers, see the "Getting Started Guide" (p. 48
  90. for Application Server, p. 52 for Development Studio).
  91.  
  92. For Microsoft IIS 3, you must edit the Windows registry and
  93. change the value of the following key:
  94.  
  95.    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
  96.     W3SVC\Parameters\Script Map    
  97.  
  98. Change (or Add) the ".taf" value name to point to the Tango 3
  99. plug-in (for example, "C:\InetPub\scripts\t3iis.dll")
  100.  
  101. For Microsoft IIS 4, follow these steps:
  102.   1. Open the Microsoft Management Console window.
  103.   2. Expand the Internet Information Server folder and right-
  104.      click the "LocalMachineName" folder.
  105.   3. From the context-sensitive menu, choose Properties, click
  106.      Edit, select the Home Directory tab, and click
  107.      Configuration.
  108.      The Application Configuration window appears, displaying the
  109.      different application mappings.
  110.   4. Select .taf mapping and click Edit.
  111.   5. Modify the path in front of the "Executable" section to 
  112.      point it to the Tango 3 plug-in 
  113.      (for example, "C:\InetPub\scripts\t3iis.dll").
  114.   6. Click OK until you return to the Microsoft Management
  115.      Console's main window.
  116.      
  117. Installing Tango 2000 on Windows 2000 (IIS 4)
  118. ---------------------------------------------
  119. Under certain circumstances, the suffix mappings for Tango
  120. application files and Tango class files (.taf and .tcf) may not
  121. be created properly when Tango 2000 is installed on Windows 2000
  122. and you are using the IIS 4 Web server. You may need to manually
  123. create these suffix mappings.
  124.  
  125. Follow these steps:
  126.   1. Open the Microsoft Management Console window.
  127.   2. Expand the Internet Information Server folder and right-
  128.      click the "LocalMachineName" folder.
  129.   3. From the context-sensitive menu, choose Properties, click
  130.      Edit, select the Home Directory tab, and click
  131.      Configuration.
  132.      The Application Configuration window appears, displaying the
  133.      different application mappings.
  134.   4. Click Add.
  135.   5. Add a path to the "Executable" text field by browsing to the
  136.      Tango plug-in (for example, "C:\InetPub\scripts\t4iis.dll").
  137.   6. Add the extension (for example, ".taf").
  138.   7. Check Script Engine.
  139.   8. Click OK.
  140.   9. Repeat the above steps for the .tcf suffix mapping.
  141.  10. Click OK until you return to the Microsoft Management
  142.      Console's main window.
  143.  
  144. Security Issue if not Using Tango Plug-in
  145. -----------------------------------------
  146. This issue affects users who are not installing the Tango plug-in 
  147. (or who are using a Web server for which Tango has no plug-in).
  148.  
  149. If no plug-in is installed, calling a Tango 2000 application file
  150. directly (that is, without the CGI directory and t4cgi.exe in the
  151. URL) displays the contents of the application file in XML in
  152. the userÆs Web browser. For IIS and Netscape servers, we
  153. therefore recommend installing the plug-in. 
  154.  
  155. For other Web servers, consult their Web server documentation for 
  156. information on setting up an extension-mapping. 
  157.  
  158. How Tango Determines Your Web Root
  159. ----------------------------------
  160. Many paths in Tango are defined as being relative to your Web
  161. server document root directory, that is, the root or "home"
  162. directory for HTML and other files being served. Include files,
  163. Tango class files, and Tango application files being branched to
  164. all are referenced using paths relative to the Web server
  165. document root. The <@WEBROOT> tag also returns the OS path to
  166. what it determines as your Web root.
  167.  
  168. Tango determines the Web root separately for each received
  169. request. In most cases this determination is straightforward.
  170. However, when virtual directories or aliases are being used,
  171. Tango has no way of knowing where the root is; all Tango knows is
  172. the path to the Tango application file (the PATH_TRANSLATED given
  173. to Tango by the Web server) and the URL used to access it (the
  174. PATH_INFO from the Web server). In such cases, Tango compares the
  175. PATH_TRANSLATED to the PATH_INFO. The comparison goes from the
  176. end back to the beginning of each looking for a difference in
  177. directory structure. When it finds one, it stops and uses the
  178. remainder (leftmost portion) of the path as the Web root.
  179.  
  180. Here are some examples:
  181.     
  182. Example One
  183.     Virtual Directory: /Tango
  184.     OS Path: C:\InetPub\wwwroot\Tango
  185.     URL: http:/localhost/Tango/my.taf
  186.     PATH_INFO: /Tango/my.taf
  187.     PATH_TRANSLATED: C:\InetPub\wwwroot\Tango\my.taf
  188.     Effective Web Root: C:\InetPub\wwwroot
  189.     
  190.     This is a straightforward scenario, and the Web root used is
  191.     what you would expect.
  192.     
  193. Example Two
  194.     Virtual Directory: /Tango
  195.     OS Path: C:\InetPub\wwwroot\Test
  196.     URL: http:/localhost/Tango/my.taf
  197.     PATH_INFO: /Tango/my.taf
  198.     PATH_TRANSLATED: C:\InetPub\wwwroot\Test\my.taf
  199.     Effective Web Root: C:\InetPub\wwwroot\Test\
  200.     
  201.     This example is less straightforward. You might expect that the
  202.     root would be C:\InetPub\wwwroot\ but because Tango sees a
  203.     difference between PATH_INFO and PATH_TRANSLATED immediately
  204.     before the file name (Test <> Tango), it stops there and uses
  205.     the remainder of the PATH_TRANSLATED.
  206.     
  207. Example Three
  208.     Virtual Directory: /Tango
  209.     OS Path: C:\Tango
  210.     URL: http:/localhost/Tango/my.taf
  211.     PATH_INFO: /Tango/my.taf
  212.     PATH_TRANSLATED: C:\Tango\my.taf
  213.     Effective Web Root: C:\
  214.     
  215.  
  216. File Upload Support
  217. -------------------
  218. Tango supports file upload via HTML forms using the FILE 
  219. input type. For example:
  220.  
  221.   <INPUT TYPE=FILE SIZE=25 NAME="myFile">
  222.  
  223. in an HTML form displays a field for entering the path to a file
  224. on the user's computer. Usually, the browser application also
  225. displays a Browse button that shows a dialog box for selection of
  226. the file to upload.
  227.  
  228. In order to work correctly, the <FORM> tag must include the
  229. ENCTYPE="multipart/form-data" attribute. See the "Form Template
  230. (File Submission)" snippet in the Standard Snippets->HTML->Forms
  231. folder of Tango Editor for an example of a form that allows
  232. submission of a file.
  233.  
  234. In your application file, use <@POSTARG> or <@ARG> to get the
  235. contents of the file sent by the user. There is currently no meta
  236. tag in Tango for accessing the name of the file uploaded.
  237.  
  238.   Note
  239.   ----
  240.   Not all browser applications support the FILE input type for
  241.   form fields. Netscape Navigator versions 3.0 and up and MS
  242.   Internet Explorer versions 3.02a and up do support file upload.
  243.  
  244. Windows 95 Kernel32 Update from Microsoft
  245. -----------------------------------------
  246. Windows 95 customers who need to run Windows Sockets applications
  247. (such as Tango) continuously over long periods of time,
  248. especially applications which use a large number of sockets, will
  249. benefit from this update.
  250.  
  251. More information on Windows 95 updates can be found at:
  252.  
  253.   http://www.microsoft.com/windows95/info/system-updates.htm
  254.  
  255. This update resolves a memory leak that occurs when opening and
  256. closing a Socket using the Windows Sockets API.
  257.  
  258. Without this update, running a Windows Sockets application over a
  259. long period of time, especially one which opens and closes a
  260. large number of sockets, will result in a significant resource
  261. drain. This can cause the Windows swapfile to grow very large,
  262. overall deterioration of performance, and over time, possible
  263. system instability. This update allows users to better run such
  264. applications for long periods of time without loss of system
  265. performance and stability, and without requiring users to reboot
  266. their computers periodically to free system resources.
  267.  
  268. Windows 95 and Winsock
  269. ----------------------
  270. Windows 95 customers who use Tango with Pervasive.SQL should
  271. update their Winsock software (winsock.dll) to version 1.2.
  272.  
  273. winsock.dll is available from Microsoft at:
  274.  
  275.   http://www.microsoft.com/windows95/downloads/contents/
  276.   WUAdminTools/S_WUNetworkingTools/W95WinsockUpgrade/Default.asp
  277.  
  278. Update your Winsock software to version 1.2 only after you have
  279. installed Tango.
  280.  
  281. Setting Additional Document Directories in Netscape Server
  282. ----------------------------------------------------------
  283. Most of the time, your documents reside in the primary document
  284. directory. Sometimes, however, you may refer to a directory
  285. outside of your document root by setting additional document
  286. directories in your Netscape server. You do this by specifying a
  287. URL prefix to map the additional directory to.
  288.  
  289. The URL prefix you specify is case sensitive. For example, a
  290. mapped URL could be
  291.  
  292.   http://www.a.com/products/index.html
  293.  
  294. where, "products/" is the URL prefix you specify. The absolute
  295. path of the additional document directory you want the URL prefix
  296. to map to could be
  297.  
  298.   C:\Netscape\Server\docs\sales\tools\Products\
  299.  
  300. This set up would not work because a letter case mismatch exists
  301. between the URL prefix "products/" and the document directory
  302. "\Products". Changing the URL prefix to "Products/" to match the
  303. directory name fixes the problem.
  304.  
  305. After you resolve a letter case mismatch the first time, letter
  306. case no longer matters, in the same way the letter case of a file
  307. system directory name does not matter.
  308.  
  309. Load Splitting Client
  310. ---------------------
  311. When using the load splitting client, do not use one Tango Server
  312. to generate user references and then pass them to another Tango
  313. Server for further utilization.
  314.  
  315. When a user reference is generated on a different Tango Server,
  316. the IP/Port prefix is not accepted by this Tango Server; a new
  317. user reference is generated on this Tango Sever. The result is
  318. loss of user variables.
  319.  
  320. See Chapter 8 of the "User's Guide" for more details on user
  321. references, and Chapter 24 for more details on the load splitting
  322. client.
  323.  
  324.  
  325.  
  326.  
  327. Notes on Using Objects With Tango
  328. =================================
  329.  
  330. JavaBean Paths
  331. --------------
  332. The CLASSPATH environment variable value at startup is the only
  333. one available to Tango Server, a limitation of Windows NT
  334. Services. Adding a path to CLASSPATH means restarting the machine
  335. to get Tango Server to see it.
  336.  
  337. Tango has a solution to this problem. For application deployment,
  338. you must edit a text file -- called beanpaths.ini -- to add the
  339. .jar files used by your Tango application files. Then you do not
  340. need to restart Tango Server.
  341.  
  342. By default, the beanpaths.ini file is located in the following
  343. folder:
  344.   
  345.   C:\PVSW\Tango2000\
  346.   
  347. For development, Tango Editor updates this file automatically.
  348.  
  349. Updating JavaBeans While Running Tango
  350. --------------------------------------
  351. JavaBeans loaded by Tango are cached automatically by the Java
  352. VM. Tango Editor reloads the VM when the Refresh Object(s)
  353. command is executed for a JavaBean, allowing you to see updates
  354. immediately. Tango Server, however, is a multi-user environment
  355. and cannot use this means to address the issue. If you make
  356. changes to a JavaBean while Tango Server is running, you must
  357. stop and restart Tango Server in order for the updated JavaBean
  358. to be used.
  359.  
  360. Data Types Supported - COM
  361. --------------------------
  362. Certain COM data types are not supported as in/out or out
  363. parameters in Tango 2000: IDispatch and IUnknown. Attempting to
  364. use these data types with Tango 2000 as these types of
  365. parameters may give unpredictable results. In and returned values
  366. are handled correctly.
  367.  
  368. Data Types Supported - Java
  369. ---------------------------
  370. The following Java data types are supported:
  371.  boolean 
  372.  java.lang.Boolean
  373.  byte 
  374.  java.lang.Byte    
  375.  int 
  376.  java.lang.Integer
  377.  short    
  378.  java.lang.Short
  379.  long
  380.  java.lang.Long
  381.  float    
  382.  java.lang.Float
  383.  double
  384.  java.lang.Double
  385.  char
  386.  java.lang.Character
  387.  java.lang.String    
  388.  java.lang.Date 
  389.  one- and two-dimensional arrays
  390.  
  391. Objects for Use With Tango 
  392. --------------------------
  393. It is recommended that you search sites such as
  394. http://www.download.com/ for 'COM' or 'ActiveX' (COM) or
  395. 'JavaBean' (JavaBeans). The sites http://www.activex.com and
  396. http://www.jars.com are also valuable for downloading "ActiveX'
  397. and 'JavaBean" types respectively.
  398.  
  399. Any object that claims to work in other server-side environments 
  400. should work with Tango (with the above-mentioned qualifications). 
  401.  
  402. If you are familiar with Visual Basic, C, C++, or any other
  403. language which can be used to create COM objects, you can create
  404. your own COM objects. We encourage you to share any useful Tango
  405. objects that you create with the Tango developer community.
  406. Please see http://developerzone.pervasive.com/ and
  407. http://componentzone.pervasive.com/ for details.
  408.  
  409. Tango does not work with OLE documents and containers This can be
  410. verified in the registry or with OleView.
  411.  
  412. Programmer Note: Using Visual Basic to Create Objects for Tango
  413. ---------------------------------------------------------------
  414. If you use Visual Basic to create objects to use with Tango 2000,
  415. you must select "ActiveX EXE" or "Active DLL" to base your
  416. project upon. If you want to do remote activation, you must start
  417. the project from one of these two selections. If the project is
  418. started as something else (such as "Standalone EXE" or "ActiveX
  419. Control"), you are allowed to change this setting later, but you
  420. won't be able to enable 'remote server' support. To enable remote
  421. server support, the project must initially be created as an
  422. "ActiveX EXE" or "Active DLL".
  423.  
  424. Using Call Method Action With the <@VAR> Meta Tag
  425. -------------------------------------------------
  426. When using the Call Method action or <@CALLMETHOD> meta tag, if
  427. you specify a value with the <@VAR> meta tag or its @@ shortcut,
  428. Tango always converts non-text values to text before passing
  429. them, regardless of the data type of the parameter. For example,
  430. an array variable is converted to an HTML table, a DOM instance
  431. to XML, and an object to [Object: xxxxxx]. To pass a non-text
  432. variable to a method in its native type, use the Variable option
  433. of the Call Method action or the <@VARPARAM> meta tag for the
  434. <@CALLMETHOD> meta tag.
  435.  
  436. Using the <@CALLMETHOD> Meta Tag
  437. --------------------------------
  438. The following information supplements the description of the
  439. <@CALLMETHOD> meta tag in the "Meta Tags and Configuration
  440. Variables" manual.
  441.  
  442. The METHOD attribute of the <@CALLMETHOD> meta tag uses the
  443. following syntax:
  444.  
  445.   METHOD='methodName (param1, param2, ...)'
  446.  
  447. Each of the individual parameters (for example, param1) can be
  448. defined using one or more meta tags; however, neither methodName,
  449. nor the parameter list, nor the entire METHOD attribute value can
  450. be defined using meta tags. This includes the variable-returning
  451. shortcut @@foo.
  452.  
  453. The reason for this restriction in the attribute is that Tango
  454. parses the METHOD value into methodName and parameters before
  455. meta tag substitution takes place.
  456.  
  457. Using On_Destroy Method in a Tango Class File
  458. ---------------------------------------------
  459. In a Tango class file's On_Destroy method, application and domain
  460. scopes are not supported. An error occurs if these scopes are
  461. accessed in an On_Destroy method. User scope is supported, but
  462. because there is no "user" associated with the execution of the
  463. On_Destroy method, the scope is in practice equivalent to another
  464. local scope.
  465.  
  466. Using In-Process and Out-of-Process COM Objects
  467. -----------------------------------------------
  468. Some COM objects are designed to be used in-process, while others
  469. are designed to be used out-of-process.
  470.  
  471. Before you develop or use an in-process or out-of-process COM
  472. object, consider the advantages and disadvantages of each:
  473. - An in-process (a DLL) COM object is fast; however, because it
  474.   becomes part of Tango, if it crashes, Tango Server crashes.
  475. - An out-of-process (an EXE) COM object does not affect Tango
  476.   Server stability, but it is much slower.
  477.  
  478. Executing Non-Thread-Safe COM Objects
  479. -------------------------------------
  480. If Tango Server is executing a non-thread-safe COM object, it
  481. blocks the next user from accessing the same COM object until the
  482. first process is complete.
  483.  
  484. In most cases, the effect on Tango Server performance is minimal.
  485. You can find out whether a COM object is thread-safe by selecting
  486. it and then choosing Properties from the View menu in Tango
  487. Editor.
  488.  
  489. Using Collection Objects (JavaBeans) with MS JVM
  490. ------------------------------------------------
  491. MS JVM does not support iterator-based collection objects. Tango
  492. Editor fails to introspect these objects and an error is returned
  493. with Tango Server. We suggest that you use Sun Microsystem's Java
  494. Runtime Environment 1.2 or greater (supplied on the Tango CD-ROM)
  495. in these cases.
  496.  
  497. Using Collection Objects (JavaBeans) with Sun JRE
  498. -------------------------------------------------
  499. When one instance of a JavaBean collection object exists and two
  500. or more users try to access that collection object instance at
  501. the same time (using the Object Loop action, the <@OBJECTS> meta
  502. tag, or the <@OBJECTAT> meta tag), the index into the collection
  503. object may be incorrect. This can produce incorrect results.
  504.  
  505. We recommend that you do not use JavaBean collection objects in
  506. domain or application scope where multiple users could use the
  507. same instance.
  508.  
  509.  
  510.  
  511.  
  512. Notes on Tango Web Analyzer 
  513. ===========================
  514.  
  515. Tango Web Analyzer, or Tango WA (formerly known as Bolero), is
  516. now part of Tango 2000. See "Tango Web Analyzer Administrator's
  517. Guide".
  518.  
  519. Solaris Plug-in Installation
  520. ----------------------------
  521. The installer copies the necessary files for the Solaris plug-in
  522. to your machine during installation, including a "readme.txt"
  523. file. The readme.txt file explains how to use this plug-in with
  524. Tango Web Analyzer. By default, these files are installed under
  525. the following folder:
  526.  
  527.   C:\PVSW\Tango2000\WebAnalyzer\NSPlugIN.Solaris\ 
  528.   
  529. (Note: If you are using Tango Server for Solaris, see also the
  530. "Getting Started Guide" for Solaris.)
  531.  
  532. Using Tango WA Executive Manager: FAT Volumes and IIS
  533. -----------------------------------------------------
  534. If you use the FAT file system on a Microsoft IIS machine, Tango
  535. WA Executive Manager is not secured. In this case, Tango WA
  536. Executive Manager is launched in the context of an anonymous user
  537. who does not have privileges to access the remote Tango Web
  538. Analyzer configuration.
  539.  
  540. If you are using IIS web server you must install Tango Web
  541. Analyzer on an NTFS file system. If the drive you plan to run
  542. Tango Web Analyzer on is currently part of a FAT file system, you
  543. need to convert it to NTFS before you install Tango Web Analyzer.
  544. To convert a drive to an NTFS volume, read "Tango Web Analyzer
  545. and NTFS" in the "Getting Started Guide".
  546.  
  547. Uninstalling Tango Web Analyzer
  548. -------------------------------
  549. If you uninstall Tango Web Analyzer, the uninstaller prompts you
  550. whether you want to keep the database files for Pervasive.SQL
  551. 2000 only.
  552.  
  553. Plug-in Default Setting
  554. -----------------------
  555. By default, the Tango Web Analyzer plug-in is set to "off". To
  556. set it to "on", go to Services in the Windows NT Control Panel
  557. and start it.
  558.  
  559.  
  560.  
  561.  
  562. Known Issues With Tango 2000
  563. ============================
  564.  
  565. Tango Editor and taf2xml Utility
  566. --------------------------------
  567. * Non-printable characters (except carriage returns, line feeds, 
  568.   and tabs) in Tango application files that are created in, or 
  569.   converted to, Tango 2000 (XML) format will be changed to line 
  570.   feeds when saved. 
  571.  
  572.   Workaround: In the rare case where these characters exist in 
  573.   your Tango application files and are significant, you should 
  574.   use the Tango 3.x Editor to change them to the <@CHAR> 
  575.   equivalents before conversion. 
  576.  
  577. Using Server-Side JavaScript With Pervasive.SQL
  578. -----------------------------------------------
  579. * If you are running Tango files that execute server-side
  580.   JavaScript (using the Script action or the <@SCRIPT> meta tag)
  581.   with the scope set to "immediate" and also access Pervasive.SQL
  582.   data sources, you may experience periodic Tango Server
  583.   shutdowns. This is indicated as a "Client Error" or "Server
  584.   Error" in the browser, meaning the CGI or plug-in cannot
  585.   connect to Tango Server. The shutdown occurs after execution of
  586.   the server-side JavaScript. A Server shutdown due to this
  587.   problem also shows, in the t4events.log file, a line similar to
  588.   the following: [ 556] 1999-08-25 12:57:53 FATAL Fatal error at
  589.   78001f2d: EXCEPTION_FLT_INVALID_OPERATION. The relevant
  590.   statement is "EXCEPTION_FLT_INVALID_OPERATION".
  591.  
  592.   Workaround: Change the scope of any server-side JavaScript from
  593.   immediate to local (or any other scope). This involves
  594.   searching for all <@SCRIPT> meta tags and ensuring that any
  595.   SCOPE attributes are set to something other than immediate.
  596.   Also check to make sure all Script actions do not use the
  597.   immediate scope. If you have a large number of Tango
  598.   application files or Tango class files, this is most easily
  599.   accomplished using a text editor to directly edit these files
  600.   (which are in XML format). Script actions look like the
  601.   following:
  602.  
  603.     <ScriptAction Type="JavaScript" ID="Script" Sig="scrp">
  604.       <Script>thescript</Script>
  605.       <Scope>local</Scope>
  606.     </ScriptAction>
  607.  
  608. Object Expiry URLs
  609. ------------------
  610. * Object expiry URLs (specified in the Create Object Instance
  611.   action) do not work correctly with Tango class file instances.
  612.   The URL is executed after every method invocation.
  613.   
  614.   Workaround: To perform processing when a Tango class file
  615.   instance expires, use the On_Destroy method instead.
  616.  
  617.  
  618.  
  619.  
  620. Documentation Addenda and Errata
  621. ================================
  622.  
  623. * Tango Application Server Getting Started Guide *
  624.   ==============================================
  625.   
  626.   Machine Setup [p. 7]
  627.   -------------------
  628.   For security reasons, Typical Setup does not include the
  629.   installation of Tango Demos. To install Tango Demos, use Custom
  630.   Setup.
  631.   
  632.  
  633. * User's Guide *
  634.   ============
  635.   
  636.   Variant Parameters [Chapter 22, p. 448]
  637.   --------------------------------------
  638.   The drop-down menu that allows you to select the specific data
  639.   type covers all the basic types, but not all possible
  640.   variations of the basic data types.
  641.     
  642.   Tip: Specify all scalar types (long, ulong, int, SCODE)
  643.   as "Int" and all floating point types (float, double) as
  644.   "float" in the drop-down menu. Precision will not be lost with
  645.   variants in those cases.
  646.   
  647.   Tango Class File Error Handling [Chapter 23, p. 463-464]
  648.   -------------------------------------------------------
  649.   Replace the "Error Handling" subsection as follows:
  650.   
  651.   When an error occurs in a Tango class file method action: 
  652.   - If the action has Error HTML, Tango processes it and stops  
  653.     method processing. 
  654.   - If the method's return value is the Results HTML, Tango 
  655.     returns the Error HTML.
  656.   - If the action has no Error HTML, Tango passes the error up  
  657.     the calling chain to the original Tango application file.
  658.   
  659.   Using config.taf [Chapter 24, p. 498]
  660.   ------------------------------------
  661.   The ODBC section of config.taf allows you to create, modify,
  662.   and delete ODBC data sources.
  663.   
  664.   Tango Cache [Chapter 24, p. 541]
  665.   -------------------------------
  666.   When you update a Tango application file, Tango does not
  667.   automatically update it in the Tango cache. You need to purge
  668.   the old version from the cache explicitly, using the
  669.   <@PURGECACHE> meta tag.
  670.   
  671.   When doing development or testing where you frequently change
  672.   your Tango application files, set the Cache configuration
  673.   variable to 'false' in your configuration file (or config.taf).
  674.   
  675.   For deployment, Tango Server offers better performance if you
  676.   set Cache to 'true'.
  677.   
  678.   If you upgrade from Tango 3 to Tango 2000, Tango sets Cache to
  679.   'false'. The reason is that, unlike the earlier version, Tango
  680.   2000 keeps application files in the cache until explicitly
  681.   purged.
  682.  
  683.   Using <@SETCOOKIES><@USERREFERENCECOOKIE> 
  684.   in a Custom HTTP Header [Chapters 8 and 24]
  685.   -------------------------------------------
  686.   If you include <@SETCOOKIES><@USERREFERENCECOOKIE> in a 
  687.   custom HTTP header, it must be the last line of the header.
  688.   Once evaluated, these meta tags return "Set-Cookie=..." 
  689.   plus a CRLF, which becomes an extra CRLF for the line it is 
  690.   at. Putting these meta tags anywhere else but the last line of
  691.   the header will result in any following lines appearing in the
  692.   Web browser.
  693.   
  694.   Tango Server Error Codes [Appendix D]
  695.   -------------------------------------
  696.   For a complete and up-to-date list of error codes, see the
  697.   Error Codes section of the "Getting Started Guide".
  698.   
  699.  
  700. * Meta Tags and Configuration Variables *
  701.   =====================================
  702.   
  703.   <@VISITORID>
  704.   ------------
  705.   The visitor ID cookie is not available on your first hit or
  706.   any hit made with cookies disabled. In these cases, the cookie
  707.   is not part of the request but part of the response, so Tango
  708.   does not see it.
  709.  
  710.   Custom Tags and Attributes
  711.   --------------------------
  712.   The maximum number of tag attributes you can have for a custom
  713.   meta tag is 32, for example, <@MYCUSTOMTAG att1 att2 att3 ...
  714.   att32>.
  715.   
  716.   Custom Tags and Tango Class Files
  717.   ---------------------------------
  718.   The order of parameters must match in the custom tag and the
  719.   Tango class file. If you change the order of parameters in one,
  720.   you must also change the order in the other.
  721.  
  722.   absolutePathPrefix
  723.   ------------------
  724.   In addition to system and application scope, absolutePathPrefix
  725.   is valid in user, domain, and local scope. However, even though
  726.   a value can be assigned to absolutePathPrefix in those scopes,
  727.   that value is only used in actions that involve file paths
  728.   (File, Mail, External, and so on) if you have administrator
  729.   privileges; that is, if the value of user$configPasswd matches
  730.   the system$configPasswd.
  731.   
  732.   If the configPasswd value matches, Tango looks in each scope
  733.   from most restrictive to most general, and uses the first value
  734.   of absolutePathPrefix that it finds. If the configPasswd does
  735.   not match, the application scope value of absolutePathPrefix is
  736.   used if the current application file is part of an application,
  737.   or the system scope value of absolutePathPrefix is used if
  738.   there is no current application.
  739.   
  740.   userKey
  741.   -------
  742.   The default value of userKey is <@USERREFERENCE>, not the
  743.   documented value of <@APPKEY><@USERREFERENCE><@CGIPARAM
  744.   CLIENT_IP>. You may change userKey to the documented value by
  745.   choosing the "Tango User Reference restricted by Application
  746.   and IP address" option on the Variables page of the config.taf
  747.   application file.
  748.   
  749.   
  750. * Tango Web Analyzer Administrator's Guide *
  751.   ========================================
  752.   
  753.   Tango WA Executive Manager [p. 159]
  754.   -----------------------------------
  755.   The second registry key should read:
  756.     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
  757.     SecurePipeServers\winreg
  758.  
  759.  
  760.  
  761.  
  762. Contacting Pervasive Software Inc.
  763. ===================================
  764.   Pervasive Software
  765.   12365 Riata Trace Parkway
  766.   Building II
  767.   Austin, Texas 78727 USA
  768.  
  769.   Telephone:  1 800 287-4383 (toll-free in North America)
  770.               (512) 231-6000
  771.   Fax:        (512) 231-6010
  772.   E-mail:     info@pervasive.com
  773.   Web:        http://www.pervasive.com/
  774.  
  775.  
  776. ______________________________________________________________
  777. Last Updated September 21, 1999
  778. ⌐1999 Pervasive Software Inc.