aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO30
-rw-r--r--python/TODO67
-rw-r--r--rust/TODO2
3 files changed, 33 insertions, 66 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 00000000..0907b326
--- /dev/null
+++ b/TODO
@@ -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
-
diff --git a/rust/TODO b/rust/TODO
index 6f5600d9..be2896aa 100644
--- a/rust/TODO
+++ b/rust/TODO
@@ -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?