WebHub Release Notes for v1.500

This file was last updated 18 July 1998, 19:10 PST

v1.50 Press Release!!!

Improvements by Category

In the Hub + Runners

In the Shared Panels

In the Built-In Macros

In the WebHub VCL


WebHub Help file updated to cover the new panel changes and all the icons are fixed!! Sorry about that - I had no idea that the help compiler ignored path names so it was caching graphics in a very bad way! -Ann


Minor changes.

Known Problems

Free t-shirt or $20 store credit to anyone who reports a previously-unknown bug. EMail ann@href.com.

New Tracing Feature

WebHub 150 includes tracing capabilities that will help you understand how output was created. This functionality is designed to be open and under your control and the actual formatting of the trace output takes place in the output panel. complete source code to the output panel is provided to let you transplant and adapt the provided logic as required.
new types used to interface with the trace events:
  TOnTracePChar = procedure(Sender:TWebOutputApp;Text:PChar;Before:Boolean)
of object;
  TOnTraceString = procedure(Sender:TWebOutputApp;const
Text:String;Before:Boolean) of object;

new public method:
    procedure TraceBuiltInEvent(const EventName,Parameter:String);
		used to inform the trace code that a certain builtin event is about to be
processed. see usage example in htwebapp.pas

new public properties:
    property  TraceEnabled: Boolean read fTraceEnabled write fTraceEnabled;
		Enables the tracing code to recognise the trace related events. webhub is
optimized internally so that the tracing logic does not slow down pages
when tracing is inactive.

    property  TraceInHTML: Boolean read fTraceInHTML write fTraceInHTML;
		controls if trace output is to be in html form. this property exists
soley for the purpose of the html panel and can be affected from there and
through the TraceOn/Off properties.

new published properties:

    property TraceOn: String read GetTraceOn;
		reading traceOn from HTML (with %=TraceOn=%)  enables html traceoutput
for the current page/surfer.

    property TraceOff: String read GetTraceOff;
		reading traceOff from HTML (with %=TraceOff=%)  disables html traceoutput
for the current page/surfer.

    property OnTracePChar: TOnTracePChar read fOnTracePChar write
    property OnTraceMacro: TOnTraceString read fOnTraceMacro write
    property OnTraceChunk: TOnTraceString read fOnTraceChunk write
    property OnTraceComponent: TOnTraceString read fOnTraceComponent write
		the above events are used to inform the trace-logic that text, macros,
chunks, or components are being rendered. it's likely that they will be
collapsed into a single event in future versions. the parameters to these
events are read-only and can not be used to modify what will be sent. for
that, please override the sendmacro, sendpchar or sendbufferedchunk

to add tracing to your app, consider adding the following logic to your
page header:


Note that the html trace output can break otherwise perfect html and/or

For example you may not be able to submit forms from a page containing
trace- output of a form built using the %=WHERE=% or %=ACTION=% macros (use
the input macros to avoid this particular case) . To avoid getting stuck,
you might want to add a %=CLEAR|WantToTrace=% to your homepage or some
other central page so that you can bail out.

Another option is to put %=TraceOff=% before tags that would get broken by
the trace and to re-enable the trace thereafter by repeating the
%=IF|WantToTrace|%=TraceOn=%=% in your document. this will let you trace
everything on a page while protecting javascript or form sections.

lastly, the CMDHAS macro might provide a good way for you to integrate
remote tracing into a webhub app. By using %=CMDHAS|Debug314|%=TraceOn=%=%
you could conditionally enable a remote trace from afar. be careful to not
use an easy to guess command as to keep details about your pages from others.

HREF Tools Corp., 300 B Street, Suite 215, Santa Rosa, CA 95401 USA