Sort out the licence: I've settled on the LGPL.
[cql-java-moved-to-github.git] / Changes
diff --git a/Changes b/Changes
index b51e1f2..b17116a 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,45 @@
-$Id: Changes,v 1.4 2002-11-08 01:10:55 mike Exp $
+$Id: Changes,v 1.14 2002-11-18 14:41:02 mike Exp $
 
 Revision history for "cql-java"
+See the bottom of this file for a list of things still to do.
+
+0.4  (IN PROGRESS)
+       - 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 build process so that javadoc documentation is built
+         by "make" in the "docs" directory.
+       - 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.
+
+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
+         and
+               >"http://dublincore.org/ 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.
+       - Fix CQLNode documentation to contain a link to YAZ's
+         documentation of Prefix Query Format (PQF) rather than
+         containing a rather unhelpful chunk of BNF.
+       - Change the test/regression Makefile so that "make clean" now
+         does what "make distclean" used to do - the distinction
+         between them is pointless.
+       - Fix a few typos in the documentation.
+       - Move the README file's old "THINGS TO DO" section to the end
+         of this file, the new "Still to do" section.
 
 0.2  Wed Nov  6 23:05:54 2002
        - Fix the order of proximity parameters in accordance with the
@@ -30,3 +69,34 @@ Revision history for "cql-java"
 0.1  Sun Nov  3 20:58:27 2002
        - First public release.
 
+--
+
+### 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 StreamTokenizer and rolling our own, which we absolutely
+         _don't_ want to do.
+       - Find out what the ZNG group finally settled on as the
+         correct XCQL representation of prefix-mapping, and tweak my
+         toXCQL() output to match that.
+       - Add srw.resultSet support to the toPFQ() method.
+       - Write "overview" 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
+         * Don't always generate qualifier/relation for terms
+         * Better selection of qualifier (configurable?)
+         * Better selection of terms (from a dictionary file?)
+         * Introduce wildcard characters into generated terms
+         * Generate multi-word terms
+