Priority |
Difficulty |
Area |
Task |
Release |
Owner |
|
|
|
Update the PLATFORMS file
|
* |
James |
|
|
|
make sure the non-autogenerated docs are kept up-to-date
|
* |
James |
Medium |
3 |
API |
Implement methods to iterate through all the documents in the database.
Possibly via a special term which indexes all documents.
|
0.6 |
|
Medium |
3 |
Databases |
Change all internal references to net/network backend to remote backend (in
step with external naming)
|
0.6 |
|
Medium |
2 |
General |
Check for zero byte cleanness wherever strings are used. There are a
number of c_str()s in the code, but I believe all in the core library
(excluding the bindings) are harmless at 2002-04-29. There may be other zero
byte issues though. xapian-applications/dbtools also uses c_str() where it
should probably use data() and length().
|
0.6 |
|
Medium |
2 |
OmQuery |
Move all serialisation of OmQuery into OmQuery (out of socketcommon.cc and
localmatch): modification of omquery requires changes in 3 separate parts
of the code, at present.
|
0.6 |
|
Medium |
3 |
Stemming |
Replace our own stemming code with Martin Porter's snowball stemmers (with a
thin OmStem wrapper).
|
0.6 |
|
Low |
4 |
API |
Allow custom weighting functions.
|
0.6 |
|
Low |
3 |
Quartz |
Make quartz database autoflush when enough changes have been performed based
on the memory used up as a proportion of that available, rather than simply
when a count of changes is reached. Remove hardcoded count of 1000 changes.
|
0.6 |
|
Verylow |
4 |
General |
Make backends / weighting schemes / indexer modules register themselves
automatically. At runtime / linktime? (ie, replace current conditional
compilation scheme) - actually, we can use sub-classing
and factory classes to do this more cleanly.
|
0.6 |
|
|
|
|
Fix up examples and make sure they are actually instructive.
I've made a start. delve is a reasonable example. msearch probably needs
simplifying to just do a probabilistic search, or to use OmQueryParser.
|
0.6 |
Olly |
|
|
|
Replace all uses of OmSettings.
The arguments for OmSettings are not as compelling as we
originally thought, and it has definite drawbacks - one major one being
that there's no easy way to check for typos which can lead to users of
the library spending hours trying to sort out a bug which is just a
typo in an OmSettings value. Another argument for it was to allow passing
values to user weighting objects, etc, but I think it's best just to
implement these with a clone() method, and pass an example one in. And
we might as well make built-in weighting objects work the same way rather
than being a special case. Backends can be done similarly, though an
explicit factory is needed as there's more than one class to build.
|
0.6 |
Olly |
|
|
|
indexgraph -> extra (needs to build as a support library?)
|
0.6 |
|
|
|
Documentation |
Finish reading through generated docs to ensure they read well in collated form.
|
0.6 |
Olly |
Medium |
5 |
Documentation |
Ensure that API documentation covers entirety of API (i.e. that all methods and
classes in the API have documentation comments) -- see doxygen generated file
docs/doxygen_api_warnings for a list of undocumented methods. Then read
through generated API docs, and rewrite doc comments to improve clarity and
make them more coherent.
|
1.0 |
|
Medium |
4 |
General |
Allow setting of the document length in OmDocument. (Currently defined to
be the sum of the wdfs).
|
1.0 |
|
Medium |
5 |
Porting |
Produce Microsoft Windows version, probably cross-compiling to mingw.
|
1.0 |
James |
Medium |
2 |
Quartz |
Ensure that quartz databases don't have a problem if there is no positional
information entry available for a term / document combination.
|
1.0 |
|
Low |
3 |
Documentation |
Add notes about catching exceptions throughout userman, particularly in
examples (eg, search engine example)
|
1.0 |
|
|
|
|
.deb built, control files via autoconf
|
1.0 |
Olly |