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.

Document Root ​

Use <quiqqer> as the outer element of new XML files read by Core and Utils. Keep the format-specific element, such as <events> or <locales>, inside it. Files that already use <quiqqer> keep their existing structure.

Existing files without this wrapper remain readable. The 2.x schemas require <quiqqer> and flag legacy roots during validation. Module-specific XML formats and external tools such as PHPUnit keep their own formats.

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
<quiqqer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://www.quiqqer.com/docs/schemas/2.x/console.xsd">
    <console>
        <tool exec="\Vendor\Package\Console\MyTool"/>
    </console>
</quiqqer>

events.xml ​

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

xml
<quiqqer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://www.quiqqer.com/docs/schemas/2.x/events.xsd">
    <events>
        <event on="eventName" fire="\Vendor\Package\EventHandler::method"/>
        <event on="eventName" fire="\Vendor\Package\EventHandler::method" priority="20"/>
    </events>
</quiqqer>

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
<quiqqer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://www.quiqqer.com/docs/schemas/2.x/permissions.xsd">
    <permissions>
        <permission name="vendor.package.action" type="bool">
            <defaultvalue>0</defaultvalue>
        </permission>
    </permissions>
</quiqqer>

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
<quiqqer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://www.quiqqer.com/docs/schemas/2.x/locale.xsd">
    <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>

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

XML Examples And Schemas ​

XML examples and XSD files are maintained in the documentation repository. Use the XML Schemas guide for public XSD downloads, schema links in XML files, and local validation. The schemas describe document structure and allow extensible settings and provider content.

Released under GPL-3.0-or-later.