[interchange-cvs] interchange - heins modified WHATSNEW

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Thu Sep 19 14:45:01 2002


User:      heins
Date:      2002-09-19 18:44:10 GMT
Modified:  .        WHATSNEW
Log:
* Add in notations for the recent changes.

Revision  Changes    Path
2.40      +313 -8    interchange/WHATSNEW


rev 2.40, prev_rev 2.39
Index: WHATSNEW
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/WHATSNEW,v
retrieving revision 2.39
retrieving revision 2.40
diff -u -r2.39 -r2.40
--- WHATSNEW	8 Sep 2002 16:35:02 -0000	2.39
+++ WHATSNEW	19 Sep 2002 18:44:10 -0000	2.40
@@ -12,6 +12,14 @@
 Core
 ----
=20
+* The interchange script is now only used for configuration and
+  options. All code that previously resided there (notably the
+  dispatch(), respond(), update_data(), and do_order() routines)
+  has been relocated. Code that calls ::update_data, etc. should
+  NOT break, because we still use the modules in the script.
+  This caused the addition of Vend::Dispatch to hold many of
+  the routines.
+
 * Added new [deliver ....] tag that allows you to deliver some content
   without worrying about [tag op=3Dheader] and page spacing issues. Adds=
=20
   new global variable $Vend::Sent which is authoritative notification
@@ -25,6 +33,110 @@
=20
   From a suggestion by Dan <ic@concolor.org>.
=20
+* Add new [menu ...] tag which can build simple, tree, and flyout
+  menus from a menu specification. See the UI.
+
+* Add robot tolerance facility, where mv_tmp_session is set when either
+  a RobotUA or RobotIP wildcard matches.
+
+  In interchange.cfg:
+
+      RobotUA   Inktomi, Scooter, Site*Sucker
+      RobotIP   209.135.65, 64.172.5
+
+  After that, it is all automatic. mv_tmp_session gets set to one, the
+  Scratch values mv_no_session_id and mv_no_count are set to one, and
+  normal pages don't get IDs put out by area.
+
+  What this will do for the user:
+
+        1. Allow those UAs to follow a URL.
+        2. Prevent useless session files from cluttering disk
+        3. Prevent session writes from inhibiting disk performance.
+
+* Add the oft-requested DirectoryIndex feature.
+
+* Add new content management features. This allows Interchange to:
+
+    -- Accept Apache error redirects, i.e. handle 404 errors
+    -- Initially process page, process page after variables, and
+       process page before image substitution with configurable subroutines
+    -- Take puts for DAV-style publishing
+
+*   New "AcceptRedirect" directive. If "Yes", will look for REDIRECT_URL,
+    REDIRECT_QUERY_STRING, etc. and use those to provide the request.
+
+    This allows:
+
+        ErrorDocument 404 /cgi-bin/foundation
+
+    At that point, a request for /index.html that is not found will
+    be equivalent to /cgi-bin/foundation/index.html and will be
+    indistinguishable from the real page by the client.
+
+*   New Pragmas init_page, pre_page, post_page, which specify
+    Sub/GlobalSub routines to run at various points in page build.
+
+    init_page     Run before Variable substitution
+    pre_page      Run after Variable substitution, before interpolation
+    post_page     Run before Image substitution
+
+* Allow PUT operations. Add
+
+    [value-extended test=3Disput]       Check for a PUT
+    [value-extended put_contents=3D1]   Return PUT string
+    [value-extended put_ref=3D1]        Return ref to PUT string (scalar)
+
+  Some more DAV-type features can be done, I think, but they are not yet
+  scoped.
+
+* Remove min_string test from Search.pm, where it never really was used
+  or called due to mv_min_string default being 0.
+
+* Place mv_min_string check back in Glimpse where it was intended in the f=
irst
+  place.
+
+* Convert Mac line endings to Unix (as well as DOS).
+
+* Add "future" profile comparator so that you can do:
+
+    appointment_date=3Dfuture 1 day "Sorry, we need some lead time."
+
+  That allows you to check that a date value (ala the date widget) is
+  in the future.
+
+* Enhance unique profile check to allow specification of a foreign key
+  for uniqueness check.
+
+* Finally discovered what is going on with GPG and errors.
+
+  -- If PGP fails due to a system problem, like out of memory or
+     bad file permissions, it fails with a status that will cause
+     a real error which is in the lower 8 bits.
+
+  -- If PGP fails due to an internal problem like "key not found",
+     or no secret key ring, it will fail with system status set to
+     zero but the upper level status indicating its problem.
+
+     So a failed key will turn up as "File not found" in the
+     upper order bits, while a key *ring* not found will fail
+     with the same error in the lower status bits.
+
+  This patch is temporary, and at least tells you what $! is. I will
+  examine GPG's error messages and provide some simple ones like "key
+  not on keyring" and catch them to provide a better error.
+
+* Add general multiple-table update feature to Vend::Data::update_data.
+
+* Allow authoritative table name for constructed queries. Usage:
+
+    my $db =3D database_exists_ref($table);
+    my $tname =3D $db->name();
+
+    my $query =3D "select * from $tname";
+    $db->query($query);
+
+  This should allow REAL_NAME many more places.
=20
 Payment
 -------
@@ -33,12 +145,180 @@
   their site's interaction with the Interchange Payment system, without
   actually being connected to a real Payment Services Provider.=20
=20
+Foundation
+----------
+
+* Add several different color schemes instead of only the Foundation Red.
+  "blueyellow" is the new default.
+
+* Change logos and such to reflect ICDEVGROUP instead of Red Hat.
+
+* Add product_tree and product_flyout components to work with new
+  menu editor.
+
+* Change checkout display to work easier for DHTML browsers, old
+  browsers should see much the same thing.
+
+* Change order profiles and etc/log_transaction to do a more reliable
+  job of order checking. If your database has transactions (i.e. Postgres),
+  a failure in the log_transaction can cause a failure of the order.
=20
 UserTags
 --------
=20
 * [xml-generator] removed.
=20
+* [tabbed-display] tag added.=20
+
+* [history-scan ...] now escapes form parameters properly.
+
+* Add [jsq] [/jsq] .. and [jsqn] [/jsqn] tags that build properly
+  JavaScript strings (jsq with variable substitution, jsqn without).
+
+* Add [tabbed-display] tag that shows DHTML tabbed panels.
+
+        [tabbed-display OPTIONS]
+            [tabbed-panel The title of one]
+            The contents of one
+            [/tabbed-panel]
+            [tabbed-panel The titel of two]
+            The contents of two
+            [/tabbed-panel]
+        [/tabbed-display]
+
+  It is pretty much that simple. It is documented.
+
+* [table-editor ...] tag starts extensive rework. Added tabbed displays,
+  with eventual full templating of the display.
+
+* Many minor changes in metadata and preferences.
+
+UI
+----
+
+* Extensive update to look and feel of the admin UI. The HTML design was
+  done by David and Hamish, core members from Zeald, Ltd. in New Zealand.
+  There are no more BGCOLOR references, and only a couple of <font ..>
+  tags. All has been switched to CSS.
+
+* Remove icmenu database. That work now done by lib/UI/pages/include/menus=
/*.
+
+* Major update to [table-editor ...] which so much of the UI is based
+  around.=20
+
+    -- Tabbed displays
+    -- Insert spreadsheet linked via foreign key
+    -- Control over styles and classes for table columns
+
+* Add the suggested feature from Dan Browning -- a great idea --
+  a spreadsheet of a linked table within the table editor.
+
+  Adds the options:
+
+    link_table               Table to link in
+
+    link_key                 Key field to link to
+
+    link_fields              Columns to display
+
+    link_sort                How to order the linked rows
+                             (probably should add link_query here)
+
+    link_view                The view for spreasheet meta
+
+    link_label               How to label the thing (default
+                             is something like "Settings in
+                             link_table linked by link_key"
+
+    link_before              Where to plop the thing, input
+                             a column name in the main table to
+                             put it before
+
+    link_extra               Class, style, or other data for
+                             the table cells in the spreadsheet
+
+
+   To make it even better, multiple link tables are allowed,
+   so you could do:
+
+       [table-editor
+            link-table.0=3Doptions
+            link-table.1=3Dpricing
+            link-key.0=3Dsku
+            link-key.1=3Dprice_group
+        ]
+
+   To test, try this little test-snippet in a default foundation
+   from the latest CVS.
+
+    [table-editor
+        table=3Dproducts
+        item_id=3D"os28004"
+        link-table=3Doptions
+        link-key=3Dsku
+        link-fields=3D"sku price description"
+        link-sort=3D"price desc"
+        link-before=3D"weight"
+    ]
+
+* Complete rework of content editor. Improvements too many to name.
+
+    - "Edit page", "Edit menu", even "edit component" links are inserted w=
hen
+      you are logged in as admin.
+
+    - Complete cleanup of page/template/component parsing code, now perhaps
+      someone besides Mike could understand it. 8-)
+
+    - File navigator only now used for pages, not for templates/components,
+      retains context.
+
+    - Hooks are there for doing an entire edit session then pushing new co=
ntent all
+      at once. Theoreticially, you could create an entire new site, browse=
 it
+      and test it without the public seeing it, and then push one button to
+      publish it all. I say theoretically because I haven't done it yet, b=
ut
+      it should be there soon.
+
+    - Preview now holds true for browsing catalog.
+
+    - Now can create and edit pages that have no template wrapper.
+
+    - Add page to clone (push) sets of components to like sets of pages, i=
e.
+      edit one to get the components like you want them and then select the
+      pages that that setup should be copied to.
+
+    - Closed all Bugzillas relating to it.
+       -- New pages not creating properly
+       -- Unable to edit in subdirectories
+       -- Templates not written properly
+
+    - TODO:
+
+        -- Allow alternate DSN for staging database tables.
+        -- Document this puppy, finally.
+        -- Change templates so that left-side/right-side components interc=
hange,
+           and so that most class=3Dcontent components can go vertical.
+        -- Vet the new [menu][/menu] component so that left-hand side
+           menu can be directory/location sensitive.
+        -- Build in the "use the index.html page in the current directory
+           as the template" functionality.
+=20
+* Improve spreadsheet.
+
+    -- Any meta widget can be used.
+    -- No possiblity of data crossover with embedded nulls.
+    -- Remove need for "Change display" with improved meta edit (will
+       add temporary view selector soon).
+    -- Better display (I think).
+    -- Better consistency of display for data and new record, etc.
+    -- Fields can use meta, go to textarea, have text field all selectable
+       from spreadsheet meta control.
+
+* Add cheesy mail list manager, a common thing to ask. Supported by unsubs=
cribe
+  function and a batch download mode for large mailings....probably should
+  create some online help.
+
+* Many, many, minor bug fixes and improvements.
+
 --------------------------------------------------------------------------=
----
=20
=20
@@ -58,10 +338,10 @@
     to deal with HTTP.
   - Use $Vend::Cfg->{Cron} for setup.
   - Emails either to command line address or $Vend::Cfg->{Cron}{email}
-	(only if the cron job supplies output). Uses the $Vend::Cfg->{Cron}
-	variables subject, from, reply_to and extra_headers.
+    (only if the cron job supplies output). Uses the $Vend::Cfg->{Cron}
+    variables subject, from, reply_to and extra_headers.
   - Logs to $Vend::Cfg->{Cron}{log}
-	(only if the cron job supplies output).
+    (only if the cron job supplies output).
   - Can add session dump when $Vend::Cfg->{Cron}{add_session}.
   - Base directory set by $Vend::Cfg->{Cron}{base_directory}, defaults
     to etc/cron. If $Vend::Cfg->{Cron}{use_global} is set,=20
@@ -72,6 +352,9 @@
 * Add First and Last links to more-list, with ability to customize via
   [first-anchor] and [last-anchor] containers.
=20
+* Bye bye Wizard. Suggest anyone who wants it resurrect it and
+  make it work properly...
+
 * Add new menu editor and menu system. It is based around Vend::Menu
   and the new tag [menu ...], which builds various types of DHTMl and
   standard HTML menus based on browser type.
@@ -178,6 +461,28 @@
=20=20=20
   - Accompanying documentation.
=20
+Utilities/EG
+-------------
+
+* eg/te -- jon's great tabbed file editor.
+
+    Add some new options:
+
+    -f to handle files without field names on first line of file.
+    -n to number rows in comments.
+
+    -s for starting value support (really only vi).
+
+        te -s os28004 <file>
+
+        Jumps to first occurrence of "os28004" in <file>. Option -i ignore=
s case
+        in the search.
+
+    Allow setting of persistent options in environment variable TE_OPTIONS.
+
+    Handle -i and -s with mixed-case search term (lowercase it first).
+
+    Don't escape " in search term, as it doesn't seem special.
=20
 Payment
 -------
@@ -291,15 +596,15 @@
=20
  -When the following configuration is added:
=20
-  	Database products HIDE_FIELD inactive
+    Database products HIDE_FIELD inactive
=20
  -It adds automatically the qualification to every search:
=20
-  	WHERE inactive !=3D 1
+    WHERE inactive !=3D 1
=20
  -To use, you should have a field of char(1) or int type.
=20
-	Database products COLUMN_DEF "inactive=3Dint default 0"
+    Database products COLUMN_DEF "inactive=3Dint default 0"
=20
  -This has the side-effect of hiding fields with NULL in the
   field, so be careful. You should probably set "default 0"
@@ -406,9 +711,9 @@
     3. Safe evals session string
     4. Retrieves session username/admin info
=20
-	[su create_user=3D1 username=3Dbobby password=3Dhowdy verify=3Dhowdy]
+    [su create_user=3D1 username=3Dbobby password=3Dhowdy verify=3Dhowdy]
=20
-	Allows combined creation of new user and switching to that user.=20
+    Allows combined creation of new user and switching to that user.=20
     Any options you would pass to userdb tag can be given to su usertag,=
=20
     to tweak account creation. If user already exists, it's silently switc=
hed to.
=20