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.
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.
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.
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.
For modules that are already installed, the addon.xml serves as the reference blueprint when any edits are made via the Manage Modules page.
The addon.xml employs a scheme, a blueprint if you will. Two significant schemes dictate its structure:
Adopted from older versions of Venddor IO, this scheme was predominant until 4.x versions. Modules crafted using this older scheme won't manifest on the Modules → Manage Modules list. They necessitate conversion to function seamlessly.
Introduced post Venddor IO 4.2.x, this modernized scheme is distinguished by its reliance on .po files for translations and language variables. In contrast, the older Scheme 2.0 defined these right within the module scheme.
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.