Developing plugins

From Magmi Wiki
Jump to: navigation, search

Introduction

Magmi is an open system , based on 2 fundamental concepts

  • Engines
  • Plugins

Engines

Engines define a processing loop that can perform processing based on:

  • Engine loop logic
  • Plugins that implement steps , on which plugins implement hooks into the Engine Loop Logic.

in 0.7 there are 2 available engines:

It's up to the engine to define : - Its loop logic "plugin call" steps entries - Which plugin types are to be called on each loop step entry

The Main Magmi engine is "Product Import Engine" , so this document will mostly focus on it

Plugins

Magmi 0.7.x has 3 types of plugins  :

How Plugins are called

Each time an Engine decides to call plugin on a particular Processing Loop step , all plugins that implement hook for this step will be called.

  • Plugin call order is based on plugin file name (ie : 01_myplugin.php hosted plugin classes hooks for step "A", will be called before 02_otherplugin.php hosted plugin classes hooks for step "A")