Open UX Core Library
The Open UX Core Library contains all of the internal library calls and functions needed to interact with Journey Manager.
Installation
To add the Open UX Core Library to a project, install it via Artifactory:
note
You must obtain your own Artifactory credentials to complete this step.
In the command line or terminal, run the following commands:
Set the default npm registry for Open UX scoped packages.
npm config set @transact-open-ux:registry https://internal-artifactory.avoka.com/artifactory/api/npm/npm/
Authenticate the npm client to Artifactory.
npm login --registry https://internal-artifactory.avoka.com/artifactory/api/npm/npm/
This command prompts you to press
Enter
then log into Artifactory in the browser with your username and password. Once authenticated in the browser you can return to the command line.Verify your
~/.npmrc
file has content similar to the following:@transact-open-ux:registry=https://internal-artifactory.avoka.com/artifactory/api/npm/npm/
//internal-artifactory.avoka.com/artifactory/api/npm/npm/:_authToken=<_authToken>
Install the
@transact-open-ux/core
package.- npm
- Yarn
npm install --save @transact-open-ux/core
yarn add @transact-open-ux/core
If you create a project with the transact create
command and don't use a custom template, you won't need to manually install this library. It'll be installed for you.
Build Pipeline
For the sake of productivity, we recommend setting up a modern build pipeline when developing with Open UX. Typically, a modern build pipeline consists of the following:
- A package manager for installing and managing third-party packages. The most popular options are NPM or Yarn, with Yarn quickly becoming the preferred option.
- A bundler for writing modular code across a number of files and then bundling those files together for the sake of performance in your production build. There are many bundlers in the world but webpack is the industry standard.
- A complier for writing modern JavaScript that works in older browsers. Babel is the defacto choice and the code samples throughout this documentation assume that you're using it.
info
When using Open UX's React template, a build process is included with the template. This means there's no manual setup required to gain these productivity benefits.
Integrating with Journey Manager
The @transact-open-ux/core
library provides API calls that make it easy for an application to communicate with an instance of Journey Manager.
To view the Open UX API application flow, see the "Application Flow" section.
If you are not using the @transact-open-ux/react
companion library we recommend using a state management library such as Redux along with Asynchronous middleware to manage your data. This, however, can be accomplished in other ways depending on your JavaScript stack.
Browser and Receipt Support
By default, the generated library supports all modern browsers.
info
Support for Internet Explorer 9, 10, and 11 requires polyfills.
Receipt Styling
You can style your receipts by using the @media print media query.
Example:
@media print {
body {
background: white;
font-size: 10pt;
}
button {
display: none;
}
}
Conditional JavaScript for Receipts
You can use the isReceipt
variable from the Journey Manager Open UX Core library and use this to determine whether to render components or not.
Here's an example using React.
import React from "react";
import Receipt from "./Receipt";
import PageController from "./PageController";
import { isReceipt } from "@transact-open-ux/core";
const App = () => (
<React.Fragment>
{isReceipt ? <Receipt /> : <PageController />}
</React.Fragment>
);
export default App;