## GENERAL * need a path_details_dir_link table (path_details -> type 'import/storage/recycle' - need to make some FILE/DIR, etc. funcs into OO (hide all use of path_prefix, then we can do the below) - stop fudging the path in DIR (to add static), and just add 'static/' + path_details_dir.prefix + dir.rel_path - path has overall file count, so we dont fudge the file count for parent dir in the import, etc. -- do we even need/care about per Dir counts? (I dont think so) - ignore *thumb* -- but consider how we do this and don't screw up 'dir/job counts' * storage_path viewing needs to be by folder / not a big grab bag of files (by default) -- mostly done. Need to toggle the view if I want, and when viewing storage area, change single-click to be view file again, and right-click to be my context menu * doing actual file deletes needed again [DONE] - decided a recycle bin would be good [DONE] - when we put files in recycle bin, they need to stay in the DB and just have their root/base path moved (so they can be view as per above/below) - could also allow undelete per file / show content as another Files->View and more like storage (i.e. show folders) * AddJobForLog can absorb DEBUGs, etc. in fact fix up logging in general * comment your code * need a way for page to show we are in import_path or storage_path ## 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?) ### BACKEND -- 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 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