Edit online

Installing

Oxygen Publishing Engine requires Java 17 or later.

To install and integrate Oxygen Publishing Engine, follow these steps:

  1. Download and install Java 17 or later.
  2. Download and unzip Oxygen Publishing Engine version 26.1.
  3. Register your license key.
Edit online

How to Use Oxygen Publishing Engine inside Oxygen

It is possible to use Oxygen Publishing Engine within Oxygen XML Editor/Author by simply following these steps:
  1. Go to Options > Preferences... > DITA > DITA Open Toolkit change the radio button to Custom.
  2. Set the custom path to the unzipped folder. Make sure the path ends with oxygen-publishing-engine.
Edit online

How to Use Oxygen Publishing Engine from a Docker Container

This topic explains how to create, build, and use Oxygen Publishing Engine with Docker. It is for Mac or Linux systems.

To create and use the Oxygen Publishing Engine Docker image, follow these steps:

  1. Download and install Docker.
  2. Create an ope-docker directory and open it.
  3. Create a Dockerfile file inside the folder with the following content:
    FROM eclipse-temurin:17-jre
    
    SHELL ["/bin/bash", "-o", "pipefail", "-c"]
    
    LABEL "maintainer"="Syncro Soft (Oxygen XML)"
    LABEL "org.opencontainers.image.authors"="https://www.oxygenxml.com"
    LABEL "org.opencontainers.image.documentation"="https://www.oxygenxml.com/doc/ug-ope/"
    LABEL "org.opencontainers.image.vendor"="Syncro Soft (Oxygen XML)"
    LABEL "org.opencontainers.image.licenses"="Oxygen XML License"
    LABEL "org.opencontainers.image.title"="Oxygen Publishing Engine"
    LABEL "org.opencontainers.image.description"="Oxygen Publishing Engine (based on DITA OT) for content authored in the Darwin Information Typing Architecture."
    LABEL "org.opencontainers.image.source"="https://www.oxygenxml.com/publishing_engine.html"
    
    RUN export DEBIAN_FRONTEND=noninteractive
    # Install unzip utility
    RUN apt-get update -q
    RUN apt-get install -qy --no-install-recommends -y unzip
    # Remove cache left by apt-get
    RUN rm -rf /var/lib/apt/lists/*
    
    # Download oxygen publishing engine and copy it to the /opt/app/ folder
    RUN curl -sLo /tmp/ope.zip https://www.oxygenxml.com/InstData/PublishingEngine/oxygen-publishing-engine.zip
    RUN unzip -qq /tmp/ope.zip -d /tmp/
    RUN mv /tmp/oxygen-publishing-engine /tmp/ope
    RUN rm /tmp/ope.zip
    RUN mkdir -p /opt/app
    RUN mv /tmp/ope /opt/app/
    RUN chmod 755 /opt/app/ope/bin/dita
    
    # Create the script which creates the license key on disk 
    # before running the transformation and then invokes the dita script
    RUN echo "#! /bin/sh" >> /opt/app/ope/bin/setup
    # Create a license key file from the env variable, run the "dita" script and then remove license file at the end.
    RUN echo "echo \"\$LICENSE_KEY\" > /opt/app/ope/licensekey.txt" >> /opt/app/ope/bin/setup
    RUN echo "/opt/app/ope/bin/dita \$@" >> /opt/app/ope/bin/setup
    RUN chmod 755 /opt/app/ope/bin/setup
    RUN chmod +x /opt/app/ope/bin/setup
    
    # Create a particular user under which to run the build.
    RUN useradd -ms /bin/bash ope
    RUN chown -R ope:ope /opt/app/ope
    USER ope
    
    # Set env variables and define the entry point.
    ENV OPE_HOME=/opt/app/ope
    ENV PATH=${PATH}:${OPE_HOME}/bin
    WORKDIR $OPE_HOME
    ENTRYPOINT ["/opt/app/ope/bin/setup"]
  4. Set the version by running the export VERSION=26.1 command, then build the image by using the following commands:
    docker image build -t oxygen-publishing-engine:$VERSION .
  5. Create a licensekey.txt file inside the folder and copy the license key in it.
  6. Run the transformation from the Docker image:
    sudo docker run -e LICENSE_KEY="$(<licensekey.txt)" \
    --rm --name dita-ot-publish \
    -v ~/OxygenXMLEditor/samples/dita/flowers:/src \
    oxygen-publishing-engine:$VERSION \
    -i /src/flowers.ditamap \
    -o /src/out/pdf-css-html5 \
    -f pdf-css-html5 -v
    sudo docker run -e LICENSE_KEY="$(<licensekey.txt)" \
    --rm --name dita-ot-publish \
    -v ~/OxygenXMLEditor/samples/dita/flowers:/src \
    oxygen-publishing-engine:$VERSION \
    -i /src/flowers.ditamap \
    -o /src/out/webhelp-responsive \
    -f webhelp-responsive -v