Skip to content

Features

StephanAltmann85 edited this page Oct 28, 2026 · 15 revisions

Full CRUD API

YAP provides a full CRUD API for interacting with its resources.

For a complete reference of the available API endpoints and their details, see the YAP API Documentation.

Product Type Templates

Product Type Templates allow you to define reusable structures for your products. Each product type specifies which fields are available for products of that type and how these fields are configured.

Managing Product Types

Create and manage product types by defining a unique code and a title.

Product Type configuration

Configuring Fields

Add fields to a product type and configure each field individually:

  • Field Types: Select the field type that determines how the field is represented and handled, such as text, number, checkbox, or select.

  • Default Values: Define a default value for each field.

  • Default Translations: Provide default translated values for fields in the configured locales.

  • Selection Options: For select and multi-select fields, define the available options.

  • Required Fields: Specify whether a field is required.

  • Field Ordering: Arrange fields in the desired order using drag and drop.

  • Sections: Group related fields into sections to organize the product form.

These templates provide a consistent structure for products of the same type while allowing you to customize field configurations to meet your requirements.

Configuring Fields

Configuring Field options

Centralized Product Data Management

YAP provides a central place to manage product information, combining product master data, identifiers, and configurable fields in a single interface.

Product Master Data

Manage essential product information such as the product type, identifiers, and timestamps. Identifiers such as GTIN and INT can be maintained alongside the product's other data.

Product Master Data

Dynamic Product Fields

The Fields tab displays the fields defined by the selected product type. This allows different product types to have their own product data structures without requiring a separate form for each type.

Fields can include text, descriptions, colors, checkboxes, and other supported field types. Related fields can be organized into sections, making product data easier to navigate.

Dynamic Product Fields

Multilingual Product Data

YAP supports translations of product fields for different locales. Select a locale to view or edit the corresponding translated values alongside the default field values.

This helps you manage product information for multiple languages in one central interface.

Powerful Plugin Interface

YAP provides a flexible plugin system that allows you to extend the application with additional functionality and integrate custom components.

Plugins can provide their own services.yaml to register services, Twig template directories for custom templates, translation directories for localized messages, and assets for their frontend components.

The Plugin Manager provides an overview of installed plugins, including their versions and activation status. Plugins can be enabled or disabled, and assets can be compiled when required.

Plugin Manager

Example Plugins

The following plugins demonstrate how YAP's plugin system can be used to extend the application:

JsConsumer Plugin — Provides JavaScript consumer functionality.

Scheduler Plugin — Integrates scheduled task functionality.

These examples illustrate how plugins can integrate additional functionality into YAP while keeping their implementation organized in separate plugin directories.

Multilingual Content

YAP allows you to manage locales and define which languages are available for content translations.

For each locale, you can configure whether it is used for content translations. This lets you control which languages are available when translating product data, while maintaining a single, centralized product information management system.

Plugin Manager

UI Localization

YAP supports multiple languages for its administration interface. Users can change the interface language independently of the languages configured for product content translations.

The administration interface includes translations for field labels, navigation items, buttons, and other UI elements. Product types and field names can also be translated, allowing their localized names to be displayed throughout the interface.

Title translation

Available Languages

YAP provides administration interface translations in the following languages:

  • Arabic
  • Basque
  • Bulgarian
  • Catalan
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Croatian
  • Czech
  • Danish
  • Dutch
  • English
  • Finnish
  • French
  • Galician
  • German
  • Greek
  • Hebrew
  • Hungarian
  • Armenian
  • Indonesian
  • Italian
  • Luxembourgish
  • Lithuanian
  • Macedonian
  • Norwegian
  • Polish
  • Portuguese (Brazil)
  • Portuguese (Portugal)
  • Romanian
  • Russian (ru_UA)
  • Serbian
  • Slovak
  • Slovenian
  • Spanish
  • Swedish
  • Turkish
  • Ukrainian

The available interface languages are provided through translation files in the application.

Language Selection

Custom Product Identifiers

YAP allows you to define custom product identifiers to match your business requirements.

Examples include GTIN (Global Trade Item Number), EAN (European Article Number), and internal article numbers. You can configure the identifiers that are relevant to your products instead of being restricted to a fixed set of predefined identifiers.

Advanced Field Filtering

YAP provides advanced filtering capabilities that allow you to combine multiple criteria when searching for products.

Filters are organized into categories, including identifiers, product fields, translations, and general product properties. Depending on the field type, different filter operators and input controls are available.

Examples include:

  • Identifiers: Filter products by identifier values, such as GTIN, or check whether an identifier is set.
  • Product fields: Filter by field values using supported operators, such as contains.
  • Translations: Search for products based on translated field values.
  • Boolean fields: Filter by enabled or disabled states, such as whether a product is active on eBay.
  • Product types: Select products of a specific product type.
  • Date and time fields: Filter products based on creation or update timestamps.

You can select multiple filters, configure their criteria, and apply them together to narrow down the product list. This makes it easier to find specific products, even in large product catalogs.

Filter #1 Filter #2

Personalized Table Views

YAP allows each user to customize their product list view according to their individual needs.

Users can choose which columns are displayed in the product overview and arrange them in their preferred order. Available columns depend on the product fields and data supported by the application.

These personal column settings make it easier to focus on relevant product information and tailor the overview to different workflows without affecting other users' views.

Columns

Seamless Software Updates

YAP places a strong emphasis on making software updates as simple and reliable as possible. Our goal is to enable users to keep their installations up to date while minimizing maintenance effort and reducing the risk of disrupting existing workflows.

We continuously strive to make the update process straightforward and predictable, helping users benefit from improvements, bug fixes, and new features with minimal overhead.

Comprehensive Automated Testing

YAP is extensively tested using automated tests to help ensure software quality, reliability, and maintainability.

Automated tests help detect regressions early, verify expected behavior, and provide confidence when introducing new features or modifying existing functionality. This supports continuous development while helping maintain a stable and reliable application.

Role Management

YAP provides role-based access control to manage user permissions and restrict access to administrative functions according to each user's responsibilities.

The application distinguishes between three roles:

  • Editor: Can edit product data.
  • Admin: Can manage product types, including identifiers, fields, and products, as well as manage locales.
  • Super Admin: Can manage users and access the Plugin Manager.

This separation of responsibilities helps ensure that users have access to the functionality they need while keeping sensitive administrative operations restricted to authorized roles.

Digital Asset Management

YAP allows you to upload and manage digital assets such as product images and documents, including technical data sheets.

Assets can be assigned to translatable product fields, allowing different files or images to be maintained for different languages. This makes it possible to provide localized product images and documentation for different markets.

Automated Data Cleansing

YAP automatically cleans up field values and translations that are no longer associated with the corresponding product type. This helps maintain data consistency when product type configurations change and prevents obsolete field data from accumulating.

The cleanup is handled by the Scheduler plugin.

For more details, see the [Scheduler plugin documentation].

System Status Checks

YAP monitors important system conditions and displays warnings on the dashboard when potential configuration issues or operational problems are detected.

These checks help administrators identify configuration problems and operational issues before they interfere with everyday use of YAP.

System Status

Asynchronous Batch Editing

YAP processes batch product updates asynchronously using Symfony Messenger. This allows bulk changes to be handled in the background rather than requiring all updates to be completed during the initial request.

Asynchronous processing helps keep the application responsive when updating large numbers of products.

Features in Development

The following features are currently under development and are not yet generally available:

  • Product Variants & Inherited Attributes — Support for product variants and inherited product attributes.
  • External File Storage — Integration with external storage systems for files and assets.
  • Real-Time Update Notifications — Notifications when product data changes.
  • Event-Driven Updates — Event-based processing of product updates.
  • Flexible Data Import & Export — Configurable import and export of product data.
  • Configurable Product Feed Generator — Generation of product feeds with configurable settings.
  • Channel-Specific Exports — Export product data tailored to specific sales channels.
  • Custom Data Entities — Support for defining additional data entities.
  • Scalable Search & Caching — Improvements to search performance and caching for larger catalogs.
  • Rich Demo Data — More comprehensive sample data for demonstrations and evaluation.
  • AI-Powered Enrichment & Translation — AI-assisted enrichment and translation of product information.