1/LOW/2009-01-27/FIXED Naming in protocols/scs.py -- SCS should be consistently upper case 2/MEDIUM/2008-10-20/WONTFIX StreamWriter errors cannot be propagated up yet. [Error handling must really be in the writing thread, since the calling function cannot know if anything has been written yet. Of course, when things go wrong between the handover and the start of stream writing, there may be empty output, but this needs to be handled some other way] 3/WISHLIST/2009-01-10/FIXED gavoimp should have some functionality to delete everything described by an RD [gavodrop does this] 4/MEDIUM/2009-01-24/FIXED Remove imageFormat column in SIAP mixin and take the data from product's mime. 5/MEDIUM/2009-01-27/FIXED formalTypes for InputKeys should be computed at form construction time to fix the mess with required condDescs having non-required InputKeys. 6/WISHLIST/2009-01-27/FIXED The sidebar should become a template on disk. 7/LOW/2009-02-02/FIXED MultiSelections are not handled correctly when used in bookmarkable forms -- only the first selection is kept. 8/WISHLIST/2009-02-10 Columns, Tables, Data Descriptors should get stripped-down base classes, such that an OutputTable doesn't have an adql attribute. It simply looks bad in the docs. 9/LOW/2009-02-11/FIXED Unify credentials checking in services (runAuthenticated) and products. Probably both should be using the Authenticate exception. [has been fixed for quite a while before revision 1466] 10/LOW/2009-02-11/FIXED Turn UnicodeAttributes in grammars/kvgrammar.py to REAttributes as appropriate. 11/MEDIUM/2009-02-11/FIXED Documentation for row triggers currently doesn't really exist. 12/MEDIUM/2009-02-11/FIXED Julian year functions are wrong. Use datetime.datetime(2000, 1, 1, 12)+datetime.timedelta(days=365.25*(fracYear-2000.0) (which still is not 100% precise but should really be good enough). 13/MEDIUM/2009-02-14/FIXED SELECT 'foo' FROM whatever raises a weird error 14/MEDIUM/2009-02-14/FIXED SELECT 1 as size is not parsed. 15/MEDIUM/2009-02-18/FIXED The whole formalType/inputWidget thing with InputKeys is an absolute pain. At least there should be way to suppress or override the automatic vizier type conversion. [using formalType] 16/MEDIUM/2009-04-17/FIXED Conversion between from TAI to UTC computes location of leap seconds based on TAI rather than UTC. This will lead to incorrect UTCs in the vicinity of the leap seconds. 17/MEDIUM/2009-04-20 Pre-1972 TTs should probably be interpreted as ET and converted to GMT in TTtoUTC -- but they are not. See http://hpiers.obspm.fr/eop-pc/earthor/utc/TAI-UTC_tab.html 18/LOW/2009-06-29/FIXED user.mkrd still contains pre-rewrite code and thus doesn't work. 19/LOW/2009-06-30 Naming of the various data structures that deal with column properties in formats.votable is a complete nightmare. The collection of column properties for a table needs a catchy name. 20/WISHLIST/2009-07-14 The whole customwidget/gavo.js stuff is a mess. Do output format, DB, etc., without formal widgets. This stuff is better done manually. Actually create all necessary widgets in the result tree and scrap the dynamic building from gavo.js. 21/MEDIUM/2009-07-17/FIXED Bad profiles (e.g., no database set) will cause getDBConnection to bomb out in an ugly way. It should at least provide some sensible information. 22/SEVERE/2009-07-17/WONTFIX The creation of metaHandler in rscdesc leads to a deadlock when dc_tables does not exist yet. ["So don't do that" -- this has not been necessary for quite a while] 23/MEDIUM/2009-07-21/WONTFIX Conversion of unknown VOTable types leads to None with FromVOTableConverter. It should yield an exception. [Code doesn't exist any more] 24/SEVERE/2009-07-21/FIXED A Cone Search of 180 degrees around 10,10 doesn't return the whole table (actually, it apparently returns nothing) [was a q3c problem] 25/SEVERE/2009-07-21/FIXED Linefeeds embedded in queries coming from the form cause the service to bomb out (actually, it was only trailing whitespace) 26/MEDIUM/2009-07-30/FIXED binarize on STC ASTs with compounds doesn't work any more. 27/WISHLIST/2009-08-04/FIXED It would probably be helpful if instanciating an RD with a non existing resdir would at least issue a warning of some sort. 28/LOW/2009-08-04 "AS" clauses should override any names obtained from system tables in ADQL. And we should be more careful inheriting such properties through functions (e.g., SQRT should probably kill almost all such properties). 29/LOW/2009-08-31 structure.EventProcessor doesn't update root element when it has been Replace'd (proposed solution: Kill the abominable Replace) 30/WISHLIST/2009-09-02 meta.ModelBasedBuilder is a horrible abomination. Replace it with something that allows specification of required elements and a sane syntax, or, probably better, teach xmlstan the render trick of the real stan and write renders for meta items/meta values. 31/MEDIUM/2009-09-04 STC information is missing in the Box mapper in valuemappers. It's not always ICRS like we're claiming now. 32/MEDIUM/2009-09-08/WONTFIX Form values in split-up date fields are not preserved. [Actually, they are, if all items are given; partial values are very hard to preserve] 33/MEDIUM/2009-10-02 We do not actually give availability information so far. Cores should have some standard way to answer availability questions, and the main system should be able to override what the service says. 34/LOW/2009-10-05/FIXED Replace RDNotFound exception with the more generic NotFoundError. 35/MEDIUM/2009-10-08 Non-required defaulted fields (like cutout size on lswscans/positions) do not get their default filled in on submitted forms. 36/LOW/2009-10-16 base.__init__ calls pyparsing...setDefaultWhitespaceChars. It really shouldn't do this. Find out what grammar needs this and do a local setDefaultWhitespaceChars or similar. Then remove the setDefault... calls in adql.getGrammar. 37/HIGH/2009-10-19/FIXED ROUND and TRUNCATE should accept a second argument in ADQL. 38/MEDIUM/2009-11-03 You can select nonsensical (on-selected) fields in the sort widget. 39/LOW/2009-11-16 Services with verbLevel-defined outputTables are misclassified as TableServices if they contain positional data. That's kinda hard to fix except by delaying service type determination. 40/HIGH/2009-12-11/FIXED select max(ntotal), min(ntotal) from usnob.platecorrs only returns one column. 41/MEDIUM/2009-12-21/FIXED When vo_managed-publishing something, try producing a resource record and complain if that doesn't work out. [this has been fixed a while before revision 1466] 42/MEDIUM/2010-01-25 Try condDesc original="ref" referring to a column; this results in a completely unintelligble error message. 43/HIGH/2010-02-25/FIXED rave.main and tspectra.data have no descriptions on __system__/dc_tables/list/form -- why? 44/WISHLIST/2010-04-10 Make a "noform" renderer (or so) from the runOnEmptyInputs case of resourcebased.form 45/MEDIUM/2010-04-13 Fields with formatters are not included in VOTables at all? 46/LOW/2010-07-26 UWS job directory is not created if it does not exist yet. 47/HIGH/2010-07-30/FIXED (rev. 1635) See input/glots: The createView data is touched but has no effect when doing createTables. 48/LOW/2010-08-26 taprender should return http 404 code rather than 400 for a NotFoundError 49/MEDIUM/2010-09-02 No notes on service info pages 50/HIGH/2010-09-02/FIXED select ab || 'cd' from x doesn't parse in adql (valueExpression needs to reconsider if numericValueExpression parses but bad things happen downstring). 51/MEDIUM/2010-09-06 N-dimensional arrays basically don't work in votable for N>1. Even for N=1, it's not pretty. 52/LOW/2010-09-09 The argparse framework in user (used, e.g., in gavo admin) requires subcommands to be spelt out. So, you can say gavo ad listusers but not gavo ad listu. 53/MEDIUM/2010-09-27/FIXED Have grammars be referred to by name rather than as object from outside the grammar sub-package. Then, stop preloading all grammars. 54/MEDIUM/2010-09-27 Do away with all the "predefined" mess with procs and such. They should be referred to by references (possibly allowing skipping __system__). Then, do away with the preloading crap for mixin RDs. 55/WISHLIST/2010-10-07/FIXED A few utility functions from votablegrammar should be put somewhere else (valuemapper?) so taprunner, formats.votable* and friends don't need to import it any more on startup. 56/LOW/2010-10-08/FIXED Kill the ref attribute and the underlying mechanism for structures. It has been a pain and not terribly useful. 57/MEDIUM/2010-12-10 SIAP services should compute their sia.type from the core they have. 58/HIGH/2010-12-10/FIXED pyparsing is not thread-safe. Protect all parses by locks (probably the lock objects should sit on the grammars, and I should have a common parse method). [more or less fixed, some time around rev. 1700] 59/MEDIUM/2011-01-25/FIXED ADQL count(*) returns a float. [in ref. 1788] 60/WISHLIST/2011-01-25 When using utils.intToFunnyWord to make up ids, we should use some reserved marker to avoid collisions with user-defined ids. 61/WISHLIST/2011-02-18 Do away with VOColDesc and instead add some additional data to the column objects themselves. 62/MEDIUM/2011-02-23/FIXED http://dc.zah.uni-heidelberg.de/rauchspectra/q/tovot/info has a URL for a service that has no web frontend. [fixed ca. rev. 1800] 63/MEDIUM/2011-03-09 gavo imp --system //uws does not remove stale uws tables. Why? 64/WISHLIST/2011-03-15/FIXED Generate prettier names for ADQL result tables. [in rev. 1816] 65/WISHLIST/2011-04-04 SIAP tables should have their dates in MJD; that helps obscore a lot and may obsolete some ugly hacks in valuemapper. Wenn doing this, don't forget to fix obscore#publishSIAP. While doing that, require exposure time in SIAP and fix tMin and tMax. 66/MEDIUM/2011-04-06/FIXED ADQL INTERSECTS with a point is supposed to be an overlap. In our current code, it's an error. [fixed somewhere around rev. 1900] 67/MEDIUM/2011-06-07 VOTable PARAM with an NULL (None) value just gets to be a value="" attribute. That's bad, we should use VALUES to define null literals.