Table of Contents

Data exchange

NeosDataExchange is an optional module that adds two distinct capabilities:

  • NeosDataExport for interactive server-side export,
  • NeosDataImport for template-driven CSV imports.

Data export

NeosDataExport provides an interactive export experience on top of the server data export API.

Read more about the building blocks used by this module:

What it does

When the module is present in your application, the toolbar's "server data export" button shows an interactive dialog that lets users adjust the export before downloading the file.

Without the module or its permissions, the toolbar button keeps its default behavior and simply downloads the file.

UI method

When the module is present in your application, the NeosDataExport.ShowExportDialogAsync UI method is available.

Example usage

Use the UI method when you want to open the export dialog from a custom action:

await UIMethods.NeosDataExport.ShowExportDialogAsync(this);

If you need a lower-level export action, you can still use the server export API directly:

var options = CreateServerDataExportOptions("Employees.csv", ExportFormat.Csv);
await ExportServerDataAsync(options);

Since version 2.3, the form on the "General" tab is pre-filled with the client user settings provided by the operating system and/or the browser, including language, culture, and time zone.

Configuration

Once the module has been added to you cluster, you need to give permission to users to use it.

This is done by enabling function Data export on your user roles.

Data import

NeosDataImport provides a complete import workspace based on templates, mappings, staging, validation, and integration.

What it does

The module adds a dedicated data import experience with:

  • import templates,
  • column mappings,
  • import history and staging,
  • validation and integration options,
  • background execution notifications.

Entry points and UI methods

The module provides a menu item named NeosDataImport, which opens the import template settings screen.

You can also use the UI methods directly:

  • NeosDataImport.ShowImportTemplateSettingsAsync to open the template settings workspace,
  • NeosDataImport.ShowImportDialogAsync to start an import from a specific business screen.

For concrete examples, see Data import how-to - Expose the import UI methods in your views.

Import flow

The import workflow follows this pipeline:

flowchart LR
	A[Configure import template] --> B[Upload CSV file]
	B --> C[Load staging rows]
	C --> D[Aggregate and validate]
	D --> E[Review staging details]
	E --> F[Run integration]

For a detailed technical walkthrough of the import runtime, see Data import pipeline and runtime.

For a user-oriented step-by-step guide, see Data import how-to.

Configuration

To use the import features, enable the Data import permission on the relevant user roles.

The module registers import services through DI and supports entity-view specific import strategies. You can register an entity view with default or custom implementations for loader, aggregator, and integrator.

public static void ConfigureServices(IServiceCollection services)
{
	services.RegisterImportEntityView<IYourEntityView>();

	// Or with custom pipeline components:
	// services.RegisterImportEntityView<IYourEntityView, YourLoader, YourAggregator, YourIntegrator>();
}

Runtime usage

At runtime, users can:

  1. Create and maintain import templates in the import template settings screen.
  2. Configure mapping between source columns and target properties.
  3. Start a staging import by uploading a CSV file.
  4. Review import summary and row-level validation details.
  5. Run integration after validation with configurable execution and update options.
Note

The current upload flow accepts CSV files.

See also