Skip to content

XML Configuration Files

QUIQQER packages and projects use XML files to declare configuration and extension points. Use these files to register console commands, events, permissions, translations, backend menu entries, panels, settings, database changes, and other package behavior.

Package-Level Files

FilePurpose
package.xmlPackage manifest with metadata, images, support information, languages, copyright, and providers.
console.xmlConsole tool registration.
database.xmlDatabase table declarations for global and project-related tables.
events.xmlEvent listener registration.
group.xmlGroup extension configuration.
locale.xmlPHP and JavaScript translations.
media.xmlMedia item attribute declarations.
menu.xmlBackend menu entries.
panel.xmlSingle backend panel definition.
panels.xmlBackend panel definitions.
permissions.xmlPermission declarations.
settings.xmlPackage and project settings.
site.xmlSite type and site extension configuration.
user.xmlUser extension configuration.
widgets.xmlDesktop widget declarations.

Import During Setup and Updates

During setup and update workflows, QUIQQER reads package XML files and imports their declarations into the system. This is how package-provided menu entries, permissions, events, database changes, and translations become available after a package is installed or updated.

Important imported files include:

  • menu.xml
  • permissions.xml
  • events.xml
  • database.xml
  • locale.xml

QUIQQER also imports system permissions and locale data from system, package, project, and JavaScript XML sources.

package.xml

package.xml describes package metadata such as title, description, images, support links, copyright information, languages, and providers. See package.xml for package examples and recommended structure.

console.xml

console.xml registers console tools. Packages and projects can provide console tools that become available through the QUIQQER console. See console.xml for package examples and recommended structure.

QUIQQER scans:

  • installed packages under OPT_DIR
  • projects under USR_DIR

Tool classes are expected to extend QUI\System\Console\Tool.

Basic shape:

xml
<console>
    <tool exec="\Vendor\Package\Console\MyTool"/>
</console>

events.xml

events.xml registers event listeners. See events.xml for package examples and recommended structure.

xml
<events>
    <event on="eventName" fire="\Vendor\Package\EventHandler::method"/>
    <event on="eventName" fire="\Vendor\Package\EventHandler::method" priority="20"/>
</events>

Behavior:

  • on and fire are required for an entry to be imported
  • priority is optional
  • default priority is 10
  • listeners are registered through the event manager

permissions.xml

permissions.xml declares permissions that packages can later check in PHP or JavaScript. See Permissions for package examples and recommended checks.

Basic shape:

xml
<permissions>
    <permission name="vendor.package.action" type="bool">
        <defaultvalue>0</defaultvalue>
    </permission>
</permissions>

locale.xml

locale.xml declares translation groups and variables. See Localization for package examples and usage in PHP, JavaScript, XML, and templates.

Basic shape:

xml
<locales>
    <groups name="vendor/package" datatype="php,js">
        <locale name="package.title">
            <de><![CDATA[Pakettitel]]></de>
            <en><![CDATA[Package title]]></en>
        </locale>
    </groups>
</locales>

QUIQQER imports locale files from packages, projects, system locale directories, and JavaScript XML sources.

menu.xml declares backend menu entries and links them to package-provided AMD modules. See menu.xml for package examples and recommended structure.

settings.xml

settings.xml declares package configuration values and backend settings windows. See settings.xml for package examples and recommended structure.

Project-level settings are also declared in settings.xml. See Project Settings for the project-specific structure.

media.xml

media.xml declares package-defined attributes for media items. See media.xml for the supported structure.

Remaining XML References

  • site.xml extends site behavior, site types, and site editor UI.
  • user.xml extends user attributes and user UI.
  • group.xml extends group attributes and group UI.
  • panel.xml extends an existing backend panel.
  • panels.xml registers backend workspace panels.
  • widgets.xml documents the legacy desktop widget format.

database.xml

database.xml declares database tables and setup routines. See database.xml for package examples and recommended structure.

Common scopes:

  • global for package tables that exist once per installation
  • projects for project-related tables

Released under GPL-3.0-or-later.