Photo Gallery X3.27.0
X3 core update loaded with improvements to galleries, functionality, performance and existing features.
Photo Gallery X3.27.0
Although no exciting new features, X3.27.0 is nevertheless a huge update featuring optimized code, faster galleries, bug fixes and the ability to play audio tracks from page folders. This release was originally part of X3.26.0 Panorama Plugin but eventually evolved into it's own release.
How to update?
Navigate to Panel › Tools › X3 Updates See X3 Docs
Gallery Improvements
Optimized X3 gallery layouts with faster rendering and improved functionality.
- X3 Popup
Many Improvements to X3 popup functionality and speed. Preview images are only loaded if image was already loaded into gallery, resized images are served on demand if required, and fullscreen button is now available on all devices that support native fullscreen forum - Lazy loader
Re-created lazy loader (function that loads images while scrolling) for a faster and more responsive interface. The new lazy loader will only trigger at certain distance intervals, and will ignore images that are below scroll threshold. Furthermore, resized image sizes are now calculated progressively on request instead of on page load. Likely you will find much smoother scrolling and rendering for large galleries (typically 100+ photos), especially on slower devices. - Image resizer
Re-created the Javascript image resizer with several benefits to speed and funtionality. X3 will only serve resized image if original dimensions are at least 20% larger than target dimensions, and cropped image requests will be served at original width (without "w" parameter) if target width is near original width. Also included smarter implementation for screens with high pixel ratio (retina), and added a console debugger for the image resizer. - Justified layout improved code with 50-70% improvement to render speed.
- Columns layout improved code for faster rendering.
- Grid layout faster rendering with pure CSS, and modified if only a single grid item forum
- Carousel layout code optimized, images fade in on load, and improved timer element.
- Slideshow layout optimized with faster rendering and improved image resizing. Slideshow now supports image links, and fullscreen mode may now load a larger version of the image.
Various
Various new features and improvements to functionality and performance.
- Improved HTML5 pushstate navigation
Re-coded the internal X3 page loading mechanism for swifter navigation. Improved browser history nav, which now stores page data in localStorage or native JS object instead of History object (limited). Improved caching mechanism, which ignores invalid requests (401, 404). - Play audio tracks from folders
Audio player will now play audio files (mp3) uploaded into each page as pages are navigated. If the current page does not contain audio, default audio from custom › audio will play. - Improved audio player autoplay based on recent browser restrictions [ref Google] more
Audio autoplay
There are several conditions that are considered when attempting to autoplay audio, including mobile- and browser restrictions, stored play state and browser window focus.
Visitor's previous play state
If X3 detects that the visitor has already interacted with the audioplayer (clicked to play or stop audio), the visitor's last play state will be given priority before the autoplay setting. For example, if the visitor has STOPPED the audio on previous visit, audio will NOT attempt to autoplay. If the visitor was PLAYING audio on previous visit, audio will attempt to autoplay (even if autoplay option is disabled). If visitor has not yet interacted with the audioplayer button (all new visitors), the autoplay setting will be used.
Autoplay browser restrictions
All mobile browsers and some desktop browsers (notably Chrome and Safari) will block audio autoplay [read more], until the visitor interacts with the website by click or touch. For browsers that do not allow immediate autoplay, X3 will autoplay audio after the visitor interacts with the website by click or touch within 1 minute after the website loads.
Browser window focus
Autoplay requires that the website's browser tab is in focus when the website loads. If the visitor is viewing a different website/tab, they would not want audio to autoplay from a background tab. Similar to above, X3 will instead autoplay audio after the visitor interacts with the website within 1 minute after the website loads.
Mobile autoplay
Audio will only autoplay on mobile devices if the visitor has previously interacted with the audioplayer and left it in PLAY state. Even then, because of mobile browser restrictions, autoplay will only be able to trigger once the visitor interacts with the website by touch. Autoplay on mobile devices is a bad idea, because mobile visitors don't expect audio to blast from their device just because they touch the screen, and not to mention unexpected bandwidth usage and poor sound quality. If they really want audio, they will click the play button.
- Audio playlists are now included directly in page data (html/json) instead of loading with Ajax.
- Support for BCC contact form recipients by using "bcc:name@email.com" screenforum
- Mail contact form can now show client IP by using %ip% in mail body template.
- Comparison slider vertical drag now works nicely on touch devices without scrolling page.
- Improved browser console logging and debugging. Use ?debug in URL to see output screen
- Re-coded X3 tests used to detect browser and device capabilities screen
- Updated 3rd party plugins Codemirror, cookieconsent, screenfull.js and twentytwenty.
- Video gallery layout respects layout order of caption items [title, description, preview]
- If intro-video [toggle play button] is disabled, video will always autoplay.
- Gallery crop settings now only supports integer values screen
- Improved automatic _blank targets (open in new window) for external links.
- Fotomoto plugin is now external plugin, loaded on-demand.
- Mobile menu will only be created for large screens if visitor resizes browser down to 1024 px.
- New plugin loader used to effectively load all external plugins and scripts.
- Optimized toolbar.
Control Panel
A few improvements to the X3 control panel.
- Zip action will now create archive structure relative to selected items forum
- Upgraded to jQuery 3.3.1 from 2.x branch. Faster!
- Updated dozens of external Javascript plugins.
- Added tooltip for file actions to prevent breaking layout in different languages screen
- Improved console debugging avaialable by appending ?debug to URL.
Bugs / Fixes
- Fixed various IPTC (image meta data) bugs when reading and writing data to image forum
- Form labels are now styled properly for all X3 skins forum
- Fixed slideshow captions when mouse hover disabled.
- Fixed bug with popup indexing when mixing links and images.
- Dots in folder names no longer break password protected pages forum
- Fixed Fotomoto popup button click mobile bug forum
- Fixed so that browser back button will close X3 popup (if auto-opened).
- Fixed so that browser back button will close X3 slideshow (if auto-fullscreen).
- Fixed so that "block image downloads" also works in slideshow fullscreen mode forum
- Fixed Firefox 640k limit HTML5 pushstate bug forum
- Fixed broken navigate_to_path() function when searching from the control panel screen
- Fixed when localStorage attempts to store data amount exceeding browser limit screen
- Fixed so Settings › Advanced › Disable Menu will now also disable mobile menu forum
- X3 will now bypass critical IPTC bug in PHP 7.3.0/7.3.1/7.3.2forum
- Fixed a few bugs when Symlink request cache is disabled forum
- Symlink request cache is now always disabled on Windows OS servers forum
- Fixed cases where body slug class on index page may be "undefined" screen
- Fixed a few PHP 7 warnings that may have been displaying in Apache/PHP error log.
- Fixed Ajax bug with topbar menu on large iOS devices (iPad Pro).