The Nuxeo Platform modules use external software for some features. They need to be installed on the server in addition to Nuxeo application.
On a naked default Nuxeo Platform, you need the following software:
- For web preview of office documents: LibreOffice and pdftohtml
- LibreOffice (version >= 5): converts office file into PDF
- pdftohtml: converts converted PDF into HTML preview
- For thumbnail generation: ImageMagick and Ghostscript for most file formats. UFRaw for RAW files.
- For processing WordPerfect documents: libwpd
If you installed the Nuxeo DAM addon, you will need these additional requirements:
- For metadata extraction: Exiftool
- For picture preview and tilling: ImageMagick (already required for thumbnails)
- For video conversion and storyboarding: FFmpeg
- For subtitles extraction from videos: CCExtractor
Thumbnails and previews are created when documents are imported into Nuxeo, not on the fly when browsing documents. So in order to check if the third party software work properly on your Nuxeo instance, you must import new documents.
Linux
Under Debian or Ubuntu, most of these can be installed by the following command:
$ sudo apt-get install openjdk-8-jdk imagemagick ufraw poppler-utils libreoffice ffmpeg libwpd-tools ghostscript exiftool
Installing the FFmpeg package from your distribution's repository may not provide you with support for all video formats. Refer to the additional formats support for FFmpeg section for more information.
LibreOffice Configuration
Minimum required version
The minimum version required is LibreOffice 5. The soffice program must be added to the PATH environment variable.
Installation location and Path configuration
For preview to work, the server must start LibreOffice. The Nuxeo Platform looks for LibreOffice at different locations on the system. See PlatformUtils.java definition for searched locations.
If LibreOffice isn't available at one of these locations, you need to add the soffice
program to your path: Edit the Path
system variable and add ;OFFICE_INSTALL_DIRECTORY\program
.
nuxeo.conf
:
jod.office.home=/path/to/libreoffice
Non-latin languages configuration
If you'll be working with non-latin languages:
- Start LibreOffice manually.
- Install the additional fonts you may need for non-default languages.
Controlling Threads Used by ImageMagick
By default ImageMagick is multi threaded and will use all the available CPUs. This creates burst of CPU usage, especially when thumbnail is generated concurrently.
Hopefully you can control the number of threads used by ImageMagick either by:
- Editing
/etc/ImageMagick/policy.xml
and setting<policy domain="resource" name="thread" value="1"/>
. - adding an environment variable
export MAGICK_THREAD_LIMIT=1
in the nuxeo user.bash_profile
.
CCExtractor Installation
CCExtractor is used to extract subtitles from videos.
Installing CCExtractor on a GNU/Linux distribution requires to compile it from source. The recommended way to do it is to use our "in-docker-build": https://github.com/nuxeo/nuxeo-tools-docker/tree/master/ccextractor.
To generate a package (by default for the latest Ubuntu LTS) issue the following commands:
$ sudo apt-get update
$ sudo apt-get install docker
$ cd /tmp
$ git clone https://github.com/nuxeo/nuxeo-tools-docker.git
$ cd nuxeo-tools-docker/ccextractor
$ sudo ./build-package.sh
macOS and OS X
The macOS installation instructions provided use Homebrew.
LibreOffice and pdftohtml for Office and PDF Preview
Installing LibreOffice and pdftohtml on the server is only required if you need to use preview on PDF and office documents. pdftohtml is used for previewing PDF files. It is included in poppler.
LibreOffice
LibreOffice is used for preview on office documents in association with pdftohtml.
Minimum required version
The minimum version required is LibreOffice 5. The soffice program must be added to the PATH environment variable.
Download and install LibreOffice from http://www.libreoffice.org/.
Installation location and Path configuration
For preview to work, the server must start LibreOffice. The Nuxeo Platform looks for LibreOffice at different locations on the system. See PlatformUtils.java definition for searched locations.
If LibreOffice isn't available at one of these locations, you need to add the soffice
program to your path: Edit the Path
system variable and add ;OFFICE_INSTALL_DIRECTORY\program
.
nuxeo.conf
:
jod.office.home=/path/to/libreoffice
Non-latin languages configuration
If you'll be working with non-latin languages:
- Start LibreOffice manually.
- Install the additional fonts you may need for non-default languages.
pdftohtml
To install pdftohtml using Homebrew:
$ brew install poppler
ImageMagick
ImageMagick is used in association with Ghostscript to generate the document thumbnails. It is also used by the Nuxeo DAM add-on for the preview and tiling of pictures.
To install ImageMagick using Homebrew:
$ brew install imagemagick
Ghostscript
Ghostscript is used in association with ImageMagick to generate the thumbnails of documents.
To install Ghostscript using Homebrew:
$ brew install ghostscript
FFmpeg
FFmpeg is required by the Nuxeo DAM addon. It is used to create the storyboard of videos and convert them to additional formats.
To install FFmpeg using Homebrew:
$ brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype \
--with-frei0r --with-libass --with-libbluray --with-libcaca \
--with-libquvi --with-libvidstab --with-libvo-aacenc --with-libvorbis \
--with-libvpx --with-opencore-amr --with-openjpeg --with-openssl \
--with-opus --with-rtmpdump --with-schroedinger --with-speex \
--with-theora --with-tools --with-x265 --with-faac
This install most libraries. You can of course remove the libraries that are needed for the video files you will be managing. Use brew info ffmpeg
for details about each library available.
UFRaw
UFRaw is used in association with ImageMagick and Ghostscript to generate RAW document thumbnails.
To install UFRaw using Homebrew:
$ brew install ufraw
libwpd
libwpd used to process WordPerfect documents.
To install libwpd using Homebrew:
$ brew install libwpd
ExifTool
ExifTool is required by the Nuxeo Binary Metadata add-on. It is used to extract and override binaries metadata.
To install ExifTool using Homebrew:
$ brew install exiftool
CCExtractor
CCExtractor is used to extract subtitles from videos.
To install CCExtractor using Homebrew:
$ brew install ccextractor
Windows
The following software are already included when using the .exe installer:
- FFmpeg
- ImageMagick
- pdftohtml
- ghostscript
- Exiftool.
The installer does not install them globally in Windows: they are available from the 3rdparty
folder of the server tree and added to the PATH
by the nuxeoctl.bat script.
If not already present on the system, you will have the option to automatically install LibreOffice and PostgreSQL.
Warning about ImageMagick: Some versions of Windows come with a System utility command named convert
whose name conflicts with the ImageMagick's command of the same name. After installing Nuxeo, you can check if there will be a conflict:
- Open a terminal and use the
where convert
command. The output will tell you which command is in thePATH
. If you don't see ImageMagick in the result (it must be the first of the list, or the only one), then you must copy the path to ImageMagick and add it to the
PATH
System variable.Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
LibreOffice and pdftohtml
Installing LibreOffice and pdftohtml on the server is only required if you need to use preview on PDF and office documents. pdftohtml is used for previewing PDF files. It is included in poppler.
LibreOffice
LibreOffice is used for preview on office documents in association with pdftohtml.
Minimum required version
The minimum version required is LibreOffice 5. The soffice program must be added to the PATH environment variable.
Download and install LibreOffice from http://www.libreoffice.org/.
Installation location and Path configuration
For preview to work, the server must start LibreOffice. The Nuxeo Platform looks for LibreOffice at different locations on the system. See PlatformUtils.java definition for searched locations.
If LibreOffice isn't available at one of these locations, you need to add the soffice
program to your path: Edit the Path
system variable and add ;OFFICE_INSTALL_DIRECTORY\program
.
nuxeo.conf
:
jod.office.home=/path/to/libreoffice
Non-latin languages configuration
If you'll be working with non-latin languages:
- Start LibreOffice manually.
- Install the additional fonts you may need for non-default languages.
pdftohtml
- Install the poppler binary (available from this blogpost).
Old pdftohtml binaries are available from http://sourceforge.net/projects/pdftohtml/files/, but they are obsolete. It is recommended to use poppler.
Copy the path to the
bin
folder inside Poppler's installation directory (e.g.C:\Program Files (x86)\Poppler\bin
) and add it to thePATH
system variable.Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
ImageMagick
ImageMagick is used in association with Ghostscript to generate the document thumbnails. It is also used by the Nuxeo DAM add-on for the preview and tiling of pictures.
Installing ImageMagick
ImageMagick is installed by the Nuxeo Platform Windows installer (.exe), but here are the steps to install it manually in case you used the .ZIP distribution.
- Download the ImageMagick installer from http://www.imagemagick.org/.
Run the installer and make sure you check the option to add ImageMagick to the
PATH
.Some versions of Windows come with a System utility command namedconvert
whose name conflicts with the ImageMagick's command of the same name See the ImageMagick Note above.
Controlling ImageMagick Multi-Threads
By default ImageMagick is multi threaded and will use all the available CPUs. This creates burst of CPU usage, especially when thumbnail is generated concurrently.
Hopefully you can control the number of threads used by ImageMagick either by:
- Editing
/etc/ImageMagick/policy.xml
and setting<policy domain="resource" name="thread" value="1"/>
. - adding an environment variable
export MAGICK_THREAD_LIMIT=1
in the nuxeo user.bash_profile
.
Ghostscript
Ghostscript is used in association with ImageMagick to generate the thumbnails of documents.
- Use the installer available from the Ghostscript download page.
Copy the path to the bin folder inside Ghostscript's installation directory (e.g.
C:\Program Files\gs\gs9.20\bin
) and add it to thePATH
system variable.Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
FFmpeg
FFmpeg is required by the Nuxeo DAM addon. It is used to create the storyboard of videos and convert them to additional formats.
- Download FFmpeg from https://ffmpeg.org/download.html.
Extract the FFmpeg archive into a new folder, named
C:\Program Files\FFmpeg
for instance.The archives provided by this website should be decompressed with: 7-Zip
Copy the path to the bin folder inside FFmpeg's directory (e.g.
C:\Program Files\FFmpeg\bin
) and add it to thePATH
system variable. This can be done by:Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
UFRaw
UFRaw is used in association with ImageMagick and Ghostscript to generate RAW document thumbnails.
- Download and install UFRaw from http://ufraw.sourceforge.net/Install.html#MS.
Copy the path to the bin folder inside UFRaw's installation directory (e.g.
C:\Program Files (x86)\UFRaw\bin
) and add it to thePATH
system variable.Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
Exiftool
Here are some quick installation steps to install Exiftool. Full installation steps are available at http://www.sno.phy.queensu.ca/~phil/exiftool/install.html.
To install Exiftool:
- Download the standalone distribution.
- Unzip the distribution to a folder, named
C:\Program Files (x86)\exiftool
for example. Copy the path to the
exiftool
folder and add it to thePATH
environment variable.Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
Rename the extracted .exe into
exiftool.exe
.
CCExtractor
CCExtractor is used to extract subtitles from videos.
- Download the windows binaries.
Unzip the contents to a folder, for example
C:\Program Files (x86)\CCExtractor
. Copy the path to it and add it to the thePATH
system variable.Open File Explorer, right-click on "This PC" and click on Properties.
On the System pane select Advanced system settings.
On the Advanced tab, click Environment Variables... and edit the
PATH
system variable to add the path you copied (use a;
to separate values).
Rename
ccextractorwin.exe
toccextractor.exe
.