diff options
| -rw-r--r-- | TODO | 42 | ||||
| -rw-r--r-- | rust/TODO | 10 | 
2 files changed, 16 insertions, 36 deletions
| @@ -1,29 +1,20 @@ +## In Progress +  ## Next Up -- all errors should result in transaction rollback -- test: re-deleting a deleted entity should be 4xx, not 5xx -- test: can't delete an accepted edit -- test: redirect to a WIP row -- test: revert to current version (should be disallowed) -- test: hide/expand in lookups -- test: python get revision endpoint, whether accepted or now -- test: GET redirects endpoint -- test: additional edits, editgroup already accepted -- test: prev_rev in various cases -- test: release pointing to a collection that has been deleted/redirected (etc) -- many webface tests: -    => entity redirects, wip, deletions -    => sub-entity redirects, wip, deletions -- test: new release points to new container; then container deleted from -    editgroup and editgroup accepted -    => also web UI -- handle wip, deleted, redirects in web UI -- remove the concept of "active editgroup" +- fileset/webcapture entities +- authentication +- remove the concept of "active editgroup", and simplify autoaccept batch path +- fix returned error messages; should return type (shortname), and then actual +  message/description +- handle wip entities in web UI  - elastic inserter should handle deletions and redirects; if state isn't    active, delete the document -    => and an end-to-end test of this behavior. hoo-boy. -- release_year (in addition to date) +    => don't delete, just store state. but need to "blank" redirects and WIP so +       they don't show up in results +    => refactor inserter to be a class (eg, for command line use) +    => end-to-end test of this behavior?  ## Ideas @@ -31,8 +22,6 @@  - when getting "wip" entities, require a parameter ("allow_wip"), else get a    404  - consider dropping CORE identifier -- fix returned error messages; should return type (shortname), and then actual -  message/description  - maybe better 'success' return message? eg, "success: true" flag  - idea: allow users to generate their own editgroup UUIDs, to reduce a round    trips and "hanging" editgroups (created but never edited) @@ -55,6 +44,7 @@  ## Metadata Import +- cleaning/matching: https://ftfy.readthedocs.io/en/latest/  - manifest: multiple URLs per SHA1  - crossref: relations ("is-preprint-of")  - crossref: two phase: no citations, then matched citations (via DOI table) @@ -64,7 +54,7 @@      => title length and title/slug blacklist      => at least one author (?)      => make this a method on Release object -    => or just set release_stub as "stub"? +    => or just set release_type as "stub"?  new importers:  - pubmed (medline) (filtered) @@ -76,7 +66,6 @@ new importers:  ## Entity/Edit Lifecycle -- redirects and merges (webface, etc)  - commenting and accepting editgroups  - editgroup state machine? @@ -101,7 +90,7 @@ new importers:  - arxiv_id field (keep flip-flopping)  - original_title field (?) -- FileSet and WebSnapshot entities +- FileSet and WebCapture entities  - `doi` field for containers (at least for "journal" type; maybe for "series"    as well?)  - `retracted`, `translation`, and perhaps `corrected` as flags on releases, @@ -111,7 +100,6 @@ new importers:  ## Other / Backburner -- look at: https://ftfy.readthedocs.io/en/latest/  - refactor openapi schema to use shared response types  - consider using "HTTP 202: Accepted" for entity-mutating calls  - basic python hbase/elastic matcher @@ -1,12 +1,9 @@  correctness  - extra or typo-d fields in requests don't seem to be errors (silently accepted) -- enforce "previous_rev" required in updates  - reread/review editgroup accept code -- enforce "no editing if editgroup accepted" behavior  - changelog sequence without gaps  - batch insert editgroup behavior; always a new editgroup? -- redirect rev_id needs to be updated when primary changes  edit lifecycle  - editgroup: state to track review status? @@ -20,6 +17,7 @@ account helper tool  - test/validate tokens  later: +- "prev_rev" required in updates  - tried using sync::Once to wrap test database initilization (so it would only    run migrations once), but it didn't seem to work, maybe I had a bug or it    didn't compile? @@ -32,9 +30,3 @@ later:  - test using hash indexes for some UUID column indexes, or at least sha1 and    other hashes (abstracts, file lookups) -schema/api questions: -- url table (for files) -- get works/releases by creator -- "types" -- define release field stuff -- what should entity POST return? include both the entity and the edit? | 
