### Example install.sql Content Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/sql.md This is an example of the content expected in an install.sql file for the SQL package installation plugin. ```sql CREATE TABLE wcf1_test ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL ); ``` -------------------------------- ### Example Style Instruction in package.xml Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/style.md Use this instruction type in your package.xml to specify the relative path to the style archive that should be installed. ```xml style.tgz ``` -------------------------------- ### Example Smiley XML Configuration Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/smiley.md Example of how to configure a smiley in the smiley.xml file for package installation. Ensure the path is relative to the WoltLab Suite Core root and files are installed via the file PIP. ```xml Smile smile.png smile@2x.png :) ;) 1 ``` -------------------------------- ### Example package.xml Structure Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/package-xml.md This is a basic example of a package.xml file, illustrating its root structure and essential elements. ```xml Simple Package Einfaches Paket A simple example package. 1.0.0 2023-01-01 https://example.com/packages/simple MIT License Example Author https://example.com com.example.foo com.example.bar com.woltlab.wcf ``` -------------------------------- ### package.xml - Package Manifest Structure Source: https://context7.com/woltlab/docs.woltlab.com/llms.txt An example of a package.xml file, which serves as the manifest for installable packages. It declares metadata, version, dependencies, conflicts, and installation instructions. ```xml My Plugin Mein Plugin Adds example functionality. 1.0.0 2024-06-01 Jane Doe https://example.com com.woltlab.wcf com.woltlab.wcf ``` -------------------------------- ### Package Installation Instructions Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/migration/wcf21/package.md Defines installation instructions for package components, allowing for default filenames based on the Package Installation Plugin (PIP) or explicit file paths. Supports various instruction types like eventListener, sql, language, file, and script. ```xml acp/install_com.woltlab.wcf_3.0.php ``` -------------------------------- ### Example Box XML Configuration Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/box.md This is an example of a box.xml file, demonstrating the structure for defining a box with various properties. ```xml 1.0.0 Recent Activity Aktuelle Aktivitäten system com.woltlab.wcf.boxController sidebarRight 1 1 Welcome Message Willkommensnachricht html contentTop 0 0 welcome-box Welcome!

This is a custom welcome message.

Willkommen!

Dies ist eine benutzerdefinierte Willkommensnachricht.

``` -------------------------------- ### Specify Installation Instruction with File Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/package-xml.md Use `` to define a specific installation task. The `type` attribute determines the Package Installation Plugin (PIP) to use, and the element value is the relative file path. ```xml objectTypeDefinition.xml ``` -------------------------------- ### Example fileDelete.xml Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/file-delete.md This XML snippet demonstrates the structure for defining a file deletion within a package installation. It specifies the file to be deleted and its associated application context. ```xml path/to/your/file.js ``` -------------------------------- ### Example page.xml Configuration Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/page.md An example XML configuration file for defining a page controller. This file specifies the page identifier, type, controller class, and other attributes. ```xml system com.example.mypackage.page.MyPageController com.example.mypackage.page.MyPageHandler com.woltlab.wcf.index 0 user.canViewMyPage,admin.canViewMyPage myPackage.myOption 0 1 0 0 my-custom-class My Page Title <p>This is the content of my page.</p> ``` -------------------------------- ### UserRuntimeCache Implementation Example Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/php/api/caches_runtime-caches.md An example implementation of a `UserRuntimeCache` class, extending `AbstractRuntimeCache` and specifying the `listClassName` property. ```php Hello World! {include file='footer'} ``` -------------------------------- ### Define Package Installation Plugin Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/pip.md Defines a package installation plugin using the `` element. The `name` attribute specifies the plugin's name, and the text content is the PHP classname. Ensure the class file is installed in the `wcf` application and adheres to the `\wcf\*` namespace for correct uninstallation. ```xml \wcf\example\ExamplePlugin ``` -------------------------------- ### Application-Specific File Installation Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/file.md This instruction allows installing files specific to an application. The 'application' attribute determines which application the files are associated with. ```xml ``` ```xml files_wcf.tar ``` -------------------------------- ### Example Cache Builder Implementation Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/php/api/caches_persistent-caches.md This is an example of a cache builder class that extends AbstractCacheBuilder. It demonstrates how to implement custom cache logic. ```php getData($parameters); ``` -------------------------------- ### aclOption.xml Example Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/acl-option.md This XML file demonstrates the structure for defining ACL options and categories. It includes examples of category names and object types. ```xml ``` -------------------------------- ### Example userProfileMenu.xml Configuration Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/user-profile-menu.md This XML configuration defines a user profile menu item. Ensure the class specified implements the `wcf\system\menu\user\profile\content\IUserProfileMenuContent` interface. ```xml wcf\user\profile\tab\ExampleProfileTab 10 option1,option2 user.general.canSeeExampleTab ``` -------------------------------- ### Package System - package.xml Source: https://context7.com/woltlab/docs.woltlab.com/llms.txt This section describes the structure and usage of the `package.xml` file, which serves as the manifest for installable packages in WoltLab Suite. It details how to declare metadata, dependencies, and installation instructions. ```APIDOC ## Package System ### package.xml – Package manifest Every installable package requires a `package.xml` at its root. It declares metadata, version, dependencies, conflicts, and an ordered list of PIP instructions. ```xml My Plugin Mein Plugin Adds example functionality. 1.0.0 2024-06-01 Jane Doe https://example.com com.woltlab.wcf com.woltlab.wcf ``` ``` -------------------------------- ### Basic ACP Template Installation Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/acp-template.md Use this instruction to install ACP templates from an archive. The archive name is optional and defaults to 'acptemplates.tar' if not specified. ```xml ``` ```xml acptemplates.tar ``` -------------------------------- ### Optional Package with File Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/package-xml.md Defines an optional package that can be selected during installation, including the path to its archive file. ```xml com.example.bar ``` -------------------------------- ### Specify Installation Instruction with Default File Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/package-xml.md If a PIP provides a default file name, you can omit the element value for the `` tag. ```xml ``` -------------------------------- ### ACP Template Installation for Specific Application Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/acp-template.md Specify the `application` attribute to install ACP templates into a particular application's directory. If the installing package is an application, it defaults to that application. Otherwise, it defaults to WoltLab Suite Core. ```xml ``` -------------------------------- ### Install Template Listeners Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/tutorial/series/part_2.md This XML file configures the installation of template listeners, including those for the birthday sort field and birthday display. It uses the `include` syntax to load external templates. ```xml ``` -------------------------------- ### objectType.xml Example Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/object-type.md This XML file demonstrates the structure for registering an object type. It includes the package identifier and definition name. ```xml com.woltlab.wcf.example ExampleObjectTypeProvider ``` -------------------------------- ### Define Package Structure with package.xml Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/getting-started.md This XML file defines the metadata, dependencies, and installation instructions for a WoltLab Suite package. Ensure correct encoding and structure for proper installation. ```xml Simple Package A simple package to demonstrate the package system of WoltLab Suite Core 1.0.0 2023-09-15 Your Name http://www.example.com com.woltlab.wcf com.woltlab.wcf ``` -------------------------------- ### Example clipboardAction.xml Configuration Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/package/pip/clipboard-action.md This XML configuration defines a clipboard action, specifying the class name for processing and the pages where it should be available. The 'showorder' attribute is optional. ```xml wcf\system\clipboard\action\MyAction wcf\page\MyPage 10 ``` -------------------------------- ### package.xml for WoltLab Suite Core 3 Source: https://github.com/woltlab/docs.woltlab.com/blob/6.2/docs/tutorial/series/part_1.md Defines the structure, dependencies, and installation instructions for a WoltLab Suite Core 3 package. Ensure required packages are installed before dependent ones. ```xml