WebHub Release Notes for v2.023, v2.024, v2.025, v2.026, v2.027, v2.028, v2.029 and v2.030
This file was last updated 27-Mar-2004 22:35 California time.
Skip to: WebHub Object Pascal Components    The Hub    WebHubAdmin    WebHubView    Runners    Demos    Docs  

Starting with WebHub v2.023, the WebHub System is undergoing visible reorganization.

A quick explanation for existing customers
For many reasons, we are moving toward a new WebHub System design. Under this scheme, the Hub will always runs invisibly as a service. For a while we were shipping a file named HubNoGUI. As of v2.030, the concepts tested in "HubNoGUI" have moved into Hub.exe, and "HubNoGUI" is history. From now on, the shipping Hub.exe runs only as a service and never has a GUI.

So how do you edit W-HTML for the HubApp, or make configuration changes? You run the "WebHubAdmin" module. How to you monitor active traffic? The Connected and Requests panels have moved into a separate "WebHubView" module. This means lower overhead on your production server, and it opens up a path for HREF to provide more features soon.

What new customers need to know:
The WebHub Manual is not yet aware of the fact that panels have moved out of Hub.exe and into WebHubAdmin.exe and WebHubView.xe. So when you read about the Hub's Mail panel, you will need to look for that Mail panel in WebHubAdmin.exe. When you read about the Connected panel, you need to look for that in WebHubView.exe. The same goes for the User Manual. We simply have not had time to make the hundreds of edits involved.

The WebHub help file HAS been updated. Prior to 03-Apr-2004, get the latest help file here: whub-hlp.zip

What to Download
As of v2.03x, we are providing the files through 4 main installers:

  1. "WebHub Runtime System": Hub, WebHubAdmin, WebHubView, Runners, for developers and deployment (posted 09-Mar)
  2. "WebHub Documentation": Manual and Help File (posted 09-Mar)
  3. "WebHub Object Pascal Components": installs into Delphi, for developers only (see v2.031)
  4. "WebHub Useful Source": The add-on source, formerly known as tPack and HT Plus Pack.
Customers may download using FTP and the usual login. In another month or so, we will add some combination installers, e.g. "all of the above". However we intend to keep the granularity as shown above because that reflects how portions of the codebase are maintained and sold (i.e. the docs are generally updated independently of the code, and you don't need to put most of it onto a deployment server, some people do not license the "Useful Source", etc.).

Just before trying the new "WebHub Runtime System" installer...

  1. ZIP your bin\hub.ini file and windows\href.ini files
  2. Run regedit, and export your HKEY_LOCAL_MACHINE\Software\HREF Tools registry settings
  3. If you were running HubNoGUI, please stop that service ("net stop HubNoGUI") and uninstall ("HubNoGUI -remove")
  4. If you were running Hub.exe as an application, stop the Hub.exe
  5. If you have any WebHub apps compiled with v1.x on the machine, exit them and stop IIS.
Alert!! The hub service will be installed to start MANUALLY.


WebHub Object Pascal Components

New TWebObjectInspector component available v2.025
Thanks to Ronan van Riet, there is a new component available for use (lib\WebObjInsp.pas). Please see the demo. This component gives readonly, or read/write access to published properties of TComponent derivatives. It could be just the thing you need to enable object-oriented editing on your web site.
these "tpack" units are now available with full source at no charge...
The following units are posted at www.href.com/pub/source. There is a very small chance that you are using one of these units in your custom work. If you are, please download the source and save it with your custom files for your future use.
these "WebHub" units are now available with full source at no charge... v2.023
dmBasic.pas, dmBuffer.pas, ucCookie.pas -- these units are posted under www.href.com/pub/WebAct.

these units are no longer available
these routines have been renamed
TWebActionNoSaveState components add to internal list correctly now v2.023
Fixed an error that had to do with trying to add components when the list was sorted.
IsWebRobotRequest macro syntax fixed v2.023
In prior versions, you had to include the double-vertical-vars ('||') even if you had no ELSE clause. Now the ELSE clause is optional. Also this macro was not documented in webhub.hlp; it was added 9-Nov-03.
TWebMenu more flexible v2.023
New properties let you control whether you want the AppID, Components and Pages menu automatically populated by TWebMenu. See: MaintainAppIDMenu, MaintainPagesMenu, MaintainComponentsMenu.
TWebStringGrid renamed to TWebStringGridGUI v2.023
The class TWebStringGrid has been renamed to TWebStringGridGUI to indicate that it works in conjunction with a string grid which is visible in the GUI of the web application. A new class, TWebStringGrid, works with an invisible, non-gui string grid (pure data), tentatively named TtpStringGridNeverVisible in txtgrid.pas.
TWebBasicOutput.SendRedirection changed v2.024
This method now expands the page content before calculating the content length, so that the content length is accurate even if macros were used in the page content (rare but possible). This fixes the BOUNCE macro and all other "bounce" related methods.
ServerID support changed/improved v2.024
Under previous versions, setting UsesFilter to 'yes' was insufficient to make a Short-URL jump when a ServerID was used; you had to also set the path and runner to blank in the ServerID definition.
As of v2.024, setting UsesFilter to 'yes' forces pages on the ServerID to run with a Short-URL, compatible with Coolness Layer and StreamCatcher filters.
TWebTempFileDelete class added v2.024
TWebVarFileDelete is now derived from TWebTempFileDelete, a new class which is able to generically delete temporary files. New Path, Mask and other properties let you easily control which files it monitors. Thanks very much to Ronan van Riet for this idea and code contribution.
Form Restorer changed v2.024
The form restoring logic (in restorer.pas) has been enhanced to provide support for a dual-screen configuration. Form coordinates and sizes are still kept in the tpack.ini file in the windows directory.
Enhanced ucShell.Launch function v2.024
Added ability to wait until process completes, and/or a maximum timeout value, and control over whether the launched program window is visible or not.
New function: IsProcessRunning v2.024
This function has been added in the ucWinAPI.pas unit. Syntax: function IsProcessRunning(PID: DWord): Boolean;
whIBOds.pas included in lib directory v2.025
This unit will ship with source in the lib directory to all developers, making it a bit more convenient to develop Interbase Objects web applications with WebHub.
Certain "empty" error messages improved v2.025
In webdrop.pas, weblscan.pas, wdbscan.pas and webscan.pas, the "Empty" comments were extended to include the name of the component instance and the exact nature of the emptiness.
W-HTML Editor: allow creation of directories for files v2.025
If you add a file in a directory which does not exist, you'll be prompted as to whether you want the directory (and thus the file) created. Previously, file content linked to invalid directories was ignored (and not saved).
InterlockedCompareExchange FIX v2.025
There is an error in Borland Delphi's windows.pas, in at least the file for Delphi 7. The declaration for InterlockedCompareExchange is wrong. A corrected version named whInterlockedCompareExchange is included in ipcMail.pas for your convenience. This impacts future-WebHub, not past-WebHub.
Error in Delphi IDE with TWebApp and TWebCommandLine, fixed v2.028
WebHub v2.025-v2.026 (ONLY) gave errors in the Delphi IDE if you attempted to view/use the TWebApp or TWebCommandLine. If you compiled from a BAT file or just use the Hub and runner, there was no problem. This issue is fixed in v2.028. (There was no problem with the Hub or Runners.)
Internal code cleanup v2.026
Pulled apart the 10 units which were shared between hub, components and runner to enable easier reading, maintenance and enhancement. (No feature changes.)

WebHub Demos

Branding demo, text updated v2.023
Minor text edits made to "pagee.htm" within the branding demo.
Outline demo activated 6-Nov-03
See the TTreeView (outline) demo on http://demos.href.com. The AppID is "HTOL".

The Hub

Invisible "Hub" runs as service v2.030
As of v2.030, the Hub has no graphical user interface (GUI) and runs as a service. The v2.030 installation will install the service and start it for you.
Hub service defaults to manual start v2.031
The new installer automatically installs the HUB SERVICE in MANUAL start mode. Use bin\hub-on.bat and bin\hub-off.bat to stop and start the Hub.
HTML and In/Out panels removed from The Hub v2.023
The Hub no longer contains panels for creating HubApp content or monitoring HubApp data flow. Please use your own custom WebHub application for editing HubApp content, or the new WebHubAdmin module.
Options panels removed from The Hub v2.023
The Hub no longer contains panels for configuring Options. Please use the new WebHubAdmin module.
Requests|HubApp panel removed from The Hub v2.023
The Hub no longer contains a panel for showing statistics about the HubApp, and no future modules are likely to contain this data. The documentation has not yet been updated to reflect this change.
Mail panel removed from The Hub v2.023
The Hub no longer contains a panel for configuring and running email. Please use a standalone WebHub application instead. The documentation has not yet been updated to reflect this change.
Background session delete is always on v2.023
In earlier versions, it was possible to tell the Hub not to monitor session data files and delete them when they expired. This was in order to allow that functionality to occur within the WebHub application on the whSessio.pas panel. Now, the Hub ALWAYS manages session deletion and the session panel has the user interface for viewing session data without the TWebVarsDelete component.

This means that you may now add a session panel (lib\whSessio.pas) into your own application without running into any conflicts with the Hub.

How Hub Starts Apps has Changed v2.023
If you want the Hub to start applications automatically when it runs, pass the parameter /StartApps on the commandline. There is no longer a "Start WebApps" checkbox within the Hub.
Hub no longer closes apps on exit v2.023
In prior versions, you could use a checkbox to tell the Hub to close running WebHub applications when the Hub exited. This is no longer available, as it does not really apply to running the Hub as a service on a production machine.
Connected panel no longer has "show detail" feature v2.023
Suspend and Resume features need extra manual step v2.023 - v2.028
If you use the Connected panel to suspend and resume running WebHub apps, you will need to manually delete the row so that it will be re-read with the suspended or resumed status. Do not worry about this if you don't use the Suspend and Resume features on the Connected panel. This has been fixed as of v2.029.
WebHub System adapts when SessionsDir goes offline v2.024
The Hub and any WebHub applications built with v2.024+, adapt when the configured SessionsDir becomes unavailable, and start using a temporary directory. They also automatically switch back to the configured SessionsDir when the comes back online. This applies only to deployment situations where the SessionsDir is on a LAN drive which may be rebooted or otherwise go offline.

In earlier versions, when the directory became unavailable, the temporary directory was used and that was stored as a permanent choice, making it annoying to switch back to the originally desired LAN location.

Directory availability is checked at most once every 2 minutes, unless there is an error saving the session file.

Hub message counter rolls over maxlongint gracefully v2.024
As of 29-Jan-2004, we are partway through a long test of the Hub running continuously on a platform where it would hit an integer overflow error typically in 5 to 7 days and generally within 3 weeks. Our test of the v2.024 Hub started on the 21st of January.
Count of connected apps now excludes suspended instances v2.025
The way the apps are counted on the Connected panel now skips over the Hub process and skips over all suspended WebHub application instances. This count is used to enforce the Hub Capacity restrictions.
session file timeout v2.025
In Hub v2.024 only, the session file timeout was staying at 1440 minutes (default) rather than using the value from the hub.ini file. This has been fixed.
Connected panel should not display "MAIL..." and "HELO" text v2.027
There has been a long-standing, intermittent problem where, if you toggled the "use webhub" status of your WebHub application server, the Hub's connected panel might display the wrong Process name and wrong AppID, for example, it might display "MAIL" and "HELO" instead of "ASERVER" and "ADV". This could lead to incoming requests not being directed to the connected instance. This has been fixed.

WebHub Admin

General Info v2.023
WebHubAdmin.exe will be required in v2.023+ for the tasks of editing HubApp W-HTML and setting options through a graphical user interface. As we are not going to modify the WebHub installation routine until everything new is ready, you will not find WebHubAdmin.exe included in the regular installation file.... and that is why you might as well download WebHubAdmin.exe now and start using it. It's compatible with any v2.x installation, and is also a great replacement for AServer.exe if you were using that for editing W-HTML.

The panels in WebHubAdmin function as they did when they were inside Hub.exe. There are a few improvements to the menu; for example you can now File-Open an AppID to start editing a particular WebHub application's W-HTML files.

"Down WebApps" feature implemented v2.027
The classic Hub has a menu option, "File|Down WebApps" which lets you close all running WebHub applications. This feature of course cannot be used when the Hub is running as a service. It is now available in WebHub Admin under the Tools menu. This feature only works when WebHubAdmin and the Hub are the same version.
"Refresh" feature implemented v2.027
If you use WebHubAdmin.exe to edit W-HTML files, you can now use the Tools|Refresh menu option to tell any WebHub application servers running the same AppID to refresh their content. This works if and only if the WebHub application server has included the lib\whShared.pas unit, or equivalent. (The minimum required is a TtpSharedLongInt whose GlobalName property is set to pWebApp.TheAppID, and where the OnChange event triggers pWebApp.Refresh when the new value is 3. This, and more, is provided in the lib\whShared.pas unit.)

WebHub View

General Info v2.029
WebHubView.exe is available as of v2.029 for monitoring traffic. The "Connected" and "Requests" panels from the classic Hub.exe are now in WebHubView. We are recommending that production servers run Hub as a service 24x7, and use WebHubAdmin and WebHubView as needed to adjust settings or monitor traffic.

WebHubView will only work with a Hub where the versions match up.



runisa.dll file size back to 180k v2.023
In v2.022, the runisa.dll file was around 440k bytes. Fixed.
Runner termination fixed v2.025
Runners since v2.010 (at least) have had a problem when when one tried to stop the IIS service, either an error was generated or the IIS service become unstable and would neither stop nor restart. In some cases, other services (such as RSU) would not function properly as a secondary result. This has been fixed by a complete reorganization of the initialization and finalization code in the runisa.dll runner.
FastCGI interface
FastCGI implementation for use with Apache on Windows AND Linux. Timing tests are archived at www.href.com/whvclnotes (25-Jan and 12-Feb entries). As of 12-Feb-2004, we have an interface suitable for use on If anyone requires this, please advise technical support.

INI file cleanup issues

TPACK.INI v2.023
Automatically deleted by the v2.030 installer
The following are obsolete and may be deleted.
  1. Section fmWebSessions, entry SessionsBgDelete
  2. Section fmHubSetups, entry SetupDetails

Known Issues in v2.023 to v2.028

Installation asks about demos, wwwroot
Resolved in the v2.030 installer
Through v2.028, the installation routine asks whether you want to include the demos, what your wwwroot path is, and whether you want to compile the demos, even though those are no longer relevant. Give any answer to the questions and ignore as much as possible, thanks.
Installation touches Delphi Library Path incorrectly
Resolved in the v2.031 installer
The current installation routine adds a path, "$(DELPHI)SourceToolsApi", to the overall Delphi library path. That is an invalid path name. It should be $(DELPHI)Source\ToolsApi with the directory separator \.
Installing TPack standalone (not WebHub)
To install TPack only, add the file regtpack.pas to a package. On line 50, manually add this line (after all the units are included), to bring in all the tpack icons for your Palette:
{$R tpack32.res}
Hub service must be stopped manually before upgrading
Resolved in the v2.030 installer
An error pops up when one tries to install WebHub (hub.exe) when the hub service is already started, "Error code -132". There is no problem when stopping the service and then doing the install. If you are running WebHub as a service, please stop the service before upgrading.
Installation does not set path to W-HTML editor shortcuts
Resolved in the v2.030 installer
The following entry must be made manually in order to make the W-HTML editor shortcuts work:
EditTemplate=c:\program files\HREF Tools\WebHub\Wizard\Editor\ShortCut.txt
installer does not include a sample WebHubRunner.cfg
Resolved in the v2.030 installer
You will need to make this file yourself for use on WinXP Pro with IIS 5.1 and probably other platforms as well.

If you want to customize the OnUpload features or adjust the delay of runisa.dll as a workaround on Win2000 or WinXP, you will need to create your own WebHubRunner.cfg file in the directory with with runner. Here is a starter copy:

Set the FileUploadPath to any path on a local
hard disk and make sure that there are sufficient
permissions for files to be written to that
path by the runisa.dll ISAPI runner.
On Win2000 and WinXPPro, set the
DelayReturnInMilliseconds to a number from
1 and 500, to prevent blank page errors in IE.

Back to the top of the release notes