Switch branches/tags
Commits on May 18, 2008
  1. * Remove NOT NULL constraint for Postgres userdb table and allow

    docelic committed May 18, 2008
      Postgres setups to work correctly out of the box.
  2. Fix regression in composite primary key DBI module.

    jonjensen committed May 18, 2008
    Unit test 154 broke due to a hashref being modified directly instead of
    Also note incompatible change in UPGRADE document.
Commits on May 17, 2008
  1. Update copyright year.

    jonjensen committed May 17, 2008
  2. Standardize indents for commented debug statements.

    jonjensen committed May 17, 2008
    Disable error log output for normal searches.
    Clarify origin of module.
Commits on May 15, 2008
  1. fix package name

    racke committed May 15, 2008
  2. new upstream release

    racke committed May 15, 2008
Commits on May 14, 2008
  1. * Remove QueryUPS shipping options from standard catalog, allow

    perusionmike committed May 14, 2008
      the module to be missing.
Commits on May 13, 2008
  1. Change syntax for option to use custom SQL as a counter.

    jonjensen committed May 13, 2008
    Resolves syntax conflict with MySQL pseudo-counters:
    Syntax is now:
        dbname:SELECT function_name(args)
  2. Optimize empty [perl] blocks.

    jonjensen committed May 13, 2008
    Skip costly eval of code entirely if perl tag was called with no code,
    as is often done for the side-effect of opening database handles.
Commits on May 12, 2008
Commits on May 11, 2008
  1. * Make MySQL do right thing with mod_time by setting to PREFER_NULL and

    perusionmike committed May 11, 2008
      making the widget in the table editor be 'value'.
Commits on May 10, 2008
  1. * Make date widget formatting shorthand apply to time widget as well.

    perusionmike committed May 10, 2008
    * User widgets called time* are unaffected if they don't use a non-word
      character in the callout.
    * Examples:
    		time.ampm    { type => 'time', ampm => 1 }
    		time.blank   { type => 'time', blank => 1 }
            time.8-23    { type => 'time', start_hour => 8, end_hour => 23 }
            time.half    { type => 'time', minutes => 'half_hourly' }
  2. * Add type_empty parameter to table editor. This allows the selection…

    perusionmike committed May 10, 2008
    … of a
      different widget type if the length of the data is zero.
      Found on the extended page of the meta editor for the field.
      An example of use would be a "created" field in a table, which is a
      DATETIME type. If the value of the field is the empty string or NULL,
      set type_empty to "datetime" to put a date widget in. Make the normal
      widget type be "value", which allows you to just display the data when
      the value is already set.
Commits on May 7, 2008
  1. Add new iclint tool for checking ITL syntax (roughly).

    jonjensen committed May 7, 2008
    By Greg Sabino Mullane.
Commits on May 6, 2008
  1. * Added commented-out description and pragma usage for new dml pragma

    msjohns1 committed May 6, 2008
      in catalog.cfg from Mike.
    * Removed the option available in some polymorphs of set_slice that allowed
      key/value pairs to be passed in as a simple array.
  2. * Add back in as a static distributed module. Since it

    perusionmike committed May 6, 2008
      is no longer updated, this should be riskfree.
      Long term look at switching to another format, since all this is
      used for is setting defaults for MakeCat.
Commits on May 5, 2008
  1. Switch logic to check for success rather than many possible failures.

    jonjensen committed May 5, 2008
    (From Greg Sabino Mullane.)
  2. Extend set_slice() to allow control of upsert behavior.

    msjohns1 committed May 5, 2008
    Calls to set_slice() are forced to use the upsert model of data
    manipulation.  This can be a highly desirable editing model, but it also
    has disadvantages, particularly in the context of the 'set' and 'autoset'
    form actions, which imply--but don't enforce--a distinction between
    insert and update at the data-storage level.
    The effects on insert can be particularly insidious, where one faces
    having the assumed behavior on duplicate primary keys thwarted by a
    surreptitious conversion to a SQL update. In such an instance, instead of
    existing data being protected by a duplicate PK error, the extant record
    is replaced by the data from the insert. Detecting this condition,
    particularly on a large table, is virtually impossible.
    While the results of an update-to-insert adjustment are more benign, it
    still presents a nuisance if a strict update is intended. To correct it,
    one merely needs to delete the newly created, unanticipated row, and such
    behavior does not destroy existing data.
    To enforce update or insert, set_slice()'s $key arg can be optionally
    passed as an array ref, essentially replacing the existing call:
      set_slice([$opt, $key],$fary,$vary)
    where $opt->{dml} is set to the desired value. $opt as a hash ref is
    used so that any possible future opt-style params can simply be loaded
    into the existing calling structure.
    Change details:
    * Default behavior for set_slice() is 'upsert'. If you do nothing to
      your code or catalog, the behavior remains unchanged.
    * $opt->{dml} can be 'insert', 'update', or anything else. If it's
      anything else, it has no specific behavior currently. It defaults the
      value 'upsert' just to be somewhat self-documenting and open up the
      possibility of behaviors based on that value in the future.
    * Despite the decision to key it off of 'dml', this has no effect on
      deletes. Deletes have no ambiguous behavior, reflected in the fact that
      deletes have their own dedicated method.
    * Change only has core impact when processing requests through
      Vend::Data::update_data(). However, any direct calls to set_slice() may
      avail themselves of the new feature simply by overloading the $key arg
      in the same fashion.
    * Behavior of Vend::Data::update_data() can be in three modes,
      controllable by the new 'dml' pragma.
      + No pragma setting works in current mode, with upsert behavior.
      + Pragma 'dml=preserve' restricts inserts to insert-only, but allows
        the fall-through behavior from update to insert. As the name preserve
        implies, it means no existing data can be clobbered.
        The advantage to preserve is the easy use of set_slice() as a
        record-cloning operation. In the table editor, one can clone a
        record by simply changing the PK. Without this behavior, one must
        completely re-enter existing data to the new key's name to clone.
      + Pragma 'dml=strict' forces update or insert to only perform the
        requested action.
Commits on Apr 30, 2008
  1. * Make the existing simple html2text filter to also strip

    docelic committed Apr 30, 2008
      italic, bold and underline from input
Commits on Apr 28, 2008
  1. Release text changes:

    jonjensen committed Apr 28, 2008
    * Update minimum Perl version required note to 5.8.0.
    * Update credits: Show icdevgroup people only once; add missing icdevgroup
    people; streamline acknowledgements to reflect many years of icdevgroup
    maintenance. (Stefan, feel free to revert my paragraph removal if you like.
    It seems appropriate, but if you disagree that's fine.)
  2. Add eg/check_perl_itl by Greg Sabino Mullane, for syntax-checking ITL…

    jonjensen committed Apr 28, 2008
    … [perl] and [calc] blocks.
    Update MANIFEST, add expected 5.5.2 beta release date of tomorrow.