Oxygen SDK 17.1

The Oxygen SDK provides support for creating Oxygen plugins, frameworks project development, as well as other integrations. The SDK is a collection of Maven artifacts and archetypes. It allows you to leverage the vast number of Maven plugins for your Oxygen project and integrates it easily with your current development process.

In case your build system is not based on Maven, you can download the package with all the Oxygen SDK jar files: oxygen-sdk-17.1.0.4-all.zip

A multi-module startup project is available. It allows you to customize any aspect of the Oxygen XML-editing platform. The startup project archetype does not require additional download and provides a perfect starting point for any Oxygen XML customization project.

The Oxygen SDK offers support for:

  • Author Framework development and customization
  • Integration into an applet or a standalone Java application
  • Integration as a server side web application with an HTML5 front-end
  • Development of plugins for the Oxygen standalone distribution
  • Development of Eclipse plugins extending the Oxygen distribution for Eclipse

In order to be compatible with all Oxygen packages and installations, on all supported operating systems, the Java extensions in the SDK need to be compiled with Java 1.6 compatibility.

Startup Project Archetype Details

The Author SDK startup project is available as a Maven archetype with the following details:

archetypeGroupId: com.oxygenxml.samples
archetypeArtifactId: oxygen-sdk-samples-archetype
archetypeVersion: 17.1.0.4
archetypeRepository:http://oxygenxml.com/maven/

The archetype is available from Oxygen's public repository located at http://oxygenxml.com/maven/. You should configure this repository in your Maven settings as explained below.

Configure Maven

First configure Maven to use Oxygen SDK repository. You can do this by adding the following snippet in the .m2/settings.xml file used by Maven. The settings file is typically found in the user home directory.

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 
    http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <!-- ... Other settings .... -->
   <profiles>
          <profile>
                <id>oxy</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <repositories>
                    <repository>
                            <id>public</id>
                            <name>oXygen public artifacts</name>
                            <url>https://www.oxygenxml.com/maven</url>
                            <releases>
                                    <enabled>true</enabled>
                            </releases>
                            <snapshots>
                                    <enabled>true</enabled>
                            </snapshots>
                    </repository>
                    <!-- ... Other repository definitions ...-->
                </repositories>
          </profile>
    </profiles>
  <!-- ... Other settings .... -->
</settings>

Make sure that Maven can access the Oxygen repository. If your organization uses an HTTP proxy server, you need to specify it in the .m2/settings.xml configuration file:

<!-- ... Other settings .... -->
    <proxies>
        <proxy>
          <id>myproxy</id>
          <active>true</active>
          <protocol>http</protocol>
          <host>proxy.mycompany.com</host>
          <port>3128</port>
          <username></username>
          <password></password>
          <nonProxyHosts>localhost,127.0.0.1</nonProxyHosts>
        </proxy>
      </proxies>
    <!-- ... Other settings .... -->

Creating a Startup Project Sample from a Command Line

Follow this simple procedure to create a starting project based on the Author SDK:

Create a sample SDK project by typing the following in a command line console:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=com.oxygenxml.samples -DarchetypeArtifactId=oxygen-sdk-samples-archetype -DarchetypeVersion=17.1.0.4 -DgroupId=myGroup -DartifactId=mySample  -Dversion=1.0-SNAPSHOT -DarchetypeRepository=http://oxygenxml.com/maven/

Confirm that the details are correct by pressing ENTER. Maven will generate a sample project called mySample. The final project has the following modules:

  • oxygen-sample-framework - sample project for developing an Author framework that uses many of the features of the Author Framework API and configuration
  • oxygen-sample-plugins - contains multiple modules which are sample projects for different types of Oxygen standalone plugins
  • oxygen-sample-eclipse-plugin - a starting point for extending the functionality of the Oxygen for Eclipse distribution
  • oxygen-sample-applet - project that can be used as a starting point for integrating the Author Component in a Java Applet
  • oxygen-sample-webapp - project that can be used as a starting point for customizing the Oxygen XML Web Author
  • bundle-frameworks - contains some of the Oxygen built-in frameworks. These will be included in the applet and Web Author integration modules described above. If you have existing frameworks that you want to be included in the integrations, you need to add them in this project
  • bundle-options - contains the options file used by the applet and Web Author integration modules
  • bundle-plugins - a wrapper project that has dependencies on all plugins that will be included in the applet and Web Author integration modules
  • bundle-samplefiles - contains sample files that will be included in the applet and Web Author integration modules

Creating a Startup Project from the Eclipse IDE

  1. Install the Eclipse IDE for Java EE Developers (or an Eclipse with the m2e plugin), version 4.3 or later from: https://www.eclipse.org/downloads/.
  2. Make sure Maven is using the settings.xml file from your home directory. Do the following in Eclipse:
    1. Open Window/Preferences.
    2. Under Maven/User Settings check that the settings.xml file is used. (Should be something similar to:
      C:\Users\<YOUR_USER_NAME>\.m2\settings.xml.
      )
  3. Configure Maven to use the Oxygen SDK repository located at https://www.oxygenxml.com/maven.

The Eclipse J2EE IDE validates all the resources from the project, giving some false errors. To disable the automatic validation, follow these steps:

  1. Go to "Window"/Preferences.
  2. Go to the Validation option page and check the Suspend all validators option.

    Suspend automatic validation in Eclipse EE

To create and build a sample project based on the Oxygen SDK, start from a Maven archetype available in the Oxygen repository.

  1. Use File/New Maven Project.
  2. Press Next to go to Select an Archetype wizard page.
  3. Press the Add Archetype button from the right side of the dialog box.
  4. In the new Add Archetype dialog box, fill the data from the Startup Project Archetype Details. Leave the Repository URL field empty. Press OK to close the dialog box.
  5. Press Next to go to the Specify Archetype parameters wizard page.
  6. Enter a Group Id, Artifact Id, and Version for your project.

    Enter the archetype parameters.

  7. Press Finish to create the project. All the modules of the project will be presented as Eclipse projects.