# Table of Content

* [Basic Ingredients](/xmf-cookbook/basic-ingredients.md)
  * [Namespaces](/xmf-cookbook/basic-ingredients/namespaces.md)
  * [Autoloading](/xmf-cookbook/basic-ingredients/autoloading.md)
  * [Debugging](/xmf-cookbook/basic-ingredients/debugging.md)
  * [Forward Compatibility](/xmf-cookbook/basic-ingredients/forward-compatibility.md)
* [Recipes](/xmf-cookbook/recipes.md)
  * [Introducing Module Helpers](/xmf-cookbook/recipes/introducing-module-helpers.md)
    * Simplify Reading Module Configs
    * Easy Access to Module Object
  * [Using the Permission Helper](/xmf-cookbook/recipes/using-the-permission-helper.md)
    * [Checking Permissions](/xmf-cookbook/recipes/using-the-permission-helper/checking-permissions.md)
      * Does the User Have Permission for an Item?
      * Leave if the User Does Not Have Permission
    * [Managing Item Permissions](/xmf-cookbook/recipes/using-the-permission-helper/managing-item-permissions.md)
      * Assign Permissions to an Item From a Form
      * Clean Up Permissions When an Item is Deleted
  * [Using the Session Helper](/xmf-cookbook/recipes/using-the-session-helper.md)
    * Save and Retrieve Context
  * [Using JSON Web Tokens](/xmf-cookbook/recipes/using-json-web-tokens.md)
    * Ajax Protection with JWT
  * [Altering Database Tables](/xmf-cookbook/recipes/altering-database-tables.md)
    * Rename a Database Table
    * Add a Column to a Table
  * [Migrating a Module's Database](/xmf-cookbook/recipes/migrating-a-modules-database.md)
    * Generate a Schema Definition
    * Basic Synchronization
    * Rename a Set of Tables
    * Convert a Changed Column
  * [Loading Initial Data](/xmf-cookbook/recipes/loading-initial-data.md)
    * Simple Table Loading
    * Apply a Transform
    * Save Table Data in YAML
    * Case Study
  * [Module Admin Pages](/xmf-cookbook/recipes/module-admin-pages.md)
    * [Hide and Seek with Icons](/xmf-cookbook/recipes/module-admin-pages/hide-and-seek-with-icons.md)
      * Where are the icons?
      * menu.php icons
    * [Standard Admin Pages](/xmf-cookbook/recipes/module-admin-pages/standard-admin-pages.md)
      * index.php conversion
      * pages.php conversion
  * [Manage Metadata](/xmf-cookbook/recipes/manage-metadata.md)
    * SEO Slugs
    * Generate a Teaser
    * Generate Keyword Lists
    * Generate a Search Summary
  * [Highlighting Content](/xmf-cookbook/recipes/highlighting-content.md)
* [Reference](/xmf-cookbook/reference.md)
  * [Assert](/xmf-cookbook/reference/assert.md)
    * [Assertions](/xmf-cookbook/reference/assert/assertions.md)
  * [Database](/xmf-cookbook/reference/database.md)
    * [Migrate](/xmf-cookbook/reference/database/migrate.md)
    * [TableLoad](/xmf-cookbook/reference/database/tableload.md)
    * [Tables](/xmf-cookbook/reference/database/tables.md)
      * [Getting Started](/xmf-cookbook/reference/database/tables/getting-started.md)
      * [Table Operations](/xmf-cookbook/reference/database/tables/table-operations.md)
      * [Working with Columns](/xmf-cookbook/reference/database/tables/working-with-columns.md)
      * [Working with Indexes](/xmf-cookbook/reference/database/tables/working-with-indexes.md)
      * [Changing Table Data](/xmf-cookbook/reference/database/tables/changing-table-data.md)
      * [Interacting with the Work Queue](/xmf-cookbook/reference/database/tables/interacting-with-the-work-queue.md)
      * [Error Info and Debugging](/xmf-cookbook/reference/database/tables/error-info-and-debugging.md)
  * [Debug](/xmf-cookbook/reference/debug.md)
  * [FilterInput](/xmf-cookbook/reference/filterinput.md)
  * [Highlighter](/xmf-cookbook/reference/highlighter.md)
  * [IPAddress](/xmf-cookbook/reference/ipaddress.md)
  * [Jwt](/xmf-cookbook/reference/jwt.md)
    * [JsonWebToken](/xmf-cookbook/reference/jwt/jsonwebtoken.md)
    * [KeyFactory](/xmf-cookbook/reference/jwt/keyfactory.md)
    * [TokenFactory](/xmf-cookbook/reference/jwt/tokenfactory.md)
    * [TokenReader](/xmf-cookbook/reference/jwt/tokenreader.md)
  * [Key](/xmf-cookbook/reference/key.md)
    * [ArrayStorage](/xmf-cookbook/reference/key/arraystorage.md)
    * [Basic](/xmf-cookbook/reference/key/basic.md)
    * [FileStorage](/xmf-cookbook/reference/key/filestorage.md)
    * [KeyAbstract](/xmf-cookbook/reference/key/keyabstract.md)
    * [StorageInterface](/xmf-cookbook/reference/key/storageinterface.md)
  * [Language](/xmf-cookbook/reference/language.md)
  * [Metagen](/xmf-cookbook/reference/metagen.md)
    * [Extracting Data](/xmf-cookbook/reference/metagen/extracting-data.md)
    * [Applying Data](/xmf-cookbook/reference/metagen/applying-data.md)
  * [Module](/xmf-cookbook/reference/module.md)
    * [Admin](/xmf-cookbook/reference/module/admin.md)
    * [Helper](/xmf-cookbook/reference/module/helper.md)
    * [Helper](/xmf-cookbook/reference/module/helper-1.md)
      * [AbstractHelper](/xmf-cookbook/reference/module/helper-1/abstracthelper.md)
      * [Cache](/xmf-cookbook/reference/module/helper-1/cache.md)
      * [GenericHelper](/xmf-cookbook/reference/module/helper-1/generichelper.md)
      * [Permission](/xmf-cookbook/reference/module/helper-1/permission.md)
      * [Session](/xmf-cookbook/reference/module/helper-1/session.md)
  * [ProxyCheck](/xmf-cookbook/reference/proxycheck.md)
  * [Random](/xmf-cookbook/reference/random.md)
  * [Request](/xmf-cookbook/reference/request.md)
  * [StopWords](/xmf-cookbook/reference/stopwords.md)
  * [Uuid](/xmf-cookbook/reference/uuid.md)
  * [Yaml](/xmf-cookbook/reference/yaml.md)
* [Credits](/xmf-cookbook/credits.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://xoops.gitbook.io/xmf-cookbook/table-of-content.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
