Application-Level Outlets

Note

Application-Level Outlets are made available in the UUX platform starting in version 4.6.0.6.

When integrating with UUX, you have the ability to create extensions that can be run at the application level, both pre and post-authentication. These Application-Level Outlets are non-visible, meaning they can be used to execute logic without displaying visual content and impacting layout. These outlets are rendered in the main application frame and can be used throughout the application regardless of the page the user is on. They can be used to communicate with the backend of your extension during the entirety of a session and perform actions such as showing alerts, overpanels, or forcing redirection. They can and should be used in place of UUX Javascript Payload integrations when full access to the Online Banking DOM is not needed and code isolation is preferred.

One example of an Application-Level Outlet would be a registration check. If a user is not registered, you can use an Application-Level Outlet to open a modal and ask them to visit a registration page.

To enable an extension to be rendered into an application we can use the q2 tecton command in the CLI.

You’ll first be asked to choose an extension that you would like to configure.:

$ q2 tecton
Which extension would you like to configure?

1) RegistrationCheck

Please make a selection and press Return: 1
RegistrationCheck

Which entrypoint of RegistrationCheck do you want to configure?

    1) Main
    2) [Create New Entrypoint]

Please make a selection and press Return: 1
Main

What Tecton configuration would you like to manage for RegistrationCheck.Main?

    1) Entrypoint Configuration
    2) Overpanel Configuration
    3) Available Parameter Configuration
    4) Dropdown Navigation Configuration
    5) Outlet Configurations

Please make a selection and press Return: 5
Outlet Configurations

What outlet configuration would you like to manage for RegistrationCheck.Main?

    1) UUX Tabbed Outlet Config
    2) Content Block Outlet / UUX Composable Dashboard Config
    3)  Application-level Outlet Config
    4) Dispute Tracking Workflow Outlet Config

Please make a selection and press Return: 3
Application-level Outlet Config

Would you like to enable or disable RegistrationCheck.Main from loading in a
non-visible application outlet?

    1) Enable loading in a non-visible application outlet
    2) Disable loading in a non-visible application outlet

Successfully created your tecton config file.
Be sure to commit changes made to `./configuration/Application test.py`

This will update the configuration file for your extension to include the Application-Level Outlet configuration. As you can see in the example below, the context value is set to Application::Authenticated. This means that the extension will be rendered in the application outlet after the user has successfully authenticated. If you are building an unauthenticated extension, the context value would be automatically set to Application::Unauthenticated. This is dependent on the IS_UNAUTHENTICATED setting in your extension’s extension.py file.:

FEATURE = {
    "core": False,
    "modules": {
        "Main": {
            "overpanel": False,
            "primary": True,
            "navigable": True,
            "formPostAuth": True,
            "url": "./sdk/authenticated/{featureName}",
            "meta": {
                "type": {
                    "shape": "Content",
                    "context": "Application::Authenticated",
                }
            }
        }
    }
}

All unauthenticated extensions configured for the application-level outlet will be rendered as soon as the UUX application loads and will be available even after a user authenticates. Authenticated extensions will only be rendered after successful authentication and will be removed from the application outlet once a session ends.