diff options
-rw-r--r-- | TODO | 30 | ||||
-rw-r--r-- | python/TODO | 67 | ||||
-rw-r--r-- | rust/TODO | 2 |
3 files changed, 33 insertions, 66 deletions
@@ -0,0 +1,30 @@ + +## High-Level Priorities + +- bulk loading of releases, files, containers, creators +- manual editing of containers and releases +- accurate auto-matching matching of containers (eg, via ISSN) +- full database dump and reload + + +## Other + +- kong or oauth2_proxy for auth, rate-limit, etc +- "authn" microservice: https://keratin.tech/ +- PUT for mid-edit revisions +- 'parent rev' for revisions (vs. container parent) +- "submit" status for editgroups? + +api: +- all files for a given release + +review +- what does openlibrary API look like? +- add a 'live' (or 'immutable') flag to revision tables + +CSL: +- https://citationstyles.org/ +- https://github.com/citation-style-language/documentation/blob/master/primer.txt +- https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html +- https://github.com/citation-style-language/schema/blob/master/csl-types.rnc +- perhaps a "create from CSL" endpoint? diff --git a/python/TODO b/python/TODO index 88186280..3e8ba6ff 100644 --- a/python/TODO +++ b/python/TODO @@ -1,24 +1,5 @@ -next/high-level: -- quick python ORCID and ISSN import scripts -- client export: - => one json-nl file per entity type -- flask-apispec -- swagger API docs? -- naive API-based import scripts for: journals (norwegian), orcid, crossref -- switch to marshmallow in create APIs (at least for revs) - -- kong or oauth2_proxy for auth, rate-limit, etc -- "authn" microservice: https://keratin.tech/ - -api: -- PUT for mid-edit revisions -/ use marshmallow in POST for all entities -/ consider refactoring into method-method (classes) - -model: -- 'parent rev' for revisions (vs. container parent) -- "submit" status for editgroups? +- make debugbar really optional (don't import unless we're in debug mode) tests - full object fields actually getting passed e2e (for rich_app) @@ -30,51 +11,5 @@ tests - api: try to modify an accepted release - api: multiple edits, same entity, same editgroup -review -- what does openlibrary API look like? -- hydrate in files for releases... nested good enough? -- add a 'live' (or 'immutable') flag to revision tables -- how to encode proposed redirects? history goes in changelog - => proposed_ident_action table, which points to edits - => ident in edit as a partial solution (not redirects) - => extend edit object to have "to/from" info, and be per-entity - views - oldest un-merged edits/edit-groups - -later: -- switch extra_json to just be JSONB column -- public IDs are UUID (sqlite hack, or just require postgres) - -## High-Level Priorities - -- bulk loading of releases, files, containers, creators -- manual editing of containers and releases -- accurate auto-matching matching of containers (eg, via ISSN) -- full database dump and reload - -## Planning... - -before switching to golang: -x swap extra_json to simple text field -x profile slow bulk imports - client: - 78% waiting for POST - api: - 56% / 22ms api_release_create - 36% / 13ms api_work_create - 7% / 4ms container lookup -- flush out web interface (POST, etc) - x create release - => edit existing release - => edit editgroup (remove edits) - => approve editgroup -- "model" issues above -- look at "review" issues above -- try cockroach - -after switching: -- UUID identifiers -- faster bulk importers (API client; parallel) -- editor accounts - @@ -31,6 +31,8 @@ x refactor tests (response check, setup) x better test coverage (all entity types, get and post) x editgroup GET API schema arrays +- editor_id vs. editor; can't GET by id, so need to return username? + later: - generate python client library? - web interface? |