At line 1 added 3 lines |
__IMPORTANT:__ |
Since August 2023 we've found ImageMagick to be unstable or completely incompatible with javaexec. We strongly recommand to use __[GraphicsMagick|http://www.graphicsmagick.org/]__ instead. It's a compatible, well maintained forked version of ImageMagick, their dev team boasts 0 bugs per 1000 lines of code.\\ |
---- |
At line 2 changed 2 lines |
first (usually title) page is rendered, for videos, 10 slides evenly sampled along the duration time.\\ |
[{Image src='preview_main.jpg' width='1440' height='..' align='left' style='..' class='..' }] |
first (usually title) page is rendered. For videos, 10 slides evenly sampled along the duration time, moving the mouse cursor horizontally over the thumbnail will play the slides.\\ |
[{Image src='preview_main.png' width='1440' height='..' align='left' style='..' class='..' }] |
At line 6 changed 3 lines |
Thumbnails generation relies on widely used free 3rd party conversion utilities, either part of the host operating system ( qlmanage in case of Mac OS ), can be downloaded from either the OS apps repository ( Linux yum and apt), or as a standalone package from the maintainer's site ( Windows, all OS).\\ |
The Preview settings page has a dropdown selector list displayed dynamically based on the host OS platform, we'll display the available presets for image and video preview. In case of Windows, |
Linux the conversion utilities need to be deployed manually.\\ |
Thumbnails generation relies on widely used free 3rd party conversion utilities. CrushFTP renders the thumbnail list, but it doesn't include no native media conversion code to generate these, except the conversion scheduler. This latter we call the __Preview Scanner__ component. The required external media conversion utilities are either part of the host operating system (in case of Mac OS), can be downloaded from the OS apps repository ( Linux yum and apt), or as a standalone package from the maintainer's site (Windows, all OS). In case of Windows and Linux the conversion utilities need to be deployed manually.\\ |
Support for GraphicsMagic only exists from CrushFTP __v10.5.0 Build: 5__ and upwards, previous versions need to be updated.\\ |
At line 46 changed one line |
On __Windows__ platforms will need to user GraphicsMagick mandatorily, for the recent versions of ImageMagick will not work with Java no more. There are options, either use the binary installer, or use the portable __.zip__ package and deploy it somewhere.\\ |
On __Windows__ platforms will need to use GraphicsMagick mandatorily, for the recent versions of ImageMagick will not work with Java no more. There are options, either use the binary installer, or use the portable __.zip__ package and deploy it somewhere.\\ |
At line 49 changed 2 lines |
GraphicsMagick [http://www.graphicsmagick.org/download.html|http://www.graphicsmagick.org/download.html]\\ |
Ghostscript [https://ghostscript.com/releases/gsdnld.html|https://ghostscript.com/releases/gsdnld.html]\\ |
GraphicsMagick: [http://www.graphicsmagick.org/download.html|http://www.graphicsmagick.org/download.html]\\ |
Ghostscript: [https://ghostscript.com/releases/gsdnld.html|https://ghostscript.com/releases/gsdnld.html]\\ |
At line 52 changed one line |
On __Mac OS__ platforms usually don't need to do nothing, the conversion utility is readily available, need to use the __qlmanage__ preset, it will work out of the box. |
On __Mac OS__ platforms, you usually don't need to do anything, the conversion utility is readily available, just use the __qlmanage__ preset, it will work out of the box. |
At line 68 changed one line |
On __Mac OS__ platforms usually don't need to do nothing, the conversion utility is readily available, need to use the __pcastaction__ preset, it will work out of the box. |
On __Mac OS__ platforms, you don't need to do anything, the conversion utility is readily available, just use the __pcastaction__ preset, it will work out of the box. |
At line 72 changed one line |
We can display additional information under the thumbnails on hover, if __exiftool__ is deployed. It's not a mandatory component, but if needed, on Linux can install it from the apps repository, on Windows, download the binary from [https://exiftool.org/|https://exiftool.org/], drop it into the GraphicsMagick binary's parent folder. On Mac OS, need to download and install from the __dmg__ package. |
We can display additional information under the thumbnails, and potentially all image metadata in the [Quickview|quick Preview] perspective, if __exiftool__ is deployed. It's not a mandatory component, Preview works fine without.\\ |
On Linux can install it from the official apt, yum, dnf, etc. repository. |
On newer versions of Windows, the original Phil Harvey build may not work, in that case need to use the alternate build\\ |
At line 78 added 2 lines |
Original: [https://exiftool.org/|https://exiftool.org/]\\ |
Alternate(includes Perl runtime): [https://oliverbetz.de/pages/Artikel/ExifTool-for-Windows|https://oliverbetz.de/pages/Artikel/ExifTool-for-Windows]\\ |
At line 81 added 10 lines |
Deploy the installer version, or download the portable zip, unpack and drop it into the GraphicsMagick binary's parent folder.\\ |
On Mac OS, need to download and install from the __dmg__ package.\\ |
\\ |
To actually display the EXIF data, need to configure in [User Manager|User Manager]->Available Customizations section the __Display EXIF info keys in quick view__ option.\\ |
To edit the EXIF data, need to enable the __Editable EXIF info keys__ option.\\ |
\\ |
[{Image src='usermanager_config1.jpg' width='1440' height='..' align='left' style='..' class='..' }] |
|
\\ |
\\ |
At line 78 removed one line |
[{Image src='preview_config2.jpg' width='1440' height='..' align='left' style='..' class='..' }] |
At line 80 changed one line |
In some cases the automatic __Working directory__ path may be inaccurate, in that case, |
[{Image src='preview_config2.jpg' width='1440' height='..' align='left' style='..' class='..' }]\\ |
At line 82 changed one line |
[{Image src='preview_config1.jpg' width='1440' height='..' align='left' style='..' class='..' }] |
In some cases the automatic __Working directory__ path may be inaccurate, in that case, use the right side __Browse__ button to locate the installation directory of the media conversion utility. |
At line 84 changed 13 lines |
!Heading 2 title |
Holding down the Alt key while click the Add Folder button allows adding remote items (FTP://, SMB3://, etc.) |
|
So the top half of the window in general you don't touch or change anything. Just use the preset menu. The bottom half of the window, you specify directories that CrushFTP should monitor for new files. When it sees a new file, it generates a thumbnail for that file. |
|
You can also have thumbnails generated for movie files. OS X has a built in method for doing this, other OS's can use other utilities such as FFmpeg. Still frames will be grabbed out of movies and made available as the mouse hovers over the icon. |
|
[attachments|preview2.png] |
|
The WebInterface with previews being generated may look something like this. |
|
[attachments|webinterface_folders.png] |
|
\\ |
[{Image src='preview_config1.jpg' width='1440' height='..' align='left' style='..' class='..' }]\\ |
\\ |
Then in the __lower half__ of the Preview config page, use the __Add folder__ button to browse for the user data directory to be processed by the Preview Scanner. This usually is the top level directory of all user VFS data directories.\\ |
\\ |
Holding down the Alt key or Shift key while click the Add Folder button allows adding remote items (FTP://, SMB3://, etc.)\\ |
\\ |
So the top half of the window in general you don't touch or change anything. Just use the preset menu. The bottom half of the window, you specify directories that CrushFTP should monitor for new files. When it sees a new file, it generates a thumbnail for that file.\\ |
\\ |
To enable __both images/documents and videos preview__, need to add one instance of the Preview config for each with the appropriate preset, using the top right corner __Add Config__ button.\\ |
\\ |
!Config parameters explained:\\ |
__Caution : Changing these fields needs extreme caution as invalid arguments could result in data loss ! __\\ |
\\ |
;Conversion utility presets:as mentioned above, to choose a conversion preset for images, videos based on the available utility and OS platform |
;Supported file extensions:the file extensions we'll generate thumbnails for. For those unsupported or not listed, we'll render the default icons |
;Command Line:the commands the Preview Scanner issues to call the conversion utility. |
;Working Directory:the parent directory path of the conversion utility package's main binary |
;Environment Variables:some of the conversion tools may read additional parameters from the shell environment these run within, such can be forced here |
;Frames:only for video preview, this sets the number of slides we generate |
;Info command line:only for video preview, this sets the command to query the video length. the returned value is divided internally by the Frames value to generate the position of the slide |
;Get image EXIF info:only used with exiftool, the command to query image files' metadata |
;Set image EXIF info:only used with exiftool, the command to update image files' metadata |
;Scan subdirectories of directories in below list:toggles recursive scan of the data directories |
;Delete thumbnails for files that no longer exist:toggles automatic cleanup of the Previews thumbnail database. May need to turn off in case the VFS backend is unstable. |
;Scan interval in minutes:the frequency of the Preview Scanner's scheduler. The more aggressive, the quicker new files are detected at the cost of higher the CPU load |
;Threads:multithreaded scanner, needs to be set 2x the number of CPU cores |
;Timeout:timeout of a scanner thread, if reached, the failing file will also be blacklisted |
;Previews Path:the location of the Preview thumbnails database, by default the CrushFTP10 installation directory. Need to relocate to a separate drive if the users' VFS directory structure is large |
\\ |
!Troubleshooting:\\ |
Issues with Preview can be traced in the main server log, the __Log__ tab reveals a filtered stream on Preview specific activity.\\ |
\\ |
[{Image src='preview_log.jpg' width='1440' height='..' align='left' style='..' class='..' }] |