Commits on May 18, 2008
  1. This commit was manufactured by cvs2svn to create branch

    cvs2svn committed May 18, 2008
  2. * Remove NOT NULL constraint for Postgres userdb table and allow

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

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

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

    Disable error log output for normal searches.
    Clarify origin of module.
    jonjensen committed May 17, 2008
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

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

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

    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.
    jonjensen committed May 13, 2008
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

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

    * 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' }
    perusionmike committed May 10, 2008
  2. * Add type_empty parameter to table editor. This allows the selection…

    … 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.
    perusionmike committed May 10, 2008
Commits on May 7, 2008
  1. Add new iclint tool for checking ITL syntax (roughly).

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

      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.
    msjohns1 committed May 6, 2008
  2. * Add back in as a static distributed module. Since it

      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.
    perusionmike committed May 6, 2008
Commits on May 5, 2008
  1. Switch logic to check for success rather than many possible failures.

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

    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.
    msjohns1 committed May 5, 2008
Commits on Apr 30, 2008
  1. * Make the existing simple html2text filter to also strip

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

    * 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.)
    jonjensen committed Apr 28, 2008