divanteltd / pimcore-auto-import
Auto Import runs Import Definitions automatically on created assets
Installs: 1 580
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 9
Forks: 0
Open Issues: 0
Type:pimcore-bundle
Requires
README
This bundle allows running DataDefinitions (https://github.com/w-vision/DataDefinitions/) imports automatically for created assets.
Installing
composer require divanteltd/pimcore-auto-import
Enable and install the Bundle in admin panel or in command line:
./bin/console pimcore:bundle:enable AutoImportBundle ./bin/console pimcore:bundle:install AutoImportBundle
EventListeners
Bundle listens on event:
pimcore.asset.postAdd
- handled by \Divante\AutoImport\EventListener\AssetEventListener::onPostAddimport_definition.*
- handled by \Divante\AutoImport\EventListener\ImportDefinitionsEventListener
Requirements
- ProcessManager (https://github.com/dpfaffenbauer/ProcessManager)
- DataDefinitions (https://github.com/w-vision/DataDefinitions/)
Usage
After installation open up Website settings and fill in:
AutoImport_INTEGRATION
- integration nameAutoImport_DEFINITION
- name of the Import DefintionAutoImport_FOLDER
- folder which bundle will monitor for incoming files
From now on, all assets added to the configured folder (product
in example above) will be used as an input to defined Import Definition.
Executable in Process Manager will be createad automatically, alongside with additional folder structure,
as subfolders of the one defined in Website Settings (if needed):
/processing
- files being currently imported/done
- files sucessfully imported/error
- files which import ended with an error
Tips
Mutliple integrations
You can define additional watch folders and definitions, by adding additional Website Settings:
AutoImport_INTEGRATION_sampleName
- last part is used to find other configuration linesAutoImport_DEFINITION_sampleName
AutoImport_FOLDER_sampleName
Automatize asset creation based on filesystem changes
If external system is uploading the file to the filesystem directly (not using admin panel, GraphQL or WebDAV), you can easily synchronize the filesystem changes using Pimcore Devkit (https://github.com/DivanteLtd/pimcore-devkit):
./bin/console devkit:asset:synchronize /ERP/ingoing
Using Process Manager's build-in cron functionality, you can easily run this command periodically.
Two-way communication
If your integration is entirely based on file exchange, you can use this bundle with Scheduled Export (https://github.com/DivanteLtd/pimcore-scheduled-export) to configure complete integration in Pimcore admin panel.
Contributing
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
Licence
Pimcore Scheduled Export source code is completely free and released under the GNU General Public License v3.0.
Standards & Code Quality
This module respects all Pimcore code quality rules and our own PHPCS and PHPMD rulesets.
About Authors
We are a Software House from Europe, existing from 2008 and employing about 150 people. Our core competencies are built around Magento, Pimcore and bespoke software projects (we love Symfony3, Node.js, Angular, React, Vue.js). We specialize in sophisticated integration projects trying to connect hardcore IT with good product design and UX.
We work for Clients like INTERSPORT, ING, Odlo, Onderdelenwinkel and CDP, the company that produced The Witcher game. We develop two projects: Open Loyalty - an open source loyalty program and Vue.js Storefront.
We are part of the OEX Group which is listed on the Warsaw Stock Exchange. Our annual revenue has been growing at a minimum of about 30% year on year.
Visit our website Divante.com for more information.