> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL extensions

export const productName = "Atoti FRTB";

This section explains how ETL extensions can be made within {productName}.

For these extensions, we will be using the [Datastore Helper](https://docs.activeviam.com/products/tools/dash/latest/online-help/) and [Data Load Controller](https://docs.activeviam.com/products/tools/data-connectors/latest/online-help/dlc-overview).

### Organizing Customizations

Extracting our customizations into their own configuration class can help us keep things tidy and aid in migration efforts when upgrading to a newer version
of {productName}. We can put our customizations into Configuration classes that we will ensure get picked up by our application.

Example datastore customization:

```java theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
@Configuration
public static class ClientCustomisations {

	@Bean(name = "Custom")
	@Qualifier(SP_QUALIFIER__CUSTOMISATIONS)
	public DatastoreConfiguratorConsumer addFieldCustomization(){
		return datastoreConfigurator -> datastoreConfigurator
				.appendField("ExistingStore", new CustomField("MyNewField", ILiteralType.STRING));
	}
}
```

#### Include in FrtbApplicationConfig

For our customizations to be picked up, we must include all added Spring `@Configuration` classes in `FrtbApplicationConfig`
located in `/frtb-application/src/main/java/com/activeviam/frtb/application/config/`.
