-$Id: Changes,v 1.1 2002-11-06 00:05:57 mike Exp $
+$Id: Changes,v 1.10 2002-11-15 11:35:53 mike Exp $
Revision history for "cql-java"
+See the bottom of this file for a list of things still to do.
-0.2 (IN PROGRESS)
+0.3 (IN PROGRESS)
+ - 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
updated official grammar, which now specifies proximity
operators of the form
through parse-trees and so implement its own back-end
(e.g. to build BER-friendly data structures using whatever
Z39.50 toolkit is preferred.)
- - Add javadoc comments for CQLNode and subclasses.
- - Add the toPQF(Properties p) method to CQLNode and subclasses.
- (### NOT YET FINISHED)
- - Add UnknownQualifierException and UnknownRelationException.
+ - Add the toPQF(Properties p) method to CQLNode and its
+ subclasses. This produces a query in YAZ-style Prefix Query
+ Format, which can be trivially translated into a Z39.50
+ Type-1 query (see, for example, JZKit's code to do so).
+ - Add etc/pqf.properties to configure the toPQF() method.
- Add "-p <props-file>" option to the CQLParser test-harness,
indicating that the parsed tree is to be rendered to PQF.
- - Add etc/pqf.properties to configure to toPQF() method.
+ - Add PQFTranslationException and its subclasses
+ UnknownQualifierException, UnknownRelationException,
+ UnknownRelationModifierException and
+ UnknownPositionException.
- Rename ParameterMissingException to MissingParameterException.
+ - Add javadoc comments for CQLNode and its subclasses.
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 StreakTokenizer and rolling our own, which we absolutely
+ _don't_ want to do.
+ - Describe prefix-mapping in the CQL tutorial (not really
+ anything to do with cql-java, but this note will remind me
+ to do it.)
+ - Add support for the new "phonetic" relation modifier.
+ - Write javadoc comments for CQLRelation and ModifierSet.
+ - 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
+