Changes files etc. for recent tweaks.
[cql-java-moved-to-github.git] / Changes
diff --git a/Changes b/Changes
index 6d7f3fa..e20ba63 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,17 +1,74 @@
-$Id: Changes,v 1.8 2002-11-14 22:04:16 mike Exp $
+$Id: Changes,v 1.28 2002-12-12 15:03:50 mike Exp $
 
-Revision history for "cql-java"
+Revision history for the CQL-Java package.
 See the bottom of this file for a list of things still to do.
 
-0.3  (IN PROGRESS)
+0.5  (IN PROGRESS, currently at RC2)
+       - Add an extra back-end method,
+               byte[] toType1BER(Properties config)
+         which generates an opaque BER-encoded PDU suitable for
+         forwarding to Z39.50 server as a pasrt of a searchRequest
+         APDU.  This was contributed by Ralph Levan <levan@oclc.org>
+       - Add srw.resultSet support to the toPFQ() method.
+       - Add new resultSetName() method to CQLNode and its
+         subclasses, returning the name of the referenced result-set
+         for a node that is just a result-set reference, and null for
+         anything else.
+       - Change regression-test rules for Adam's compiler to use his
+         new front-end cql2xcql instead of the old cqlparse3.
+       - Change the names of the anchoring properties in
+         etc/pqf.properties and the CQLTermNode code that examines
+         them, in accordance with Adam's PQF-renderer's behaviour.
+         This gives more flexibility in terms of generating
+         attributes for end-of-field anchoring.  Various other minor
+         tweaks to the pqf.properties file, mostly to the comments.
+       - Change the capitalisation of the project name from
+         "cql-java" to "CQL-Java".  That doesn't really make any
+         difference to anything: in particular, file-names such as
+         "cql-java.jar" remain the same.
+
+0.4  Thu Nov 21 10:09:26 2002
+       - Add support for the new "phonetic" relation modifier,
+         including its mapping in "etc/pqf.properties".
+       - Make prefix-maps bind loosely, so that ``>dc=x a and b''
+         applies the dc=x binding to both the ``a'' and ``b''
+         sub-queries.
+       - Change the XCQL output to include the nasty (but official)
+         <leftOperand> and <rightOperand> wrapper elements.
+       - Change the XCQL output to use the nasty (but official)
+         rendition of prefix-mapping: a <prefixes> element,
+         containing one of more <prefix>es may appear at the top
+         of either a <searchClause> or a <triple>.
+       - Include test/regression/xmlpp.pl in the distribution: this
+         may now be used for testing whether a CQL compiler produces
+         _equivalent_ XCQL to what's in the regression test, rather
+         than requiring byte-identical output.
+       - Include the reference XCQL output in the distribution, for
+         the regression test suite to run against.
+       - Change build process so that javadoc documentation is built
+         by "make" in the "docs" directory.  There's now a top-level
+         makefile that builds the source, runs the test suite and
+         creates the documentation.
+       - Write javadoc comments for CQLRelation and ModifierSet.
+       - Other improvements to javadoc comments (e.g. describe the
+         `config' parameter to the toPQF() method.)
+       - Sort out the licence: I've settled on the LGPL.
+       - Remove the redundant and misleading etc/Grammar file.
+       - Fix up various Maintenance Agency web addresses that have
+         moved in the great ZING-release shake-up.
+
+0.3  Fri Nov 15 12:04:04 2002
        - Allow keywords to be used unquoted as search terms.
        - Add support for serverChoiceRelation (scr).
        - Add support for prefix-mapping, as in
-               >dc="http://dublincore.org/ dc.title=fish
+               >dc="http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish
          and
-               >"http://dublincore.org/ title=fish
-         ### But the XCQL output may need to be changed depending on
-             the result of the ZNG list's deliberations.
+               >"http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish
+         The XCQL generated corresponds to Adam's suggested format
+         rather than Rob's, not so much because I prefer it (although
+         I do) as because it's what fell out when I just Coded What
+         Comes Natur'ly.  That may need to change, depending on the
+         result of the ZNG list's deliberations.
        - Fix the parser to normalise relation modifiers to lower case.
        - Fix the CQLParser test harness not to emit an extraneous
          blank line at end of XCQL output.
@@ -59,19 +116,13 @@ See the bottom of this file for a list of things still to do.
        - Fix the bug where "9x" is parsed as two tokens, a TT_NUMBER
          followed by a TT_WORD.  The problem here is that I don't
          think it's actually possible to fix this without throwing
-         out StreakTokenizer and rolling our own, which we absolutely
-         _don't_ want to do.
-       - Write javadoc comments for CQLRelation and ModifierSet.
-       - Write "overview" file for the javadoc documentation.
+         out StreamTokenizer and rolling our own, which we absolutely
+       - Fix term-to-PQF translation to omit empty properties
+         (for the broken Korean server)
+       - Write "package.html" file for the javadoc documentation.
        - Some niceties for the cql-decompiling back-end:
          * Don't emit redundant parentheses.
          * Don't put spaces around relations that don't need them.
-       - Consider the utility of yet another back-end that translates
-         a CQLNode tree into JZKit's representation of a Type-1 query
-         tree.  That would be nice so that CQL could become a JZKit
-         query-type; but you could achieve the same effect by
-         generating PQF, and running that through JZKit's existing
-         PQN-to-Type-1 compiler.
        - Many refinements to the random query generator:
          * Generate relation modifiers
          * Proximity support
@@ -80,4 +131,5 @@ See the bottom of this file for a list of things still to do.
          * Better selection of terms (from a dictionary file?)
          * Introduce wildcard characters into generated terms
          * Generate multi-word terms
+         * Generate prefix-mappings