## GENERAL * incorporate flask-login and flask-ldap3-login https://flask-login.readthedocs.io/en/latest/ https://flask-ldap3-login.readthedocs.io/en/latest/ https://pythonhosted.org/Flask-Principal/ # this is an example: https://code.tutsplus.com/tutorials/flask-authentication-with-ldap--cms-23101 * user management scope - do I want admins only? I definitely * want a read-only / share (but to a subset potentially?) (see point above for how to do all this) * fix up logging in general * comment your code * more OO goodness :) ## DB * Need to think about... file (image) -> has X faces, Y matches X == Y (optim: dont scan again) say X-Y == 1, then to optimise, we need to only check the missing face... at the moment, the DB structure is not that clever... (file_refimg_link --> file_refimg_link needs a face_num?) * Dir can have date in the DB, so we can do Oldest/Newest dirs in Folder view ### BACKEND * revisit SymlinkName() and make it simpler (see comment in shared.py) * if you change paths in settings, then re-run Initialisation checks (for symlinks to new path names) - this actively is crashing, added a file in storage2/ (no symlink), so job mgr crashed, and DB doesnt have the content until you make the symlink (via re-running job mgr) -- started on some basic optimisations (commit logs every 100 logs, not each log) - with debugs: import = 04:11, getfiledetails== 0:35:35 - without debugs: import == 04:03, getfiledetails == 0:35:36 -- not a sig diff - with exifread & debug: import == 04:26 *** Need to use thread-safe sessions per Thread, half-assed version did not work - would it be quicker/smarter to use md5 hash matching on import (and if so, not re-do face* ) ??? need a manual button to restart a job in the GUI, (based on file-level optims, just run the job as new and it will optim over already done parts and continue) Future: Admin -> reset face_flag AI -> rescan