21 September 2024 * Location menu now shows recently-used locations at top even if a location is already set. * Importing photos now handles images whose GPS data has latitude and longitude but not altitude. * Recoded to convert videos to WebM instead of ogg/theora. Firefox stopped displaying/playing ogg videos with version 130.0. So did Brave. The browser developers did this deliberately, as ogg is no longer popular compared to "more modern" codecs. * Ensured "Remove Geotagging Metadata" option in writealbum.php and the script removegps.sh both work with WebM videos. * Ensured RotateVideo works with WebM videos. 24 February 2024 * In search results, tag menu for "Untag selected photos" now includes only tags applied to photos in gallery. If no photo in gallery is tagged, "Untag selected photos" option doesn't appear. * User manual now says how to remove a tag from photos. 08 February 2024 * Speeded up importing photos by minimizing the number of EXIF data reads. * Two improvements especially useful for un-timestamped images, e.g., scanned photos: - Edit photo sets worksheet now has a checkbox to hide photos with date/time already set, as with location and description. - When a photo has no date/time set, editable "When taken" fields will now be empty rather than cluttered with "[date/time unknown]". Non-editable fields and mouseovers will still display "[date/time unknown]" as before. * In the scripts uploading photos from camera memory (fotoxfer.sh, fotocopy.sh and fotoupload.sh), added an option to purge superfluous files (in particular, *.THM thumbnails). 02 November 2023 * Corrected parsing for a video's Rotation property. * Bugfix: Calendar widget now works properly again. Problem introduced when I replaced all occurrences of PHP-deprecated strftime() with date(), which uses different formats for date and time, inadvertently feeding these new formats to the calendar javascript. 31 July 2023 * Improved geotagging-related scripts extractgps.sh and removegps.sh to handle more metadata formats. * Added a link to more sample albums in user manual. * Bugfix: Deleting an archived album now succeeds. * When importing a zip file that exceeds upload_max_filesize, importphotoset.php now warns user that it's too big rather than just "Upload failed". * Noted in user manual that some browser/platform combinations (typically on smartphones) can't play Ogg Theora videos. * Updated URL for asciidoc website in user manual * Replaced all occurrences of deprecated strftime() with date(), changed date/time formats accordingly. * Added some extra parsing in case a video's Rotation tag is hard to detect. 25 August 2022 * Added a script, removegps.sh, to remove embedded GPS (latitude, longitude, altitude) metadata from a photo or video file. * Publish Albums tool now includes an option to remove embedded GPS metadata from the published album (leaves photos in PhotoTrove unchanged). 13 August 2022 * Tag menu now displays most-recently-used tags first, as in location menu. Requires a schema update. * Albums now display "next" and "previous" buttons below regular photos, the same as for videos. * In user manual, removed references to ifotoxfer.sh (and, by implication, ifotoload.sh) since the zip files can now be loaded directly. 09 July 2022 * Before unpacking an uploaded zip or tar file, PhotoTrove now checks that the submitted foldername doesn't already exist. 08 July 2022 * Simpler photo upload: When importing a photo set, user may now upload photos in a zip or tar archive file directly on the web page. PhotoTrove will prompt for a folder name, with a current timestamp as the default choice. * To support archive file uploads, "upload_max_filesize" is now 2GiB. * Removed obsolete code for a Flash player ("flowplayer") that PhotoTrove hasn't needed in over a decade. 02 July 2022 * Bugfix: a missing comma broke database access in new installations. 01 July 2022 * Importing a photo set, or adding individual photos, now tags images with "panorama" or "panorama-to-do" where EXIF data so indicates. * Album background and text colors now default to Photo Trove's own; before they had no defaults and could both be pure white. * Now downloads panorama components as a zip file instead of a tar file. * User may now download a copy of a published album as a zip file, without a login account on the server. * In searches, file name is now optionally case-sensitive * Updated user manual and added many screenshots. * PhotoTrove code and user manual are now separate downloads, now zip instead of tar format. 17 January 2022 * Clarified setup for PhotoTrove "travel version" in user manual. * Bugfix: script fotoupload.sh now erases memory card when option -e is selected. 24 November 2021 * Script integrate.sh now also captures deletedset so merged sets don't get reimported. * Bugfixes in some helper scripts. * Updated user manual Trovester section. 08 November 2021 * Fixed some more incompatibility with PHP 8.0. 07 November 2021 * Scripts fotoxfer.sh and scanxfer.sh now use rsync to transfer files and verify success. * Script fotoxfer.sh adds option to force filenames to uppercase (not just to lowercase). * Fixes to various shell scripts to reject invalid command-line options. * Fixes to various shell scripts to check current filename case before changing case. * Script resettvl.sh now works with recent distributions. * Changed deprecated string-offset syntax per PHP 8.0. 25 July 2021 * Bugfix: Updated script integrate.sh (used to reconcile photo data from a travel instance of PhotoTrove with the main service) with current photo attributes, replacing aperture, shutterspeed, focallength with latitude, longitude, altitude. 20 June 2021 * Stripped html tags from titles in links between album pages. * Changed GPS location display for easier copy-and-paste. * Displayed GPS location is now an html link to geohack.toolforge.org * Editing an album now offers ISO format when appending date to a caption. * Editing an album now offers to include GPS coordinates when appending location to a caption. 11 June 2020 * PhotoTrove now sets any Orientation tags (in EXIF metadata) to "Horizontal (normal)" to avoid ambiguities arising from inconsistent support in image-rendering software (PhotoTrove rotates images by transposing the pixels in the actual files). * For those upgrading from a previous PhotoTrove release, added a tool, scripts/fixexifrotation.sh, to ensure all EXIF Orientation tags in photos already in the collection are set to "Horizontal (normal)" to avoid ambiguity in rendering. * Added workaround for a bug in ffmpeg. 13 December 2019 * Bugfix: Uploading a stitched panorama failed after update to PHP 7.3, now works. 28 July 2019 * Now handles (rotates) video codec ffhevc aka ffh265. * Added a script, filenames-case.sh, which converts filenames of all photos in a specified photoset to either upper- or lowercase. This is useful when moving photos from one set to another, to distinguish photos with the same filename by changing the case of one set. * Added a script, ifotoxfer.sh, to simplify transfer of photos/videos from iPhone via ZIP file generated by iPhone "File Transfer" app. Very specific to that app but could easily be modified to handle other formats. * Search tool now displays GPS location for individual images if available. * A photo with latitude and longitude but not altitude no longer disrupts import. 20 February 2019 * Switched data modeling tools from no-longer supported DBDesigner Fork to well-supported pgModeler. No effect on web code but user manual now has new ERA diagrams and installation scripts use pgModeler-generated SQL. * Updated documentation with some guidance on iPhones. 13 February 2019 * Added some links to "About PhotoTrove". * Photo transfer scripts fotoxfer.sh and scanxfer.sh now warn if executed in a non-writable directory. * Removed unused photo attributes aperture, shutterspeed, and focallength and added GPS attributes latitude, longitude and altitude. * Now records GPS attributes latitude, longitude and altitude whenever a photo or video is imported, added, or replaced. * Added a PHP tool, "Capture geo-data", to extract GPS data from photos/videos already present. * Added a shell script, extractgps2db.sh, to extract GPS data from photos/videos already present. 31 December 2018 * With release of Debian 9.x "Stretch", video-tool issues are resolved, so PhotoTrove is updated for new package set in this release. Works with Ubuntu 18.10 "Cosmic Cuttlefish" too. Installation process (in EasyPhotoTrove) no longer works with now-obsolescent Debian 7.x "Wheezy". Upgrade also includes some lesser improvements, as follows: * importphotoset.php now ingests panoramas (e.g., from smartphones) without shrinking the web-size image. * In editset.php, on Confirm Photo Replacement page, title attribute of top (current) photo now displays just foldername/filename, omitting "fullsize". Message at bottom no longer lacks space between words. * Panorama tool now appends ", panorama from N preceding photos" to description. * Panorama tool now replaces "panorama-todo" tag with "component". * Generated albums that contain one or more panoramas advise readers how to scroll sideways in the browser (scrollbar or arrow keys). 20 October 2015 * Upload scripts fotoxfer.sh and scanxfer.sh now release (erase and umount) camera memory before commencing upload to server, so user isn't stuck without the memory until entire transfer completes (this can take long over wireless). 04 Jun 2015 * Replaced non-standard now() with CURRENT_DATE in SQL queries * In documentation, updated download link for Trovester appliance. 31 Jan 2015 * Removed test scaffolding, superfluous messages in updateschema.sh. * Bugfix: when search yields too many hits, thereby selecting all, untagging failed; now works properly. * fotoupload.sh et al now verify that foldername doesn't already exist in target. * Added some tips to User Manual. 29 Jan 2015 * Mouseover in thumbnail gallery now lists any tags for a photo. * Edit Photo Set worksheet now includes a checkbox to hide tagged photos. * Thumbnail gallery in Edit Photo Set worksheet now flags untagged photos with "T" (like the "L" and "D" for missing locations and descriptions). 28 Jan 2015 Improved support for tags. Support for automatic upgrade of database. 25 Jan 2015 Initial public release.