The Essence of addon.xml in Venddor IO

Every module within Venddor IO is underpinned by a pivotal file - addon.xml. Located at the root of each module, its path is typically: app/modules/[module_name]/addon.xml.

What's the Role of addon.xml?

  1. Module Descriptor

    This file encapsulates critical information about the module. From its unique identifier to its description and position in the module list, everything is encapsulated here.

  2. Module Detection

    Every time you navigate to Modules → Manage Modules in the Venddor IO's Administration panel, Venddor IO conducts a rigorous scan of the app/modules/ directory. It identifies the yet-to-be-installed modules by reading their respective addon.xml files, subsequently showcasing them in the available modules list.

  3. Installation Blueprint

    When a module is being installed, almost all attributes from the addon.xml get registered in the database. The only exception being the settings structure, which Venddor IO reads from the file whenever the module is accessed.

  4. Edit Reference

    For modules that are already installed, the addon.xml serves as the reference blueprint when any edits are made via the Manage Modules page.

Scheme Versions in addon.xml

The addon.xml employs a scheme, a blueprint if you will. Two significant schemes dictate its structure:

Dive Deeper

Compatibility with Venddor IO: It's pivotal to ascertain a module's compatibility with specific Venddor IO versions and the overarching server environment. This ensures smooth integration and functioning.

Module Interactions: Venddor IO emphasizes on a module's symbiotic relationship with other modules. This involves understanding dependencies (where one module leans on another for functionality) and conflicts (where two modules can't function concurrently).

In essence, the addon.xml is not just a file; it's the essence of a module in Venddor IO, defining its properties, functionalities, and relationships. Properly understanding and maintaining this file is pivotal to ensure the seamless functionality of any module within Venddor IO.