Extending the app#

This feature is not part of the community edition: it needs to be unlocked.

Both the server and the embedded UI can be extended.

Server extension#

Atoti Server extensions are developed in Java and packaged as JARs. They can register:

  • measure plugins which can then be used in Python with plugin_measure().

  • Spring webservices

UI extension#

[3]:
from pathlib import Path

import atoti as tt

resources_directory = Path("__resources__") / "extending_the_app"

Branding#

[2]:
session_config = tt.SessionConfig(
    branding=tt.BrandingConfig(
        favicon=resources_directory / "favicon.ico",
        logo=resources_directory / "logo.svg",
        title="Hey hey hey",
    ),
)
session = tt.Session.start(session_config)

The app of this session looks like this:

Rebranded app

UI app extension#

Atoti UI extensions are developed in JavaScript/TypeScript. They can change the behavior of the web app or augment it with new features.

They are some prebuilt extensions. For instance:

[3]:
session_config = tt.SessionConfig(app_extensions=tt.ADVANCED_APP_EXTENSION)
session = tt.Session.start(session_config)

This extension will add some advanced tools and a Text editor widget:

Extended app

Take a look at the documentation of app_extensions to learn how to create your own extensions.