aboutsummaryrefslogtreecommitdiff
path: root/todo
diff options
context:
space:
mode:
authorB. Stack <bgstack15@gmail.com>2022-01-27 09:51:44 -0500
committerB. Stack <bgstack15@gmail.com>2022-01-27 09:51:44 -0500
commitadfc6caaedefaeea913a7f5c4ad7781bb629ecba (patch)
tree4255fe3d57adaa4a0af8f9a93c0347afa70ea01f /todo
downloadbws-adfc6caaedefaeea913a7f5c4ad7781bb629ecba.tar.gz
bws-adfc6caaedefaeea913a7f5c4ad7781bb629ecba.tar.bz2
bws-adfc6caaedefaeea913a7f5c4ad7781bb629ecba.zip
initial commitHEADmaster
Diffstat (limited to 'todo')
-rw-r--r--todo72
1 files changed, 72 insertions, 0 deletions
diff --git a/todo b/todo
new file mode 100644
index 0000000..1ebc0d8
--- /dev/null
+++ b/todo
@@ -0,0 +1,72 @@
+2021-12-12
+Checklist of design goals:
+x * input field for pasting a bookmark, and also a drag-and-drop target.
+ * a setting in the webapp for making all links always open in a new tab (stored in cookie/session?)
+ * per-user settings
+x * ldap integration (find my other flask demo app)
+x * pluggable database (sqlite is default)
+x * bookmark attributes: link, timestamp, user, tags (comma-delimited), notes, icon (optional), bid (bookmark id), order_id, always_open_in_new_tab
+ * customizable css theming
+ * rearrange order, group by category (includes duplicates), group by YYYY-MM, YYYY-MM-DD
+ * import from firefox/newmoon/librewolf profile (see my mbbmlib)
+- * option to remember session forever at login
+x * logout button
+ * server settings: always fetch favicons
+ * "server settings" page for admins
+ * userlist, so admin can add user or delete user (what happens to bookmarks for that user?)
+ * add "view all bookmarks" option for admins on view.html. Just add to the drop-down list '%'?
+ * add functionality of automatically adding users who successfully authenticate with ldap
+ * add about page?
+ * add to the user settings page the ability to control database value for per-user "always_open_in_new_tab" setting.
+ * actually follow the per-user AOINT
+ * add per-user setting for showing a "delete" button in view_list.html output
+
+# Dependencies or bundled libs:
+* mbbmlib
+* session_app
+
+# database schema:
+
+USERS:
+* uid (number)
+* name (text, FK linked to [uid, configurable] from ldap)
+* always_open_in_new_tab (boolean)
+
+BM:
+bid, url, title, uid FK, tags, notes, iid FK, timestamp, order_id, always_open_in_new_tab
+
+ICONS:
+iid, site (for deduping purposes, or write scheduled task to dedupe), icondata (that textual format?)
+
+# References
+
+* https://github.com/awesome-selfhosted/awesome-selfhosted#bookmarks-and-link-sharing
+
+Good ideas:
+* https://ungleich.ch/u/projects/ubookmark/
+* https://nofussbm.herokuapp.com/signup.html
+* https://datatables.net/
+
+## future research:
+* https://betterprogramming.pub/create-a-sortable-list-with-draggable-items-using-javascript-9ef38f96b258
+
+Original design goals for my proposed bookmark webapp. from 2021-12-12
+* input field for pasting a bookmark, and also a drag-and-drop target.
+* a setting in the webapp for making all links always open in a new tab (stored in cookie/session?)
+* per-user settings
+* ldap integration (find my other flask demo app)
+* pluggable database (sqlite is default)
+* bookmark attributes: link, timestamp, user, tags (comma-delimited), notes, icon (optional), bid (bookmark id), order_id, always_open_in_new_tab
+* customizable css theming
+* rearrange order, group by category (includes duplicates), group by YYYY-MM, YYYY-MM-DD
+* import from firefox/newmoon/librewolf profile (see my mbbmlib)
+* option to remember session forever at login
+* logout button
+
+## 2021-12-18 downloaded for datatables:
+wget https://code.jquery.com/jquery-3.6.0.min.js
+wget https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js
+wget https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css
+
+# from https://datatables.net/download/ builder utility
+wget https://datatables.net/download/builder?dt/dt-1.11.3/b-2.1.1/sl-1.3.4
bgstack15