Warning

There are known security vulnerabilities in Open XDMoD versions ≤11.0.2. We strongly encourage upgrading immediately to the latest version of Open XDMoD, 11.0.3, which contains fixes for these vulnerabilities.

To upgrade version 8.1 to 11.0.3, you will first need to upgrade to version 8.5.0, then upgrade to version 9.0.0, then upgrade to version 9.5.0, then upgrade to version 10.0.3, then upgrade to version 10.5.1, then upgrade to version 11.0.3.

If you cannot upgrade immediately, you can follow the instructions below to manually patch your installation as a temporary workaround before upgrading later.

Workaround instructions
  1. First, make sure you are on the correct web page for your version of Open XDMoD. The web page you are on now is for version 8.1. Other versions' pages are linked below:
  2. Download the patch file for your version:
  3. Copy the patch file to your Open XDMoD web server.
  4. Make sure you have the patch command installed; it can be installed with dnf install patch.
  5. Apply the patch by running the command below, replacing [PATH_TO_XDMOD_SHARE_DIR] with the path to the share directory (/usr/share/xdmod for RPM-based installs, /opt/xdmod/share or another location for source code installs) and replacing [PATH_TO_PATCH_FILE] with the path to the patch file.
    # patch -p1 -d [PATH_TO_XDMOD_SHARE_DIR] < [PATH_TO_PATCH_FILE]
  6. Upgrade to the latest version of Open XDMoD as soon as you can.

Developing → Code Organization

Depending on the method used to install Open XDMoD, the location of various files will differ. This document will attempt to outline the destination of these files and their location in the source tarball.

The “Source Tarball” paths refer to the relative paths of files in the decompressed source distribution before they are installed. The installation process changes the paths to attempt to conform with the Filesystem Hierarchy Standard. The installation process also changes the paths used in several files to reference the location of the installed files.

The “Source Installation” paths listed below assume that /opt/xdmod has been used as the installation prefix.

Non-User Executables

  • Source Tarball: background_scripts/
  • RPM Installation: /usr/lib/xdmod/
  • Source Installation: /opt/xdmod/lib/

User Executables

  • Source Tarball: bin/
  • RPM Installation: /usr/bin/
  • Source Installation: /opt/xdmod/bin/

PHP Classes

  • Source Tarball: classes/
  • RPM Installation: /usr/share/xdmod/classes/
  • Source Installation: /opt/xdmod/share/classes/

Configuration Files

  • Source Tarball: configuration/
  • RPM Installation: /etc/xdmod
  • Source Installation: /opt/xdmod/etc/

The following configuration files are also installed by the RPM:

  • /etc/cron.d/xdmod
  • /etc/httpd/conf.d/xdmod.conf
  • /etc/logrotate.d/xdmod

Database Files

Database schema files, data files and database migrations.

  • Source Tarball: db/
  • RPM Installation: /usr/share/xdmod/db/
  • Source Installation: /opt/xdmod/share/db/

Documentation

HTML and Markdown versions of the documentation along with the license files.

  • Source Tarball: docs/
  • RPM Installation: /usr/share/doc/xdmod-8.1.0/
  • Source Installation: /opt/xdmod/share/

External Libraries

Various open source libraries used by Open XDMoD.

  • Source Tarball: external_libraries/
  • RPM Installation: /usr/share/xdmod/external_libraries/
  • Source Installation: /opt/xdmod/share/external_libraries/

HTML

HTML files used by the Open XDMoD portal.

  • Source Tarball: html/
  • RPM Installation: /usr/share/xdmod/html/
  • Source Installation: /opt/xdmod/share/html/

Open XDMoD Libraries

Non-class PHP code.

  • Source Tarball: libraries/
  • RPM Installation: /usr/share/xdmod/libraries/
  • Source Installation: /opt/xdmod/share/libraries/

Log Files

  • Source Tarball: logs/
  • RPM Installation: /var/log/xdmod/
  • Source Installation: /opt/xdmod/logs/

Report Generator Code

Includes the Java code used to generate reports.

  • Source Tarball: reporting/
  • RPM Installation: /usr/share/xdmod/reporting/
  • Source Installation: /opt/xdmod/share/reporting/

Configuration Templates

Template files used by xdmod-setup to generate config files.

  • Source Tarball: templates/
  • RPM Installation: /usr/share/xdmod/templates/
  • Source Installation: /opt/xdmod/share/templates/