MiniVend Akopia Services

[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date ][Minivend by thread ]

Release of MiniVend 3.12



******    message to minivend-users from mikeh@minivend.com     ******


                  W H A T ' S   N E W 

MiniVend 3.12 is a major release with multiple new features,
particularly in the area of user access control.

New features: 

    * Major rework of the "simple" demo. (The HTML in that demo
      was circa 1995 when the first work on MiniVend was done.)
      Made it into the cookie-cutter style favored today, and
      combined frames/non-frames demo.

    * Added a new demo, "flycat". Documentation is sparse, will
      remain sparse, and is totally located in the README.flycat
      page.

    * Rolled the former demonstration add-on feature UserDB.pm
      into the main distribution. Added a [userdb ....] tag which
      performs operations like login, logout, password change, etc.

    * UserDB is now completely documented. It has many new 
      features.

    * Added four types of access control based on User database
      login. The preferred method uses a .access_gate file to specify
      per-page access -- this is demonstrated in the demo with the
      [page reconfig/reconfig] page and is completely documented.
      Another simple method allows checking of page names before loading;
      a db_acl allows checking for read/write permission on a database;
      and a file_acl allows read/write checking on file names. The two
      latter ones are only enforced by your own programs; the simple
      integrated method can be automatic.

    * CookieLogin directive allows you to set a cookie with the
      username and password of a user for auto-login. 

    * [set-cookie name value expire] and [read-cookie name] tags added.

    * Added a feature I have been thinking about for a long time -- 
      form-linked page refs. If you want to order an item with configurable
      size/color by a link, you can now do:

        [page form="
                mv_order_item=99-102
                mv_order_size=L
                mv_order_quantity=1
                mv_separate_items=1
                mv_todo=refresh"] Order t-shirt in Large size </A>

      It was so simple to add I don't know why I didn't before now.

      You must have TolerateGet set (which is now the default) and
      all normal MiniVend form caveats apply -- you must have an action,
      you must supply a page if you don't want to go to the default,
      etc.

      You can theoretically submit any form with this; it is best
      if none of the included values have newlines. You can also
      use it for submitting foreign forms if you like; it will
      not touch the href if it begins with http:, ftp:, or the
      like.

      The [area ...] tag works the same way, though the deprecated
      [pagetarget ....] and [areatarget ...] were left out.

    * Added user-definable fields and command scripts to the command-line
      makecat procedure.

    * Added rudimentary documentation on building your own catalog
      template.

    * Added [import table type] tag for importing database
      records. Supports all types including NOTES, the best mode to
      use for inline text. Also supports import directly from a file.

    * Glimpse now fully supports coordinated searching, though
      you must make sure you have at least one regular-expression
      based match.

    * Added support for file upload/download. A demonstration is
      included in the simple demo.

    * [sql-param ...] and [item-param ...] now both support named
      fields.

    * Totally removed support for the old Msql.pm module. If you
      still use this, use an older version or update to DBI.

    * You can set an UPPERCASE parameter in the Database directive:

        Database   products   UPPERCASE  1

      You want to apply this to SQL only.

      This allows lowercase field references in [item-field column]
      and [item-data table column] (and sql- and loop- too). This
      should make it easier to get things working with Oracle
      and other DBs which won't return a lowercase field name for
      fetchrow_hashref. Note that this is not used in [item-param
      field] where you should know what the name is.

    * There is an [if-param name] and [if-sql-param name] tag
      ala [if-field ...] and [if-data ...].

    * Added a [value-extended ...] tag which allows access to 
      the array values of a form variable.

    * In my continuing quest to get people to use the UserTag
      capability, provided a few new ones in the demos -- notably
      a summary tag that is employed to total shipping weight in
      the demo, and a [table-font] [/table-font] tag which removes
      the onerous chore of setting a default font for every table
      cell.

    * Added multi-field searching for the coordinated search.
      You may pass a field like ":0..9" and have it search
      fields 0 through 9 for that search term only.

    * Added [next-anchor], [prev-anchor], and [page-anchor] container
      tags for complete configurability of [more-list][/more-list] 
      area. This also closes complaints about no spacing between
      Previous and first page; prior behavior kept for compatibility.

    * Added a Storable interface selectable at software
      configuration time. If Storable is installed, and the
      file _db_storable is present in the MiniVend software root,
      (or the environment variable MINIVEND_STORABLE_DB is true)
      then Storable will be used not only for sessions but for
      all GDBM and DB_File storage. THIS BREAKS EXISTING CATALOGS.
      If you want to use Storable only for sessions, just set
      the environment variable $ENV{MINIVEND_STORABLE} to 1 as usual.
      You can also create a _session_storable file in the MiniVend root.

    * Verified the DBI interface to work with DBD::XBase (subject
      to the usual limitations like fieldname length), which
      allows XBASE/DBF files to be used directly. This is probably
      not useful for anything except an import interface; something
      like:

        [tag export products_dbf products.asc TAB][/tag]

      This would allow a user to upload a DBF file and
      then import that into a standard TAB-delimited.

    * Added a perhaps more convenient Locale language facility,
      which looks like:

        [LC] This is the default text
                [de_DE] Text for de_DE locale [/de_DE]
                [en_US] Text for en_US locale [/en_US]
                [fr_FR] Text for fr_FR locale [/fr_FR]
        [/LC]

Bugs fixed:

    * [setlocale] currency and persist parameters were
      swapped; fixed.

    * Multiple selection checks that contained non-word characters
      would not be re-selected upon building an item-accessories
      box. Fixed.

    * Memory databases were getting imported too often, fixed
      bug in database initalization routines.

    * Fixed ownership problems in the mv_admin catalog; the
      installation should work flawlessly as root providing parent
      directories have the proper permission.

    * Due to persistent Perl problems with signal handling, the
      default demo is now distributed with PIDcheck enabled.
      New behavior when PIDcheck is in force is to reset the
      number of active servers based on the presence of PID files,
      while still rate-limiting to MaxServers iterations between
      housekeeping checks. The SafeSignals directive is deleted
      (it will generate a deprecated warning but allow startup
      to continue).

      This problem would occasionally cause busy servers to
      "freeze" as they reached and failed to go below the MaxServers 
      level.

      If the PIDcheck directive is set, the number of servers will
      be automatically adjusted every HouseKeeping seconds according
      to the pid files.  The recommended value for PIDcheck is now
      180-600 seconds; the demos will come set to 300.

    * Fixed "bad search column" error when searching the first
      column of the products file or key column of a file.

    * Fixed security hole allowing user-specification of absolute
      search file names.

    * Fixed error with CyberCash number formatting when 
      using a non-english number format (i.e. spaces and
      commas in non-english places).

    * mv_sort_field works even without mv_sort_command.

    * Indexing works for Windows.

-- 
Mike Heins                          http://www.minivend.com/  ___ 
                                    Internet Robotics        |_ _|____
                                    131 Willow Lane, Floor 2  | ||  _ \
It's a little-known fact            Oxford, OH  45056         | || |_) |
that the Y1K problem caused         <mikeh@minivend.com>     |___|  _ <
the Dark Ages. -- unknown           513.523.7621 FAX 7501        |_| \_\
-
To unsubscribe from the list, DO NOT REPLY to this message.  Instead, send
email with 'UNSUBSCRIBE minivend-users' in the body to Majordomo@minivend.com.
Archive of past messages: http://www.minivend.com/minivend/minivend-list


Search for: Match: Format: Sort by: