| November 2001
| Magic Broker Version 8.3-10
| Dear Developer, We are happy to introduce Magic Broker Version 8.3-10. Magic Broker 8.3-10 is an enhanced version of the modules that were supplied in Magic 8.30 Service Pack 10. We hope that the improved Magic Broker modules will make your work easier and more enjoyable.
| General information This document explains: What the service pack installs How to install the service pack QCR Fixed in Magic Broker 8.3-10 New Feature in Magic Broker 8.3-10 QCRs Fixed in Magic Broker 8.3-9 New Features in Magic Broker 8.3-8 QCRs fixed in Magic Broker 8.3-8 New Feature in Magic Broker 8.3-7 QCRs fixed in Magic Broker 8.3-7 New Feature in Magic Broker 8.3-6 QCRs fixed in Magic Broker 8.3-5 QCRs fixed in Magic Broker 8.3-3 New Features in Magic Broker 8.3-3 QCRs fixed in Magic Broker 8.3-2 New Features in Magic Broker 8.3-2
| What the service pack installs (Top) This service pack installs the following files to the patch installation directory:
MGrqmrb.exe | The Magic Broker executable. This file replaces an older version of the same file in the directory of the Magic Broker.
MGrqgnrc.dll | The Magic Generic Messaging Layer. This file replaces an older version of the same file in the directories of the Magic Engine, the Magic Broker and the Web Server.
MGrqispi.dll | The Magic Internet Requester for the Microsoft Web servers. This file replaces an older version of the same file in the executables directory of the Web Server (usually '/scripts').
MGrqns20.dll | The Magic Internet Requester for the Netscape Web server through version 2.0 This file replaces an older version of the same file in the shared library directory of the Web Server.
MGrqns35.dll | The Magic Internet Requester for the Netscape Web server from version 3.5 to the current version. This file replaces an older version of the same file in the shared library directory of the Web Server.
MGrqcgi.exe | The Magic Internet Requester for any Web server. This file replaces an older version of the same file in the executables directory of the Web Server.
MGrqhttp.dll | The HTTP Messaging Layer. This file replaces an older version of the same file in the directory of the preferred Magic internet requester.
MGrqcmdl.exe | The Magic Command Line Requester. This file replaces an older version of the same file in the directory of the Magic Broker.
SSL Directory | The SSL directory needed for SSL integration. Please refer to the supplied MRB_SSL.htm - SSL Directory document’s section for further information.
Samples Directory | The Samples directory holds sample HTML pages that demonstrate the new feature of Request Details in Default HTML page and a sample page for the Upload capability of the requester.
How to install the service pack (Top) To install the service pack, follow the guidelines below.
Magic Main Installation | In the main Magic installation directory, replace the old file with MGrqgnrc.dll.
Broker Installation | Stop the Magic Broker process. In the Magic Broker installation directory replace the old files with: MGrqmrb.exe, MGrqgnrc.dll, and MGrqcmdl.exe. Restart the Magic Broker service.
Microsoft Web Server | Stop the Web server process. In the Scripts directory of the installed Microsoft Web server, replace the old files with: Mgrqispi.dll, MGrqcgi.exe (if used), MGrqgnrc.dll, MGrqhttp.dll. Restart the Web server process.
Netscape Web Server | Stop the Web server process. In the Shared Library directory of the Netscape Web server, replace the old files with: MGrqns20.dll or MGrqns35 (according to the Web server version), MGrqgnrc.dll, and MGrqhttp.dll. If the Magic CGI Requester is also used, replace the old files with: MGrqcgi.exe, MGrqgnrc.dll, and MGrqhttp.dll. Restart the Web server process.
Other Web Servers | Stop the Web server process. In the Executables directory of the installed Web server, replace the old files with: Mgrqcgi.exe, MGrqgnrc.dll, and MGrqhttp.dll. Restart the Web server process.
| QCR Fixed in Magic Broker 8.3-10 (Top) · QCR 981742 – The Magic requester produced an error message of "110 - Request timeout value expired” before the actual timeout, as set in the MGREQ.INI, was reached.
| New Feature in Magic Broker 8.3-10 (Top) · Limitation of File Upload A new setting is added to the MGREQ.INI MaxUploadKB=nnnn This setting determines the maximum allowed size of a file upload. The size is defined by KB bytes. If a file larger then the limit is submitted then the requester will fail the request and return an error back to the client. The Error text is: "File upload failed: file size exceeds maximum size limitation" The Error code is: -260 If this parameter is not defined or set to zero or a negative value Magic will not limit the size of a file to be uploaded. Unlimited size of uploaded files can create congestion on the application server.
| QCRs Fixed in Magic Broker 8.3-9 (Top) · QCR 763091 - The command line requester EXE option only identified the first Magic.ini file setting and ignored subsequent settings. · QCR 777586 – A memory leak of the broker was fixed.
| New Features in Magic Broker 8.3-8 (Top) · Upload capability of the requester The MRB8.30-8 requester allows you to provide file upload functionality from your HTML page that can be received by a Magic program. All you need to do to enable the end user to upload a file back to the Magic application server is to define your HTML file as follows: 1. The form method attribute type must be POST. for example: <form action=/scripts/mgrqispi.dll method=post> 2. The form tag should include the following attribute: ENCTYPE="multipart/form-data" for example: <form action=/scripts/mgrqispi.dll method=post ENCTYPE="multipart/form-data"> 3.An Input tag of the FILE type should be added to the form. This tag will create both an edit box in which the user may enter the local path and file name, and an adjacent push button for browsing the local desktop for use in selecting the file. This input tag should be identified by a clearly defined name. for example: <input type=file name="MyFile"> 4. The given name of the file input tag should be added to the hidden input of the arguments. for example: <input type=hidden name="ARGUMENTS" value="var1,var2,....,MyFile,...varn"> 5. A corresponding virtual variable of the BLOB type should be created in the called Magic program. This variable will be updated with the uploaded file content. The content of the variable may be converted to a physical file on the server side using the BLB2FILE function. You will find a sample HTML file with the required HTML information in the Samples directory of the extracted package file (Upload.html). · Date in the Broker’s Query Log The broker’s query log will now show the date in addition to the time notation. · [HTTP_APPLICATIONS_MAP] The Magic Internet requester now enables a connection to several Magic brokers according to the requested application: Using the new MgReq.INI section of [HTTP_APPLICATIONS_MAP], you can map each application to a specific broker as follows: [HTTP_APPLICATIONS_MAP] MyAPP = MyBroker/2001 TheirApp = TheirBroker/3001 · Request Details in Default HTML Page The Default HTML page is the page that is returned to the Browser when there is no output from the called program. The required information about the request is embedded inside the result page as Java script variables and automatically updated as pre-defined HTML input elements. This is done using an implicit parent document that links to your defined default HTML page and handles it. Location of the default HTML page This feature allows the default HTML page to be accessible through the web server and to be set in the DefHTML entry in the MGREQ.INI by its relativel location to the web server. Using the automatically updated HTML input elements The parent page that opens your default HTML page will automatically update the input elements on your page with the requested information. The parent page will be able to do this if the input elements are identified by a known name. For example, the node machine and port number of the messaging server will be updated by the input element with the name of MG_Server. The following list defines the expected input element names: MG_Server – Messaging server information MG_Application – Requested application name MG_Program - Requested program name MG_ErrorCode – The error code MG_ErrorText – The error description MG_Args – The arguments passed with the request MG_User – The user name passed with the request In the ‘Samples’ sub-directory of this package you will find an example default HTML page that uses the INPUT elements automatic update (Def_Input.htm) If you wish to use this sample page, you should place it in a directory visible to the web server (e.g., ‘scripts’) and define the relative path to this page (e.g., ‘/scripts/Def_Input.htm’). Using the embedded Java Script variables. The parent document of the default HTML file contains a series of variables each of which can be accessed from your page as an object of the parent (e.g., parent.MG_V_Server) The following lists the defined variables: MG_V_Server – Messaging server information MG_V _Application – Requested application name MG_V _Program - Requested program name MG_V _ErrorCode – The error code MG_V _ErrorText – The error description MG_V _Args – The arguments passed with the request MG_V _User – The user name passed with the request In the ‘Samples’ sub-directory of this package you will find an example default HTML page that uses the INPUT elements automatic update (Def_Vars.htm) If you wish to use this sample page you should place it in a directory visible to the web server (e.g. ‘scripts’) and define the relative path to this page (e.g. ‘/scripts/Def_Vars.htm’). · Directed call remote operation A request sent from a Magic engine (Remote Call) can be directed to a specific application server by passing a string with the application server host name and port (e.g., 'MYHOST/1530') as one of the parameters of the call remote operation. The name of this parameter should be MGAPPSERVER. Note: The Host name and port number can be retrieved using the RQRTS and RQRTINF functions. · Requester History Size The INI parameter of 'ReqHistorySize' is added to the MGRB.INI file. The user may use this parameter to set the number of requests, which will be saved to the request queue log. The default value is 20,000. The minimum value is 5000. A value less then 5000 will be converted to 5000. The maximum size is 2,000,000. Setting it to more than this will be converted to 2,000,000. If 0 is set then the default value will be used.
| QCRs Fixed in Magic Broker 8.3-8 (Top) · QCR 168493 - The Magic requester did not return the entire variable string passed by the browser. · QCR 435922 – CGI requester added an extra line to the returned content using the FILE2REQ function. · QCR 750928 - Start application & Start program did not work if we start magic using [MRB_REMOTE_EXECUTABLES_LIST] · QCR 911280 - The HTTP_COOKIE variable was not retrieved correctly. · QCR 975133 - RQREQLST/RQREQINF/MGRQCMDL failed to execute while the broker handles a large number of requests.
| New Feature in Magic Broker 8.3-7 (Top) · SSL Integration The Broker modules of MRB 8.30-7 version are fully integrated with the SSL libraries. This enable the encryption of messages and the authentication between the broker modules. Please refer to the supplied MRB_SSL.htm document for further information.
| QCRs Fixed in Magic Broker 8.3-7 (Top) · QCR 155081 - A request that caused an Autoload of an engine was not handled by the new loaded engine. · QCR 435922 - The Magic CGI internet requester used to add an extra line at the top of each sent document. · QCR 733750 - When an Engine was loaded by the MRB as a background Engine, the MRB processed the first few requests and ignored the others. · QCR 767416 - When an idle application server engine was terminated so that the Broker was not informed of its termination, such as the engine machine was turned off abruptly, the engine was still registered as Available idle on the broker. A new request that was directed to such an engine did not get a new available engine after the terminated one was resolved as unreachable and this request failed.
| New Feature in Magic Broker 8.3-6 (Top) · The Magic Broker 8.30-6 has been enhanced for better performance and stability.
| QCRs Fixed in Magic Broker 8.3-5 (Top) · QCR 159222 - Once the Internet requester did not find the Magic Broker, the browser had to be reloaded in order for the requester to find the new broker. · QCR 175872 - The RQQUEDEL function did not recognize server names other than DEFAULT or Default Broker. · QCR 494082 - The error message of unexpected connection (code -143) entered an endless loop. · QCR 758811 - Changes in the visual connection feature were reflected only in the next session of Magic · QCR 803399 - The Call Remote operation and RQ functions referred to the settings of the first service they used although they were directed to a different service. · QCR 979147 - Despite the settings of the [MRB_ENGINE_CLIENTS_MAP], a synchronous request has been completed by an engine that should not have handled it when the engine was re-loaded after the request had been submitted.
| QCRs Fixed in Magic Broker 8.3-3 (Top) · QCR 120516 - The Magic Broker closed without any warning when an illegal port number was set in the MRB.INI file. Now, the Magic Broker displays the error message, Invalid Port Number. · QCR 241742 - When a Magic application server was loaded with the Start Program setting, the application server connected to the messaging server only after the Start Program finished. · QCR 768573 - Date fields transferred from an HTML form in the format of d/m/yyyy corrupted the next variable. · QCR 446527 – If the Request Broker could not connect to a server application, the server was removed from the pool but not disconnected. Now, an application server is removed from the Request Broker's pool only after the broker successfully connects to the server and returns a termination message. · QCR 711133 – The partitioning modules failed to operate after 49 days of continuous operation. · QCR 757967 – The Magic Broker provided an incorrect status for an application server. This caused the start-up application to open in Toolkit mode. Any application server toolkit engine that has a start-up application now opens in Runtime mode for Magic Broker 8.3-3 and the Magic Engine modules provided in Service Pack 2. · QCR 787444 - When a pending request was cleared from the Request Broker's queue, the next request number fetched was wrong.
| New Features in Magic Broker 8.3-3 (Top) · Automatic reload of the Magic Broker The Magic Broker can now automatically reload when an abnormal termination occurs. This is achieved by providing a new process that spawns the process of the Magic Broker. The new process is entirely responsible for monitoring and administering the main process of the Broker. · Automatic termination of the application server If the Magic Broker terminates and restarts, normally or abnormally, the application server connected to the broker session will terminate after 60 seconds or less. This applies only to an application server running in background mode. · Re-connecting to a recovered broker The Alternate Messaging Server allows the requester to reconnect to the main broker after a designated time interval. A new setting in the requester’s ini file (MGREQ.INI), RetryMainTime=10, is used to set the time intervals by which the requester reconnects to the main broker. The number used in this setting is the number of minutes. If no value is set, the default retry time interval is 5 minutes. · Broker Availability The Magic Broker accepts requests only after the startup sequence is complete.
| QCRs Fixed in Magic Broker 8.3-2 (Top) · QCR 773812 – Loading the Magic Broker with a background engine disrupted the Microsoft Windows operating system. · QCR 983892 - The Magic Broker crashed when connecting from a telnet terminal. · QCR 754955 - The Magic Broker stayed in 'Busy request' status even after an application running in background mode closed at the end of the request. · QCR 877 – If an application server connection was aborted and the Broker did not get a connection-reset message, due to a timing problem, the requester would not notify the Broker of the status of the application server even after it failed to connect.
| New Features in Magic Broker 8.3-2 (Top) · Mgreq.ini In previous versions of Magic, the Magic Broker would search for the Mgreq.ini file used by the Internet requester in the Web Server default directory or in the directory specified in the registry, HKEY_LOCAL_MACHINE/SOFTWARE/MAGIC/MGREQ. For Magic 8.30 Service Pack 1, the Magic Broker now searches for the Mgreq.ini file in the directory of the Generic Messaging layer module (mgrqgnrc.dll) · Broker events log The new Broker Events log, mrb_events.log, is created and appended each time the Magic Broker is opened. This log only displays major events: startup and shutdown of the Magic Broker and engines, and error messages. · Reload For Magic 8.30, the Reload feature was added to the Magic Broker. The Reload feature was enhanced by automatically assigning a messaging server to an engine that was automatically loaded by the Magic Broker. This Automatic Assignment generated a password that was used by the application server to connect from the engine entry name in Mgrb.ini to the actual password of the Broker in the following format <!$MG_exe_entry>password. For Magic 8.30 Service Pack 1, the format was changed, ++exe_entry++password, to be accessible to the UNIX server.
| Thank you, The Magic Version 8 Team