## GENERAL * need a path_details_dir_link table (path_details -> type 'import/storage/recycle' - need to make some FILE/DIR, etc. funcs into OO -- is there more to do here? (should probably see how often I reference fields of FILE/DIR, etc. directly, and get rid of them in most instances) - stop fudging the path in DIR (to add static), and just add 'static/' + path_details_dir.prefix + dir.rel_path -- this might be done, but re-consider the idea that 'static' is hard-coded? -- as long as it is in 1 spot -- because, I want to change the recycle bin to be .pa_bin/IMPORT/xxxx and .pa_bin/STORAGE/xxxx (to address the potential issue where import_path is /xxx/photos, and storage_path is /yyy/photos.... ??? is this possible to cause issues in other spots, like de-dup trim path... in fact, probably need to revisit TrimPath anyway! - ignore *thumb* -- but consider how we do this and don't screw up 'dir/job counts' and other stuff like .pa_bin if its in storage/import folder? * storage_path viewing needs to be by folder / not a big grab bag of files (by default) -- BUG: issue with view by Day, etc. we print out day even if the Entry is not in the cwd -- 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 -> could this also be a small symbol near the icons mentioned below (disk/?/bin)? * 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) <--- TO BE DONE AND need to be able to view recycle bin (should be simple when we have path_types) &&& should able to consolidate the files_ip/files_sp/files_rb? route handling functions - 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: - now we can use the in_path (which needs a type !!!), then have a series of icons, e.g. disk for storage, ? for import, and bin for recycling (before the blue path)--maybe even show different colours, e.g. info for import, primary for storage and danger for bin? ## 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 for --> can do this on new image only (optimised to only scan has_unidentified_face)... BUT if you change thresholds on AI, or we get a new/better one some day, then it can all images with faces, or if we 'reset face_flag' rescan all images Admin -> delete old jobs / auto delete jobs older than ??? ### UI job management: joblog needs to show only say 25 log lines (last?) by default and allow see start/end, page by page, and search clear all jobs (via GUI) clear old jobs? (via b/end?) clear FE messages (at least dup ones on File data deletion) -- in backend need to copy into here the jquery/fa files so we don't need internet to function - for that matter run lightspeed against all this file view should have show folders / flat as a choosable somehow sorter... need some way to multiselect images [DONE] and then get them into a new "folder" - this needs to 'move' the files / database info from import path to new storage path -- so if we do face rec. we don't need to redo it :) timelineview? (I think maybe sunburst for large amounts of files, then maybe something more timeline-series for drilling in?) (vertical timeline, date has thumbnails (small) horizontally along a page, etc.? https://www.highcharts.com/docs/chart-and-series-types/timeline-series https://www.highcharts.com/demo/sunburst https://www.highcharts.com/demo/heatmap https://www.highcharts.com/demo/packed-bubble-split ### AI * allow for threshold/settings to be tweaked from the GUI - it would be good to then say, just run the scanner against this image or maybe this DIR, to see how it IDs ppl ### SORTER * exif processing? * location stuff - test a new photo from my camera out -- image is in dir, need to look at exifread output