Repository navigation
Plugins
The JsConsumer plugin provides an alternative way to process messages from the product_update queue. It periodically triggers a background task via Ajax to process queued messages.
However, using a dedicated message consumer managed by Supervisor or Systemd is recommended for production environments.
For setup instructions, see the [YAP Setup Guide](https://github.com/yetAnotherPim/yap/wiki/Setup).
The Scheduler plugin provides scheduled task execution for YAP and helps maintain data consistency.
The plugin 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 plugin provides a SystemStatus check to help identify issues with scheduled task execution.
The Scheduler plugin implements a Symfony Scheduler task. To execute scheduled tasks, a Messenger consumer for the scheduler_default transport must be running.
Start the consumer manually with:
php bin/console messenger:consume scheduler_default --time-limit=3600For production environments, configure the consumer to run as a background process using a process manager.
Supervisor
See the [Symfony Messenger Supervisor configuration](https://symfony.com/doc/current/messenger.html#messenger-supervisor).
Command:
php /path/to/your/app/bin/console messenger:consume scheduler_default --time-limit=3600Systemd
See the [Symfony Messenger Systemd configuration](https://symfony.com/doc/current/messenger.html#systemd-configuration).
Set ExecStart in the service unit to:
ExecStart=php /path/to/your/app/bin/console messenger:consume scheduler_default --time-limit=3600The following plugins and features are planned or under development. Availability and implementation details may change.
- Feed Configuration: Configure external storage settings, with credentials and sensitive configuration data stored encrypted in the database.
- Entity Update Events: Publish entity changes as JSON messages, including the corresponding change set.
- Receive Updates: Receive and process entity update messages from external systems.
- Elasticsearch Integration: Search and indexing capabilities powered by Elasticsearch.
- Redis Integration: Redis support for caching and other infrastructure-related use cases.
- External Storage: Store files and other assets outside the local application storage.
- Specific Marketplace Integrations: Dedicated integrations for individual marketplaces to support their specific product data requirements.
- Stock History: Track inventory changes using references to the events or operations that caused them, providing an inventory change history.
- Data Import: Import product data from external sources.
- Data Export: Export product data to external systems and formats.
- Related Data Entities: Support additional entities associated with products, such as manufacturers.
Yet Another PIM (YAP) — A self-hosted Product Information Management system.
Official Website · GitHub Repository · Wiki
Made in EU 🇪🇺