Breadcrumb
- Sabre Red 360 Software Development Kit Help
- Desktop Red Apps
- Introducing Red Apps and the Developer Toolkit
- What Is a Red App and Red App Bundle
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 Modules. 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 Dev 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 Dev 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 Developer Toolkit to create a Red App bundle and ZIP file automatically. |
For more information, see Red App Bundle Requirements and Creating and Securing a Red App Bundle.
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.