WebCatalog 2.1 Change History
Subscribe to WebCatalog-Talk at http://www.pacific-coast.com/maillists/
- 2.1.1 Release
- Increased number of math variables from 50 to 150
- Fixed $NewCart lockup
- Added Pragma no-cache to Serial# page
- Fixed bug that caused [index] inside [lineitems] to get chewed up
- Write CartIPAddress to order file automatically upon Purchase
- Win: fixed bomb when no referrer
- Win: [Referrer] tag fixed, no longer chewed up when no referrer
- Mac: Allow plugin to load without AppleScript
- Mac: Fixed emailer bug that caused certain messages to drop
- Mac: Fixed WebTen bug that caused "/" to refer to global root instead
of local vhost root
- Win: WebMerchant bug that deletes order files every 24 hours instead of preferred
- WebMerchant sets zip to 00000 if not 5, 6, or 9 digits (to help clear international
orders)
- Mac: Fixed auto-settle bug that settled even when preference was blank
2/24/98
- Final 2.1 GM release for Mac
- Mac: Added plugin PathCleanup preference for Quid Pro Quo and WebTen (non-myopic)
compatibility
- Mac: fixed PIXO problem finding template path when backended via NetCloak
- Mac: fixed bug that truncated template names in plugin
- Fixed single-field database bug that caused one-field databases to not be written
correctly
- Fixed shipCost formula so it can get current value of [subTotal] during $Add
2/15/98
- Added AutoCommit preference to write all changed databases to disk after every
page hit
- Added [CommitDatabase dbpath] to write databases without closing them
2/5/98
- Modified behavior of cart file overrides: nonTaxableTotal, taxableTotal, taxTotal,
and shippingTotal are the only overrideable values now. [GrandTotal] and [SubTotal]
are correctly computed based on overrides now.
- Modified encryption spec
- Added elapsedtime and memoryAvailable to debug log
- Added CheckTemplateInterval and DebugLevel to preferences template
1/29/98
- Added custom word break character feature
so you can define what text is considered to be a word when searching.
- Smart template caching uses a new CheckTemplateInterval preference to determine
the number of seconds it should wait before checking the disk for modified files.
- Mac: Fixed multihoming bugs under WebSTAR 3.0
- Generalized sample templates so they are identical on both Mac and PC
1/19/98
- Added optional custom conversion table to [ConvertChars]
- Mac: Changed template extension to .tpl in order to simplify cross-platform development
1/16/98
- Enchanced security of encyption algorithm. Previously-encrypted passwords
are no longer valid!
- Modified encryption seed so that it takes an 8-character text value instead of
a numeric value
- Win: updated Admin templates to use new security encryption, also updated GeneralStore
templates so that order file contains [IPAddress] of purchaser, and made it easier
to rename the product database
1/12/98
- Win: Enhanced emailer file format to handle arbitrary
user-defined MIME headers, including standard ones like Bcc: and Cc:
- Win: Fixed [DeleteFolder] and FileInfo's [exists] tags
- Win: Added [Version] tag to report WebCatalog version#
- Win: Added exception-handling to detect and cleanly ignore Dr. Watson bombs
1/5/98
- [ValidCard] now accepts case-insensitive parameters
- New emailer file format allows for any MIME headers, and works with SIMS and
EIMS (Mac) direct file format. Requires new emailer application.
- Added preference for FirstMIMEHeader and ThreadMem
- Mac: smart caching follows aliases correctly, re-reads from disk if original
is modified
- Modified order file format to include extra headers and 'override' values for
calculated totals. These values can
be overridden.
- Added [Encrypt] and [Decrypt]
contexts so we can get rid of clear-text passwords.
12/27/97
- Mac: If the parameter to [DeleteFolder] tag is an alias, then just the alias
itself is deleted, and not the entire folder which the alias refers to
12/27/97
- Fixed bug that didn't show new quantities inside [OrderFile] embedded in $ShowCart
page
- Added [SetCookie] tag
- Added [SetMIMEHeader] tag
- Added [MaxCopies] tag that shows how many licensed copies of this serial number
are allowed to run at once
- Added [Redirect] tag
- Added [ExpireDate] tag that shows when this WebCatalog's serial number will expire
- Mac: Fixed various Signal Raised errors so that CGI quits when memory is too
fragmented
- Fixed HideIf/ShowIf bug that got confused when !=~^>< comparison operators
were embedded in either side of the equation
12/10/97
- Added new Serial # scheme that allows for developers to run time-limited
- Sped up cart display routines and automatic lookups
- Mac: Sped up alias resolution of cached databases
11/24/97
- Added [Capitalize] Context
- Added error message to [Purchase] that displays credit card check digit error
- Added [ValidCard] tag to pre-verify credit
card numbers
11/11/97
11/3/97
- Mac: Fixed low-level memory allocation bug that caused LModelDirector dialog
to appear
- Mac: added ?command=showpage style commands to ease cross-platform porting
- Added "taxable" to list of allowed formulas
- Added "from=end" parameter to GetChars context
- Mac: fixed bug that caused AppleScript to execute inside [HideIf]
- Win: Added [DOS] context
- Added [FileInfo] context
- Added ability for formulas to access LineItem variables of the current lineitem
being added
11/2/97
- Added [break] statement to [Loop] context, which
causes it to stop looping after the current iteration is complete.
- Expermiental: added [WaitForFile filename] context, which waits for a
file to appear before executing its interior WebDNA code.
10/30/97
- Win: Added [ListMIMEHeaders] context
- Win: Added Cookie support for retrieving cookie values set with [ReturnRaw]
10/28/97
- Mac: Added [ListMIMEHeaders] support
- Mac: Added Cookie support for retrieving cookie values set with [ReturnRaw]
- Mac: Began adding PIXO support to plugin
10/23/97
- Win: Added sin() cos() tan() ceil() floor(), etc. functions to [Math] context
that already were available in Mac version (undocumented)
- Win: Fixed path collapsing bug that caused a single database to be considered
as two separate databases because the relative paths were different
10/7/97
- Win: Added [CountChars] and [GetChars] contexts
- Win: changed [ListFiles] context so it doesn't show ".." foldernames
- Win: Added Windows 95 support
10/2/97
- Win: changed meaning of "/" so that file paths beginning with "/"
are stored relative to DBServer.exe rather than C:. This is because NT servers do
not provide enough information to let us know the true virtual root.
- Win: Fixed email sweeper bug that allowed sweeping after main thread was killed
10/1/97
- Mac: Fixed bug that caused the "shopping cart already submitted" error
message to be ignored
- NT: Added [DeleteFile], [MoveFile], [CopyFile] tags.
- Added xxx.hdr support so that databases without fieldnames can be support by
creating a file with extension ".hdr" which does contain the fieldnames
- Mac: Fixed .2d formatting bug that showed up under OS8
- NT: Fixed thread concurrency bug that appears on multi-processor systems under
heavy load
9/14/97
- Mac: Final release of 2.0.1
- Fixed multithreaded [math] context bomb
- Fixed [include] bug that did not automatically propagate cart numbers into the
included file
- Fixed sorting bug that caused multi-field sorts to arrange incorrectly
- Mac: Fixed bug that caused templates with spaces in their filenames to be impossible
to open with the plugin
9/10/97
- Mac: Fixed bug that caused [ListFiles] of an empty folder to incorrectly display
a "Path not found" error message, and later cause searches to lock up the
machine
- Fixed online docs for [date %x] and [date %X]
- Fixed some TeaRoom HTML inconsistencies
9/3/97
- Fixed bug that made non-caching browsers incapable of displaying a shopping cart
with an incorrect credit card number
- $Purchase does not allow negative quantities now
9/2/97
- Mac: Added support for WebTen and virtual hosts (so now URLs leading to templates
inside of different virtual root directories will now display correctly)
- Mac: Added support for Microsoft Personal Web Server
- Added more default character translations for ©, ®, TM
- Mac: Added default ThreadMem preference to give plugins 48K of stack space
- Fixed a long-standing bug that caused intermittent bombs if a database was [Append]-ed
more that 100 times in a row without being closed or flushed.
8/28/97
- Mac: Increased security of emailer application by setting all filetypes to WWWOmega
- NT: Added [AddLineItem] [SetLineItem] [SetHeader] contexts that were left out
in last build
8/27/97
- Mac: Fixed Emailer bug that never got past empty or bad email files
- Added more preferences to AdminPut and AdminGet commands
8/26/97
- Added security preferences to check/disallow displaying template filename extensions
and database filename extensions
- Added new method for specifying search group fields (so that periods and other
non-alpha characters are allowed in fieldnames)
- Fixed [WriteFile] context that did not output text
- Fixed [SendMail] that created incorrect email file format
8/21/97
- Fixed MIME header problem with Mac that caused Status:200 to appear in some browsers
8/1/97-8/13/97
- POST forms can now accept more than 24K (Mac plugin only)
- Added [ReturnRaw] context for custom MIME headers
- Fixed [ListDatabases] bug that displayed "Can't find database" in admin
pages
- Mac: Added stack space increaser for plugin: put ThreadMem 50 into prefs to give
threads 50K stack space (defaults to 32K)
- Added ability to search for an empty field
- Mac: Fixed LModelDirector out of memory bug
- Fixed 255-char limit for embedded search strings
- Forms were limited to 100 fields; increased to unlimited
- Changed "yourdomain.com" to "your domain.com" because owners
of yourdomain.com complained
- Fixed lots of date calculation problems, mostly in delta calcs
- NT: Added MIME header preference to deal with differences between NT servers
- [ShowNext] max parameter works correctly now (and is documented)
7/31/97
- Fixed some HTML linkage problems in GeneralStore and Admin
- Increased length of [ConvertChars] text conversions from 15 to 63 characters
- Fixed bombing bug when you display [textA] in [lineitems] on cart with 0 items
- Added [FlushDatabases] tag
- Added Show=F parameter to [math] context to prevent equation results from being
displayed
7/16/97
- Added Problems and CompletedOrders folder to GeneralStore to help with WebMerchant
prefs for standard place to store those files
5/13/97-6/30/97 (Windows NT phase)
- BIG CHANGE! Moved templates and shopping carts into cgi directory for security.
In order to prevent outsiders from downloading your shopping cart files, we moved
just about everything down into the CGI folder. Web servers won't serve those files
unless there's a suffix mapping (which there isn't). Only WebCatalog can serve those
files now, so they can be password protected
- Changed file extension from .tpl to .tpl for better DOS support
- Added Netscape FastTrack support
- Added true suffix mapping (extension mapping) support so you can put WebDNA in
.htm
- "xx.tpl$search?" now must be "xx.tpl?command=search&"
- Added printed manual and QuickStart
- Modified [Authenticate] to not interfere with native NT password style
- Added virtual host support with [ThisFile] and [ThisURL]
- Installer does all Registry changes automatically
- Added StarNine serial number checking
- Added [referrer] and [ipaddress] support for NT
- Added [returnraw] context that lets you create your own MIME headers (helps with
true URL-redirects)
5/22/97
- fixed bug that caused Merge-format databases to get mixed with tab-delim
- added "Starting Up" message to debug level so you can tell when restarts
happen
5/19/97
- fixed bug that caused relative path to same database to seem like it was a second
database
- added DebugLevel preference to assist in off-site debugging
- fixed NT [URL], [ConvertChars] bugs that generated incorrect text
5/13/97
- fixed thousands separator bug in [Format] that incorrectly appended comma to
end of number
- changed default prefs for WebServerFolder from : to ../
- fixed crash on [Format DaysToDate] (notice missing underscores_)
- [Include] now decodes %20 and + URL encoded parameters
- Configure WebSTAR AppleScript now looks for generic WebSTAR instead of v1.3.1
5/12/97
- fixed bug that caused HTML1, HTML2, HTML3 contexts to not work for plugins (CGI
was OK)
- fixed [SendMail] bug that wrote incorrect file format for Emailer
- updated Browser Info.txt file with newer browsers
5/8/97
- Increased stack space for plug-ins
- Get WebSTAR's default page rather than hard code to "index.html"
5/5/97
- Fixed a bug in setting the path to the preferences for the plug-in (first time)
- Quit command now quits the CGI (flushes databases in plug-in)
- Added a flushdatabases command
- RemoveLineItem context is specified by index in addition to sku (remove command
as well)
- Eliminated hard-coded .tpl for SetSerialNumber and SetPreferencePath forms
- Context/Tag name matching more exact (not just match beginning of string)
- <!HAS_WEBDNA_TAGS> works as well as <!HAS_PCS_TAGS> for comment required
5/2/97
- New contexts/tags for commerce functions: SetHeader, SetLineItem, AddLineItem,
RemoveLineItem, ClearLineItems, Purchase. All commerce functions can accept a "cart="
parameter OR a "file=" parameter (including the OrderFile context) in addition
to other required parameters.
- Preference for the sweep frequency of the shopping cart folder sweeper.
- Preference for the maximum number of templates cached at one time.
- Template cache will automatically reload outdated files.
- WriteFile and AppendFile have an optional "secure" parameter (T or
F) that sets the creator type to 'WWWO' or 'ttxt' respectively. By default (i.e.
"secure" parameter not specified), WriteFile sets the file to 'WWWO' and
AppendFile keeps the existing creator.
- ShowCart command and SetLineItem context check the account number if "CC"
is specified as payMethod and the accountNum is not empty.
- Fixed a bug in the Clear command and ClearLineItems context that caused the total
to not get updated properly.
- Fixed "raw" parameter in the Include tag so that it works properly.
- Include tag can include 'WWWO' protected files.
- "sku" is the only field required to use commerce functions.
- Fixed memory leak when removing items from cart.
- All paths can reference aliased folders or drives.
4/16/97
- Sped up search efficiency inside hidden contexts
4/9/97
- Added date math documentation ([ConvertDate] is no longer needed now that math
performs date calculations using human-readable date formats)
- Added [Loop] context documentation
- Fixed case-sensitive bug in replace context
- Fixed some date math dealing with addition of months and days
4/7/97
- New emailer reduces slowdowns on server when bad connection to POP server
- Fixed [AppendFile] bug that caused garbage filenames to be created
- Increased template parsing speed by 50%-150%
- Fixed [ListFiles] bug that used Mac-style paths instead of URL-relative
- Improved GeneralStore sample templates to handle BillTo/ShipTo, country, email
notification and secure remote order viewing
- Improved GeneralStore Administration templates for editing outgoing emails
4/4/97
- Fixed memory leak in PPC CGI
4/2/97
- Fixed 'creeping template' bug in [ShowNext] contexts
- Fixed URL-encoding of [ShowNext] contexts
4/1/97
- Added native date type to [math] context.
- Improved speed of date sorting
- Fixed bug that caused crash when viewing templates with [lineItems] but no [cart]
- Both plugin and CGI can stop/start EMailer through remote admin now
3/26/97
- Fixed bug in new 40-header shopping cart format bug that caused it to read carts
improperly
- Format context now truncates strings that are longer than the width specifier.
[format 5s]some text[/format] will yield "some ". No longer bombs if string
is longer than 255.
3/24/97
- Added Banner Ads to GeneralStore
- Added Banner Ad Editor to GeneralStore Admin
- Added extra header fields to shopping cart file format (now v1.4). A complete
set of ship-to fields, plus a total of 40 header fields
- Improved speed of date sorting routines
3/21/97
- Fixed bug in [SendMail] context for plugins
- Fixed bug in exception handling for PPC plugin
- Added Security option to preferences that prevents anonymous remote users from
$Append-ing to databases (all $commands can be blocked from anonymous access now).
3/19/97
- Added "Append=T" optional parameter to $Replace and [Replace] so that
if no matching records are found (for replacement) then a new record will be added
with the specified values.
- Added robust low RAM checking for out of memory during database opens
3/16/97
- EmailFolder preference is now relative to WebSTAR folder, so "WebCatalog/EmailFolder/"
is the correct preference for both the plugin and the CGI
- Changed [EMail] to [SendMail] in sample Classifieds site
3/10/97
- [ConvertDate] and [Format date] tested up to year 2039
- [Format thousands] added for putting commas or periods into numbers
- Formulas.db feature added for unhackable price, taxrates, shipcost, unitshipcost
- VISA/AMEX/MC check so you can deny certain cards
- MaxFound preference now works
- RequiredFields optional parameter to all commands
- [CloseDatabase] path bug fixed
- Multiple paths to same database bug fixed
3/5/97
- Fixed bug that couldn't find root-level templates, such as /xx.tpl
- Local shopping cart folders (local to template that displays results of $Add,
$Clear, $Remove $ShowCart, or $Purchase)
- Local shopping cart sweeper clears out old carts every hour (whenever $Add command
is issued)
- Quote-comma delimited database file parser interprets "" correctly
now
- Numeric formatting works with comma separators for decimal point (non-US style,
such as [format 6,2f][math]39/7[/math][/format] yields 7,46 instead of 7.46)
3/3/97
- fixed plugin bug that couldn't find shopping carts folder
- Added Serial Number check and form-based method of entering it when the time
limit runs out
- fixed form method=POST bug in plugin
2/28/97
- Plugins should now work with same URL-style paths as CGI
- Plugin now asks for WebCatalog folder if it can't find it
- Serial# is important now -- if incorrect then WebCatalog reverts to expired demo
2/26/97
- IMPORTANT! Changed all paths to URL-style, so template= db= and [include] all
work as relative paths from the template being displayed. For example, "[include
../xx.tpl]" looks up one folder (from the template being displayed) for the
file.
- Modified GeneralStore and Classifieds samples to use new URL-style paths
2/23/97
- Added max=N parameter to ShowNext context. When set to 1, only one ShowNext hyperlink
will be displayed at a time, rather than all links up to last found item.
- [CloseDatabase db=xx.db] is now equivalent to [CloseDatabase xx.db] because it's
too easy to forget the correct syntax
- [Append db=xx.db] is now equivalent to [Append xx.db] because it's too easy to
forget the correct syntax
2/17/97
- Added [ConvertDate] context for performing complex date calculations
- Added [Format date %m/%d/%y] date formatting ability. The number inside the context
must be the number of seconds since midnight, Jan 1, 1900
2/14/97
- Added [SecureClient]...[/SecureClient] context for backward-compatibility with
WebCatalog 1.6.2
- Added [IsSecureClient] tag to indicate "T" if the remote browser supports
SSL, and "F" if not.
- Added runtime [date] and [time] formats, following extensive ANSI formatting
standards, such as [DATE %m/%d/%y] = 02/19/97 and [DATE %m/%d/%Y] = 02/19/1997
- Added global preference for default date and time formats
- Changed default date format to include century for year (helps prevent millenium
problems)
2/11/97
- Fixed shopping cart date bug.
- Added numeric, date, and time comparisons to search command: if you want a database
field to be treated as a number, then add "FIELDNAMEtype=num" to the search
criteria, as in
$search?template=xx.tpl&PRICEtype=num>PRICEdata=52.95
Similarly, date comparisons look like so:
$search?template=xx.tpl&EXPIREStype=date>EXPIRESdata=6/19/1997
2/8/97
- Fixed several calculation bugs in shopping cart: taxable, shipTotal, etc.
2/4/97
- Added Classified Advertisement sample site
- Fixed parameterized [include] bug
1/31/97
- Added [interpret] context that causes the contained text to be interpreted as
WebCatalog [xxx] tags.
1/29/97
- Quit command actually quits CGI, after writing databases.
- Added more online documentation
1/24/97
- Fixed $purchase bug that caused canEmail, taxable, unitShipCost values to be
lost.
1/22/97
- Added link to online reference in Welcome page
- Added [HTML1], [HTML2], and [HTML3] tags.
- Improved 68K plugin compatibility
- Improved memory usage when running under WebStar 2.0
- Fixed AppleScript bug for plugins under WebStar 2.0
1/22/97
- Added [ISDEMO] tag to show if app is in demo mode
1/21/97
- Fixed 68K CGI [math] context so that doubles calculate correctly
- Added shopping cart folder sweeper that clears out old cart files hourly
1/19/97
- Enhanced database parser so that wrong # of tabs doesn't kill it
- Added frames-based online reference
1/16/97
- Fixed 68K plugin bug that didn't display [THISURL] properly
- Added [IPADDRESS] expansion to plugin versions
1/15/97
- Fixed Append/Replace bug that allowed carriage returns to be written to database
(thus messing up the database format)
- Added [ThisURL] tag to display the path to the current URL (helps with BeyondRealms/SiteEdit
links being created automatically)
- Normalized [ipaddress] so that comparisons work properly: all 4 numbers are 0-preceded,
as in 207.067.003.014
- [showif] and [hideif] now do numeric comparisons if both sides of the equation
are numeric, otherwise text comparison is used. [showif b>a] is text-based (alphabetical)
comparison, [showif 9>19] is numeric (would be wrong if alphabetical).
- Added 68K version of plugin
- Unknown [xxx] tags now display unchanged, rather than "Error: uknown tag"
1/10/97
- Added "begins with" comparison to showif/hideif contexts: [showif Grant~Gr]
reads "show if the text 'Grant' begins with the text 'Gr'". Similar to
^ for "contains".
1/4/97
- Fixed DELETE bug that did not move last record down
- Added [protect group1,group2] context for BeyondRealmsô compatibility
- Added "InterpretAll" preference that turns off [xxx] interpretation
unless the <!WebCatalog> tag is present in a file
- Template Security: files can now be one level outside of WebCatalog2's folder
without needing <!WebCatalog> tag. This allows us to keep the install clean
by having all WebCatalog files neatly tucked inside a folder.
1/2/97
- ADD to cart command now accepts price, quantity, textA-E as additional parameters
(and requires password for price changes)
- Added [email] context for sending emails. Not tested yet. Syntax is [email to=person.com&from=you.com&subject=hello]Body
of email message[/email]
12/28/96
- First draft of documentation
- Added [append db=xxx.db]field1=xxx&field2=yyy[/append] context for adding
new records to a database
- Enhanced template caching mechanism
- Fixed bug that prevented [include] from working when template caching was turned
off
12/17/96
- Added [format]..[/format] context to help format numbers and text, to replace
old-style [price 6.2]
- Added priceField optional parameter to "ADD" command so you can specify
a different field that contains the price information
- Added ErrorMessages.db database that WebCatalog uses to display all errors (to
facilitate language translations)
12/11/96
- Added [input]..[/input] context to replace old-style [INPUTfieldname]
- Added [ raw ]..[ /raw ] context that ignores all WebCatalog commands inside it,
and displays the text literally with no interpretation
- Enhanced [xxx] tag parser to ignore [ xxx ] (notice spaces)
12/10/96
- Added significant error checking for proper parameters, including checking for
existing order/problem/completed files.
- Changed preference file to database format for remote administration
- Significant leak fixes in equation parser and LineItems context
- Fixed [lineItems] bug that tries to display stuff even when no items are in the
cart.
- Changed [URLfieldname] to new-style [url][fieldname][/url] to enhance generality
and prevent name conflicts
- Fixed AppleScript execution bug that could cause bombs
11/30/96
- Added [boldwords WordList] context
- Fixed some method=POST problems
- Added extended error checking for missing templates and parameters
- Added PURCHASE command
11/27/96
- Fixed bug in [foundItems] that always showed all items regardless of max=N
- Added error check to SEARCH command for template or db not found
11/26/96
- Added [ShowNext] context (only valid inside a [search] context or command), like
so:
- [ShowNext]
- <a href="/WebCatalog.acgi$search?[searchString]">Show Items [start]-[end]</a>
- [/ShowNext]
- WebCatalog2.acgi$search command now has an extra parameter max=N that
defines how many records should be displayed at once. Perform a search with template=Test8.tpl
(provided in the Test Templates folder) to see the various uses of [ShowNext].
- Added method=POST compatibility
- Added WebStar plugin version (PPC) of WebCatalog
- Added FileMaker Pro databases that document some features.
11/25/96
- Added [ConvertChars] context that translates curly-quotes to straight quotes,
etc.
- [ConvertChars][text1][/ConvertChars]
11/23/96
11/22/96
- Rebuilt so that WebCatalog2 contains some shared libraries that the rest of the
world doesn't have.
11/21/96
Converting existing databases and commands to WebCatalog2:
WebCatalog2 can open any number of databases (actually 100, but that's a lot),
each of which can have its own field structure. You are no longer limited to a file
called Catalog.txt with 27 fields.
To convert an existing Catalog.txt file, you must put the 27 field names (separated
by tabs) on the very first line of the file (basically record #0 is the names of
the fields). Here is an example of a database with a different field schema:
Contents of AddressList.db file (the .db is a convention only-not necessary):
--------------------------------
name address city state zip
Grant 667 Corte Raquel San Marcos CA 92069
PCS 11770 Bernardo Plaza Court San Diego CA 92128
--------------------------------
Notice that the fields are separate by tabs, as usual, even though it may be hard
to tell by just looking at the lines above using SimpleText.
Because WebCatalog2 deals with more than one database, you must now tell it which
database it is supposed to search when sending it commands, like so:
WebCatalog2.acgi$search?template=results.html&db=AddressList.db&eqnamedata=Grant
Notice that you use the same syntax for searching as always: eqnamedata=Grant
or wocitydata=Diego, but the fieldnames are now determined by you, not us.
[CatalogItems] has been changed to [FoundItems] to reflect the fact that we are dealing
with general databases now, not just catalogs:
[FoundItems]
[name], [address], [city], [state], [zip]<br>
[/FoundItems]
Handling "Show Next xxx..xxx":
WebCatalog2 gives you much greater control over the appearance of the "Show
Next..." hyperlinks. The "N" in [CatalogItems N] has been moved to
the search command, and now you must explicitly decide where you want the "Show
Next" links to appear (WebCatalog 1.x would put them in for you). If you execute
a search command as follows
WebCatalog.acgi$search?db=database.db&template=test.tpl&max=10
...then [FoundItems] will only display 10 items even if more are found.
Here is what the "test.tpl" template should look like:
--------------------------
[FoundItems]
[someField]<br>
[/FoundItems]
[ShowNext]
<a href="WebCatalog.acgi$search?[SearchString]">Show Items [start]-[end]</a><br>
[/ShowNext]
--------------------------
URL and INPUT modifiers:
[URLfieldname] has gone away! Replace it with [url][fieldname][/url]
[INPUTfieldname] has gone away! Replace it with [input][fieldname][/input]
Converting existing sites from WebCatalog 1.6.1 to
2.0
Summary:
- Put field names at the top of your Catalog.txt file
- Add "db=Catalog.txt" to all search, showcart, purchase, append, delete,
replace, add, and remove commands (see #9 below)
- Change [catalogItems 20] to [foundItems] (and add max=20 to search commands)
- Add [shownext] tags
- Change [URLfieldname] to [URL][fieldname][/URL]
- Change [INPUTfieldname] to [INPUT][fieldname][/INPUT]
- Change [float1 6.2] to [FORMAT 6.2f][float1][/FORMAT]
- Change all <!WebCatalog> tags to <!HAS_PCS_TAGS>
- Change all template and db references to URL-style relative paths.
- If you need search logging, insert WebDNA commands into your search results templates
Detail:
1) To convert an existing Catalog.txt file, you must put the 27 field names
(separated by tabs) on the very first line of the file (basically record #0 is the
names of the fields). Copy the following line and paste it into the first line of
your Catalog.txt file:
SKU TITLE DESCRIPTION PRICE TAXABLE CANEMAIL SHIPCOST FLOAT1 FLOAT2 FLOAT3 FLOAT4
FLOAT5 INT1 INT2 INT3 INT4 INT5 TEXT1 TEXT2 TEXT3 TEXT4 TEXT5 TEXT6 TEXT7 TEXT8 TEXT9
TEXT10
2) Because WebCatalog2 deals with more than one database, you must now tell
it which database it is supposed to use when sending it search / showcart / purchase
/ append / delete / replace / add / remove commands, like so:
WebCatalog.acgi$search?template=results.html&db=Catalog.txt&max=20&eqdescriptiondata=Grant
3) [CatalogItems] has been changed to [FoundItems] to reflect the fact that
we are dealing with general databases now, not just catalogs:
[FoundItems]
[sku], [title], [description]<br>
[/FoundItems]
The old way of specifying a maximum number of returned records [catalogItems 20]
has changed so that you must put "max=20" into the search command itself,
as in:
WebCatalog.acgi$search?template=results.html&db=Catalog.txt&max=20&eqdescriptiondata=Grant
4) WebCatalog2 gives you much greater control over the appearance of the "Show
Next..." hyperlinks. The "N" in [CatalogItems N] has been moved to
the search command, and now you must explicitly decide where you want the "Show
Next" links to appear (WebCatalog 1.x would put them in for you). If you execute
a search command as follows
WebCatalog.acgi$search?db=database.db&template=test.tpl&max=10
...then [FoundItems] will only display 10 items even if more are found.
Here is what the "test.tpl" template should look like:
--------------------------
[FoundItems]
[someField]<br>
[/FoundItems]
[ShowNext]
<a href="WebCatalog.acgi$search?[SearchString]">Show Items [start]-[end]</a><br>
[/ShowNext]
--------------------------
5) [URLfieldname] has gone away! Replace it with [url][fieldname][/url], as
in [url][sku][/url]. This more-general approach gives you the flexibility of 'URL-izing'
anything, so [url]hello there[/url] becomes "hello%20there"
6) [INPUTfieldname] has gone away! Replace it with [input][fieldname][/input],
as in [input][description][/input]
7) The old-style numeric format has changed, so [grandTotal 6.2] becomes [format
6.2f][grandTotal][/format]. This more-general approach gives you the flexibility
of formatting anything, so [format 6.2f]12[/format] becomes " 12.00"
8) If you are using <!WebCatalog> to mark files that are allowed to
be viewed outside the WebStar folder hierarchy, you need to change them to the more
general <!HAS_PCS_TAGS>. If you do not, then WebCatalog will tell you that
you that the file is not allowed to be viewed.
9) Databases and templates are now specified URL-relative to the template
being displayed. In WebCatalog 1.6.1, you specified templates using Macintosh paths
relative to WebCatalog.acgi (template=::hello.html looked "up" one folder
from WebCatalog.acgi to find the file). Now you specify templates the same way you
would in standard HTML, relative to the template you are looking at (template=../hello.html
looks "up" one folder from the template being displayed).
10) Because WebCatalog can open arbitrary databases now, it doesn't know what
searches are important for you to store in its log file. Using WebDNA commands it
is very easy to add your own custom log information every time someone searches a
database. Just insert something like the following into your search results template:
[AppendFile WebCatalog.log][date] [time] [command] [SearchField]
[/AppendFile]