Skip to main content

What Is a Red App and Red App Bundle

Red Apps are Sabre's branded version of an Eclipse plug-in. Red App developers design and code these applications, and then wrap them as plug-ins for integration into Sabre Red 360. These Red Apps extend the capabilities of Sabre Red 360.

You can build Red Apps with a variety of internet and programming technologies, and you can add communication with Sabre data stores and other Red Apps via the SRWRuntime communication bus. Red Apps can be visually integrated into Sabre Red 360 or collect data and perform tasks behind the scenes.

This topic introduces the following:

Components of a Red App

Plug-in Projects

Red Apps consist of a main plug-in project and one or more dependent plug-in projects. Generally, the main plug-in project has the most important or significant functionality, although dependent plug-ins can also include many types of functionality. All communications in a Red App must be included in the main plug-in.

plugin.xml

Every plug-in project in a Red App has a plugin.xml file located at the root of the project.

As you add classes, extension points with properties and values, and dependencies to a plug-in project, Eclipse generates the plugin.xml file and formats these elements as XML.

The plugin.xml file in the main project will have several extension points that are not present in dependent plug-in projects. These extension points are specific to Red Apps:

Contact details

As a Red App provider, your Red App must include support contact information. This information gets published in Sabre Red 360 along with your Red App to enable your customers to contact you if needed.

Code

Every plug-in project in a Red App that executes functionality has source code. Currently, you can code your Red App with Java, JavaScript, HTML and other browser technologies, Sabre Scribe scripts, Java Swing, and SWT.

By using Eclipse IDE to create your Red App, Eclipse generates MANIFEST.MF and build.properties files in all plug-in projects within a Red App. Eclipse adds a META-INF folder to the root of the plug-in. This folder includes the MANIFEST.MF file.

The manifest in the main plug-in is of special importance to a Red App because Eclipse adds the Plug-in ID and other information that some Sabre processes use. This is explained in more detail in Plug-in Project Properties. From this topic you can follow links to other topics that provide more details.

Background Processes

A Red App can execute functionality in the form of background processes, for example, logging or operations on the first run of a plug-in.

UI or Workspace Elements

A Red App can have user interface or workbench elements. The choices are editors (rendered as tabs in Sabre Red 360), views (rendered as assistant tools panels), menu contributions, status lines, pop-up dialogs, and notifications.

Red App ID

After Sabre accepts your application and Red App proposal, and after all agreements are signed between you and Sabre, Sabre assigns a unique Red App ID to your Red App. This ID is associated with your proposal. You will use this Red App ID in the redapp.xml configuration file, and when you submit your Red App for certification. You will also use this same ID to submit any subsequent corrections to previously failed Red App bundles and patch releases.

redapp.xml Configuration File

This configuration file registers your unique Red App ID and all access and use of communications in a Red App. Communications include authorization to consume services that Sabre and other Red Apps register with the SRWRuntime communications bus, registration of event listeners, and published Event IDs. Every project has a single redapp.xml file that is located in the root of the main plug-in project.

build.properties File

Eclipse creates a build.properties file at the root of all plug-in projects. This file includes all files and properties that create a binary build. Eclipse automatically updates this file when you add files and other properties to your project.

Web Module

Red App can contain Web Module (Web Modules Overview). A Web Module is the smallest deployable unit within the SR360 with web resource containing web components, static resource and web content files. As a part of SR360, Sabre provides framework for Red App developers which they can use to develop and customize UI within the SR360 using new cutting edge JavaScript frameworks. All Web Modules must be placed in the web-src directory.

Web directory.

It’s forbidden to Red App to have a web directory. Red App with a web directory in its structure will be rejected by the Sabre Central Marketplace Admin Centre during the validation and certification process.

Custom Folders and Files

If a Red App has certain types of functionality, the plug-in project will include custom folders and files at the root of the plug-in project.

These special folders and files may be any of the following:

  • An images folder with image files that the Red App accesses

  • A resources folder for message properties in a Red App that has translation services

  • Plug-in properties files for Red Apps that include translation

  • A folder for scripts or executables, for example, Red Apps that include Sabre Scribe will have a scripts folder

For more information, see Project Layout Requirements.

Communications Services, Event Listeners, and Events

The redapp.xml configuration file in the main plug-in project implements communications in a Red App.

A Red App can include authorization to use services that are registered with the SRWRuntime bus and to publish its own events. A Red App can also register its own services, event listeners, and events in this file.

A Red App obtains an authentication token in the Java code to use services that are registered with SRWRuntime and to publish events. It does not authenticate to use its own services. Registration of an event listener also accomplishes authentication.

A Red App can publish events. When the event occurs, the SRWRuntime bus notifies other event listeners about the event.

See Communications in_ Red Apps_ Overview for an introduction of communications.

Red App Bundle File

When you are done with all development and local testing, you create a Red App bundle ZIP file that consists of all plug-in JARs, a custom bundle.properties file, and a bundle.crt file. The bundle and all JARs are signed with your digital certificate. You submit the bundle ZIP file to Sabre on the Sabre Central Marketplace Admin Centre for validation and certification.

You can either create your bundle ZIP file manually or use the Red App Bundle Wizard to create and secure the bundle.

Note
You are strongly encouraged to use the Red App Bundle Wizard in the Sabre Red 360 Software Development Kit to create a Red App bundle and ZIP file automatically.

bundle.properties File

This properties file includes important metadata about the Red App, described as follows:

  • redapp.bundle.id is the Plug-in ID of the main Red App plug-in project.

  • redapp.bundle.version is the 4-part version number of the main Red App plug-in.

bundle.crt File

The bundle.crt file is the valid digital certificate of the provider of the Red App. This file is the actual certificate that you use to sign the files. You must purchase a digital certificate from from the vendors approved by Sabre.