Giter VIP home page Giter VIP logo

pimcore-auto-import's Introduction

AutoImport for Pimcore

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::onPostAdd
  • import_definition.* - handled by \Divante\AutoImport\EventListener\ImportDefinitionsEventListener

Requirements

Usage

After installation open up Website settings and fill in:

  • AutoImport_INTEGRATION - integration name
  • AutoImport_DEFINITION - name of the Import Defintion
  • AutoImport_FOLDER - folder which bundle will monitor for incoming files

Website settings example

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

Folder structure

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 lines
  • AutoImport_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

Divante-logo

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.

pimcore-auto-import's People

Stargazers

GeorgII avatar

Watchers

Piotr Karwatka avatar James Cloos avatar  avatar Bartosz Picho avatar Mariusz Gomse avatar  avatar Mateusz Koszutowski avatar Bruno avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.