W H A T ' S N E W MiniVend 3.09 is a release that optimizes speed and adds features that allow operation with some HTML editors. * SQL optimizations make dramatic differences in table construction speed. MiniVend now uses internal structures to maintain SQL column headings. This means that if you change your SQL table structure, you must restart Minivend, but you gain quite a bit of speed. [if-data]/[item-data], [(if-)?loop-data], and [(if-)?sql-data] tags are optimized across rows in the corresponding iterative list. This means that two selects are done where dozens might have been done before. Speed really increases. This optimization works for [if-field]/[item-field] and friends as well if there is only one products table (i.e. you didn't set ProductFiles). If you have more than one, you should use [item-data products ...] instead of [item-field ...] for best speed when appropriate. * To improve page response time, you can specify a SEND=1 attribute to any new-syntax MiniVend tag -- it sends the output that has accumulated to that point. If you have named your link program to begin with nph- (i.e. nph-simple instead of simple) the program will start sending output immediately. This can greatly improve apparent response time on large search or loop lists. The nph-executable can also be optionally used with an alias: Catalog simple /catalogs/simple /cgi-bin/simple /cgi-bin/nph-simple If you reduce your vlink buffer size to 512 bytes, this will improve likelihood of immediate response at some cost in CPU utilization. (This change requires editing vlink.c and compiling -- don't worry about it if you don't know how to do that.) * Search cache is *much* improved. Paging and caching should now be completely reliable. If the user hits reload, it will refresh the page, as Pragma: no-cache is honored. Search paging is cached as well. You can invalidate the cache for the next page only with [set mv_no_cache]1[/set]. * You can encase a set of links in: [set mv_no_count]1[/set] [page whatever]A page[/page] [page whereever]Also a page[/page] [set mv_no_count]0[/set] The link count will be updated but not appended, making links repeatable. This allows the browser to highlight visited links, especially nice for paged searches. * The last search can be reproduced with the [data session last_search] via [page href="[data session last_search]"]. This includes links to different pages of a multi-page search return. * If you don't have the MD5 module for some reason (get it!) MV does some better cache key generation with checksums, reducing the likelihood of a collision. * Fixed spurious "ClearCache" error at startup. * MiniVend tags can now be contained within HTML tags, allowing MV to work somewhat with most any HTML editor. The problem before was that tags could not be placed between table rows with certain HTML editors (like FrontPage and Netscape Composer). It is triggered by including MV="tag arg arg.." as the *first* attribute of the HTML tag. (Actually it can be later in the tag if no ] or > characters intervene.) For example:
[loop-field title] [loop-code]
will display: Sunflowers 00-341 The Starry Night 00-342 Arguments can be combined with tags if there is whitespace in the first mv="tag arg.." call:
[loop-code] row
will display: 1 row 2 row 3 row There are some differences in operations depending on the tag -- for instance, will replace the instance of HREF with its own HREF. This allows hrefs to work both for static HTML and MiniVend pages. Also, will pair with the matching , but also "look ahead" for an [elsif ...] and [else] in the next table rows (or tag set -- could be
  • , etc). The
     
    combination will work for cognitively-challenged HTML editors like Netscape Composer -- it will retranslate the entities that it auto-translates. And you can use -- Netscape and Microsoft editors won't auto-delete those when they read the file. ( I really have learned to hate Netscape Composer during the testing of this -- when loading a page, it deletes many things it doesn't understand, without asking or even *telling* you. Sheesh. Microsoft FrontPage, much to my surprise, is much better -- it allows you to add extended attributes keeps them in the tag. There might be hope for it yet. In fact, look for me to add a "MiniVend" menu for the FrontPage editor in the release.) A special case comes with