This article outlines the infrastructure changes needed for the upgrade to NetX 8.12.
There are many database schema changes in 8.12, and the upgrade process could take up to several hours depending on how many attributes your system has. Please be patient while updating, and check stderr.log and exogen.log to ascertain when the upgrade is complete. If you have any questions or concerns, please contact email@example.com.
Before upgrading NetX make the following changes to (netx-install-home)/server.xml. NetX recommends copying (netx-install-home)/conf/default-server.xml and backporting any implementation-specific modifications that were used in 8.11
UnpackWars = true - this change is necessary for increased performance on Tomcat 8, which NetX 8.12 uses. Without this change, startup time is extremely slow. It must be made inside the "Host" section of server.xml:
Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false"
NetX now uses NIO (non-blocking IO) instead of BIO (blocking IO) for the connector type because of websocket support. This upgrade should be automatic with the upgrade to tomcat 8.5. The default http connector type uses an auto-switching mechanism whenever NIO is needed for WebSocket support (see below). The http connector block MUST include useSendFile="false".
If you are using NetX behind a proxy make sure to update the connector block with the same port, scheme, ProxyPort, and ProxyName to reflect your previous setup. For example:
We have updated our naming scheme for the tomcat access logs. (see default-server.xml). We recommend this change is made on upgrade to the access log valve. This will conform with NetX's supported standard for access log naming and help with support requests.
Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/access" pattern="common" prefix="access" renameOnRotate="true" resolveHosts="false" suffix=".log"
WebSocket support for review and approval feature
If your organization is running NetX behind a proxy and/or load balancer, WebSocket support must be enabled on the proxy in order to support the review and approval feature. For some proxy servers and load balancers, this may be automatic, or a simple feature that can be turned on. For some this may require a few lines of detecting the HTTP upgrade header and proxying those connections to the ws:// protocol. Another way to do this is to test for the URL, e.g.: "https://your-public-netx-endpoint/websocket" and proxy any connections to "ws://netx.ip.address/websocket".
As always, for specific implementation details for 3rd party technologies check your vendor-specific documentation. e.g. IIS/apache/ELB/F5
NetX 8.12 requires using a supported version of Java SE 8. If you are running on Linux, make sure to update your JAVA_HOME environmental variable in your /opt/netx/bin/setenv.sh to reflect the new java location. On windows the installer may automatically locate the new java version. If not, see here for manual instructions: JDK - Java Development Kit.
Because NetX 8.12 uses Java SE 8, we have updated our list of supported JDBC drivers with new versions to reflect this change. See Supported JDBC Drivers for download links and installation instructions.
FFmpeg and FFprobe
Previous versions of NetX only utilized the ffmpeg.exe (or ffmpeg on linux) binary to transcode video. Starting in NetX 8.12, some features require both ffmpeg and ffprobe binaries. If ffmpeg is installed, make sure the ffprobe or ffprobe.exe binary exists in the same directory as ffmpeg. For more details on how to install ffmpeg, see FFmpeg Installation Guide.
Historically, Tomcat has been creating 0-length files (`manager.log`, `host-manager.log`, `localhost.log`) files in NetX installations, which get needlessly backed-up, rotated, etc. If you want to eliminate the clutter of those useless logs, simply delete <netx-install-home>/conf/logging.properties before or after the upgrade to 8.12.