Skip to main content

Atoti Server Extension reference page

Introduction

note

The Atoti Server Extension was developed to be used in association with Atoti Python SDK. You can find the reference documentation for Atoti Python SDK here. Some of our more complex components cannot be defined using only our Atoti Python SDK. The Atoti Server Extension creates a way to insert components from our Atoti Java SDK into the Atoti Python SDK.
In this way, an Atoti Python project can be extended with functionalities such as custom measures, post processors, REST endpoints with custom security, etc.

The Atoti Server Extension allows you to extend the basic Atoti application by defining new components and functionalities—such as custom measures, post-processors, and REST endpoints with custom security—that can be used in your applications.

Configuration

To use Atoti Server Extension , the first step is to create a new Maven project with the atoti-server-extension-parent as the parent POM. This can be done by using the Atoti Maven Archetype:

<parent>
<groupId>io.atoti</groupId>
<artifactId>atoti-server-extension-parent</artifactId>
</parent>

You can use 6.1.11-SNAPSHOT to specify the version of Atoti Server Extension you want to use.

Child POMs using atoti-server-extension-parent as their parent inherit:

  • Standard Atoti Server Extension dependencies with managed versions and provided scope, ready for plugin development.
  • Java 21 compiler settings for consistent builds.
  • Maven Compiler Plugin configuration, including annotation processors (Lombok, Spring Boot).
  • Assembly profile for packaging plugins using the Atoti assembly descriptor.
  • Distribution management setup for publishing artifacts.
  • Best practices for plugin structure and build, reducing boilerplate and ensuring compatibility with Atoti Runtime.

The newly created Maven project is a standard Spring Boot project, with dependencies for Atoti Server Extension and other necessary libraries. You can then add your custom components to this project.

Features

After the configuration is complete, you will be able to use Atoti Server Extension to create more complex custom measures, and to secure custom REST services. In order to perform these actions, the Atoti Server Extension provides access to the following beans:

  • IActivePivotManager
  • IDatabase
  • IDatastore
  • IContentService
  • IPluginSetup which is used to register custom measures and post-processors see.

Those Beans can prove useful when you want to create post-processors or want to interact with the Atoti application in a more advanced way in a custom REST controller.

Custom Measures and Post-processors

Atoti Server Extension allows you to create custom measures and post-processors that can be used in your Atoti applications.

A detailed guide on how to create custom measures and post-processors can be found in the custom measures and post-processors page.

Custom REST Endpoints

Atoti Server Extension allows you to create custom REST endpoints that can be used in your Atoti applications.
A detailed guide on how to apply your custom security with DSLs provided by Atoti Runtime to your REST endpoints can be found in the custom REST security page.

About Python SDK

This feature is supposed to be used in association with the Atoti Python SDK, once the jar for your plugin is created on build, you can provide it to the Python session config as an extra_jars.