From b5006794448f33125d85756122f9f506e7efeca7 Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Sun, 27 Apr 2025 16:39:50 +0200 Subject: [PATCH] Update TODO.md, again. --- TODO.md | 49 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/TODO.md b/TODO.md index 3e736fe..8c97087 100644 --- a/TODO.md +++ b/TODO.md @@ -1,24 +1,37 @@ # Code structure -- split `App.Zone` to improve compilation times -- modules should have specific API -- *maybe* have a module with the entire state and a single function handling all state modifications on received message - -Also, the Bulma module should be removed. -The actual Bulma-related code should be in a package (such as https://github.com/KaneRoot/purescript-bulma, which currently lacks some features). +The Bulma module should be removed. +The actual Bulma-related code should be in the package [purescript-bulma][psbulma], which currently lacks some features. The general style of the website should be in a module. +Modules should have their own specific API. +When a module currently requires to send messages, the API should reflect semantics instead of providing the module a way to just carry raw messages. +For example, there are currently modules able to send messages (with a very simple `MessageToSend message` API), but instead of dealing with raw messages that need to be built inside the module, the API should be more semantic such as `ChangePassword new-password`. + +Once modules will have specific APIs, the entire state of the application could be moved into a single module (or *component*) so every state modification can be handled in a single place. + +Minor modifications: + +- split `App.Zone` to improve compilation times +- explanations and static content in general should be written using some kind of templates, not directly in Halogen + # Features -- display a message when the email isn't provided (happens when the account was migrated from dnsmanager v1) -- zone-wise indications to help people configure their zone for specific uses (web, mail) -- explanations and static content in general should be written using some kind of templates, not directly in Halogen -- admin interface: enable administrators to ask for users' info and show zones -- admin interface: perform a few more administrative operations (*TBD*) +About zone records: + - allow '*' in record names - allow '@' in record names (replaced by the fqdn, the "root" domain, such as "example.netlib.re.") - enable to change NS records, but after a accepting the consequences +About the admin interface: + +- enable administrators to ask for users' info and show zones +- perform a few more administrative operations (*TBD*) + +Slightly more complex features to implement: + +- zone-wise indications to help people configure their zone for specific uses (web, mail) + # Tests Check for common errors: @@ -33,13 +46,13 @@ More specialized tests or debug options: # Display -- user interface: display the email address -- somewhat better looking welcome page -- somewhat better looking explanation pages -- hide logs by default? -- *maybe* notifications should disappear after a few seconds -- admin interface: basically just rewrite the whole thing, it's a mess - say that there is no IPv6 on the server at the moment, so there is no point doing IPv6 address updates +- admin interface: basically just rewrite the whole thing, it's a mess + +Details: + +- *maybe* notifications should disappear after a few seconds +- hide logs by default? # General note @@ -54,3 +67,5 @@ Furthermore, *maybe* the state of the entire application should be stored in a s - enable users to change their NS - MIGRATION-related: remove migrated accounts with no connection in over 6 months + +[psbulma]: https://github.com/KaneRoot/purescript-bulma