summaryrefslogtreecommitdiffstats
path: root/proposals
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2020-07-30 20:30:57 -0700
committerBryan Newbold <bnewbold@robocracy.org>2020-07-30 23:45:30 -0700
commitbedf147fecf7134fd22ea0ca7c94c5b7d4554416 (patch)
treee0a6c45544b21b22b5e5ba77bc88bf3d718aa1aa /proposals
parenta928882cb14eca8c50919f1af7489831b8341569 (diff)
downloadfatcat-bedf147fecf7134fd22ea0ca7c94c5b7d4554416.tar.gz
fatcat-bedf147fecf7134fd22ea0ca7c94c5b7d4554416.zip
TOML editing proposal
Diffstat (limited to 'proposals')
-rw-r--r--proposals/20200729_toml_editing.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/proposals/20200729_toml_editing.md b/proposals/20200729_toml_editing.md
new file mode 100644
index 00000000..bdb8c12f
--- /dev/null
+++ b/proposals/20200729_toml_editing.md
@@ -0,0 +1,43 @@
+
+status: implemented
+
+TOML Editing of Entity Metadata
+===============================
+
+Goal is to enable full-power editing through the web interface, of the raw
+entity schema and "extra" metadata, for all entity types.
+
+A side-effect of this should be enabling redirect editing between entities, as
+well as "undeleting" or other state transitions (other than deletion).
+
+Plan:
+
+- find and add a toml transform library to pipenv deps. preferably with good
+ human-readable parsing errors
+- TOML/JSON transform helpers, with tests
+- implement generic TOML entity editing view (HTML)
+- implement generic TOML entity editing endpoints
+
+Some metadata fields are removed before displaying TOML to edit. For example,
+the ident, revision, and redirect fields for 'active' entities. It should still
+be possible to do redirects by entering only the redirect field in the TOML
+form.
+
+## UI Integration
+
+For existing edit forms, add a link to the "advanced" editing option.
+
+For endpoints without a form-based option (yet), do an HTTP redirect to the
+TOML editing option.
+
+## New Webface Views
+
+`/<entity>/create/toml`
+ GET: display template to be filled in
+ POST: form submit for creation
+`/<entity>/<ident>/edit/toml`
+ GET: transform entity for editing
+ POST: form submit for edit
+`/editgroup/<editgroup_id>/<entity>/<ident>/edit/toml`
+ GET: transform entity for editing
+ POST: form submit for edit