From b2b72c4da4724299a3fc5385e58c34cac41422e4 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:25:54 +0200 Subject: [PATCH 01/10] release 3.0.0 --- README.md | 22 ++++++++++++++++++++ genericobject.xml | 53 ++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 68 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bcee1018..0fba3d9e 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,28 @@ The genericobject plugin allows to extends GLPi to manage new types of objects. +## ⚠️ IMPORTANT NOTICE - END OF LIFE + +**GenericObject 3.0.0 is a migration-only plugin designed exclusively for GLPI 11.0+** + +Transition plugin marking the end of life of `genericobject`. +It updates database tables and data to the final version, required before the automatic migration of forms into GLPI 11 core. +⚠️ This plugin must be installed in production only to perform the update, and then uninstalled once the operation is complete. + +### Purpose of this transitional version + +This version serves as a migration facilitator and acts as a transitional plugin. Its main objectives are: +Update database tables and data to prepare their final state for GLPI 11. +Ensure the necessary compatibility for the automatic migration of objects and forms to the GLPI 11 core. + +### Usage instructions + +* After migrating to GLPI 11, install this final version (3.0.0). +* Run the data migration operation using the following command: + * `php bin/console migration:genericobject_plugin_to_core` +* Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. + + ## Documentation We maintain a detailed documentation here -> [Documentation](http://glpi-plugins.readthedocs.io/en/latest/genericobject/index.html) diff --git a/genericobject.xml b/genericobject.xml index 0ecf97e1..b8785f47 100644 --- a/genericobject.xml +++ b/genericobject.xml @@ -1,19 +1,53 @@ - Generic Objects Management + Generic Objects End-of-Life Updater genericobject stable https://raw.githubusercontent.com/pluginsGLPI/genericobject/main/genericobject.png - - - + Plugin de transition marquant la fin de vie du plugin Genericobject. + Il met à jour les tables et les données de la base vers la version finale, étape nécessaire avant la migration automatique des formulaires vers les assets personnalisés de GLPI 11. + ⚠️ Ce plugin doit être installé uniquement en production pour effectuer la mise à jour, puis désinstallé une fois l’opération terminée. + Transition plugin marking the end of life of Genericobject plugin. + It updates database tables and data to the final version, required before the automatic migration of forms into GLPI 11 custom assets. + ⚠️ This plugin must be installed in production only to perform the update, and then uninstalled once the operation is complete. - - - + +Genericobject 3.0.0 - Plugin de migration uniquement (Fin de vie) + +Si vous prévoyez de migrer votre instance GLPI vers la version 11 et que vous n’avez pas installé la dernière version 2.14.14 sur votre instance GLPI 10.0.x, une version transitoire spécifique compatible avec GLPI 11 est disponible. + +⚠️ Attention : La version finale 3.0.0 est une version EOL (fin de vie). Elle ne reçoit plus de mises à jour fonctionnelles ni de correctifs de sécurité. + +Instructions d'utilisation +-------------------------- +- Après la migration vers GLPI 11, installez cette version finale (3.0.0). +- Lancez l’opération de migration des données en utilisant la commande suivante : + - `php bin/console migration:genericobject_plugin_to_core` +- Désinstallez le plugin `genericobject` après la migration, une fois que toutes les données ont été intégrées et vérifiées dans le cœur de GLPI 11. + +Cette version fournit uniquement un support pour la migration. Pour les fonctionnalités des assets personnalisés, utilisez les assets personnalisés natifs de GLPI 11. + + + +Genericobject 3.0.0 - Migration Only Plugin (End of Life) + +If you plan to migrate your GLPI instance to version 11 and have not installed the latest 2.14.14 version on your GLPI 10.0.x instance, a specific transitional version compatible with GLPI 11 is available. + +⚠️ Warning: The final 3.0.0 version is an EOL (End of Life) release. It no longer receives functional updates or security fixes. + +Usage instructions +------------------ +- After migrating to GLPI 11, install this final version (3.0.0). +- Run the data migration operation using the following command: + - `php bin/console migration:genericobject_plugin_to_core` +- Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. + +This version provides migration support only. For custom assets functionality, use GLPI 11's native custom assets. + + https://github.com/pluginsGLPI/genericobject @@ -24,6 +58,11 @@ Walid Nouh + + 3.0.0 + ~11.0.0 + https://github.com/pluginsGLPI/genericobject/releases/download/3.0.0/glpi-genericobject-3.0.0.tar.bz2 + 2.14.14 ~10.0.0 From 06326e936eaaa99398d6b6cdbddd766d61435a96 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:28:45 +0200 Subject: [PATCH 02/10] update README --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0fba3d9e..4e239ed7 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,6 @@ [![GitHub release](https://img.shields.io/github/release/pluginsGLPI/genericobject.svg)](https://github.com/pluginsGLPI/genericobject/releases) [![GitHub build](https://travis-ci.org/pluginsGLPI/genericobject.svg?)](https://travis-ci.org/pluginsGLPI/genericobject/) -![Screenshot](./genericobject.gif "genericobject") - - -The genericobject plugin allows to extends GLPi to manage new types of objects. - - ## ⚠️ IMPORTANT NOTICE - END OF LIFE **GenericObject 3.0.0 is a migration-only plugin designed exclusively for GLPI 11.0+** @@ -32,6 +26,8 @@ Ensure the necessary compatibility for the automatic migration of objects and fo * After migrating to GLPI 11, install this final version (3.0.0). * Run the data migration operation using the following command: * `php bin/console migration:genericobject_plugin_to_core` +* ⚠️ Warning: If you have added additional fields to your GenericObject items using the Fields plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). +This version includes a dedicated migration method to properly associate these fields with GLPI’s CustomAsset system, which previously relied on GenericObject. * Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. From a7dcf8948a9fd4a399604116ac5ee5e1916618b8 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:30:38 +0200 Subject: [PATCH 03/10] update README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4e239ed7..cf4863e5 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,12 @@ Ensure the necessary compatibility for the automatic migration of objects and fo ### Usage instructions -* After migrating to GLPI 11, install this final version (3.0.0). -* Run the data migration operation using the following command: +1. After migrating to GLPI 11, install this final version (3.0.0). +2. Run the data migration operation using the following command: * `php bin/console migration:genericobject_plugin_to_core` -* ⚠️ Warning: If you have added additional fields to your GenericObject items using the Fields plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). +3. ⚠️ Warning: If you have added additional fields to your GenericObject items using the Fields plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). This version includes a dedicated migration method to properly associate these fields with GLPI’s CustomAsset system, which previously relied on GenericObject. -* Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. +4. Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. ## Documentation From 24ed7bc4d3ff32d62511a8a4690a86e165f2dd2a Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:31:20 +0200 Subject: [PATCH 04/10] update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cf4863e5..6bb777e5 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ Ensure the necessary compatibility for the automatic migration of objects and fo 1. After migrating to GLPI 11, install this final version (3.0.0). 2. Run the data migration operation using the following command: * `php bin/console migration:genericobject_plugin_to_core` -3. ⚠️ Warning: If you have added additional fields to your GenericObject items using the Fields plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). -This version includes a dedicated migration method to properly associate these fields with GLPI’s CustomAsset system, which previously relied on GenericObject. +3. ⚠️ Warning: If you have added additional `fields` to your `GenericObject` items using the `Fields` plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). +This version includes a dedicated migration method to properly associate these fields with GLPI’s `CustomAsset` system, which previously relied on `GenericObject`. 4. Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. From 9e25aa5dacfbfe9811f5324a4a88cbf7ad58df18 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:34:17 +0200 Subject: [PATCH 05/10] adapt --- genericobject.xml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/genericobject.xml b/genericobject.xml index b8785f47..c4e5be67 100644 --- a/genericobject.xml +++ b/genericobject.xml @@ -23,10 +23,12 @@ Si vous prévoyez de migrer votre instance GLPI vers la version 11 et que vous n Instructions d'utilisation -------------------------- -- Après la migration vers GLPI 11, installez cette version finale (3.0.0). -- Lancez l’opération de migration des données en utilisant la commande suivante : +1. Après la migration vers GLPI 11, installez cette version finale (3.0.0). +2. Lancez l’opération de migration des données en utilisant la commande suivante : - `php bin/console migration:genericobject_plugin_to_core` -- Désinstallez le plugin `genericobject` après la migration, une fois que toutes les données ont été intégrées et vérifiées dans le cœur de GLPI 11. +3. ⚠️ Attention : Si vous avez ajouté des champs supplémentaires à vos éléments GenericObject en utilisant le plugin Fields, vous devez mettre à jour le plugin vers la version compatible GLPI 11 (1.22.0). +Cette version inclut une méthode de migration dédiée pour associer correctement ces champs au système CustomAsset de GLPI, sur lequel ils reposaient auparavant. +4. Désinstallez le plugin genericobject après la migration, une fois que toutes les données ont été intégrées et vérifiées dans le cœur de GLPI 11. Cette version fournit uniquement un support pour la migration. Pour les fonctionnalités des assets personnalisés, utilisez les assets personnalisés natifs de GLPI 11. @@ -40,10 +42,12 @@ If you plan to migrate your GLPI instance to version 11 and have not installed t Usage instructions ------------------ -- After migrating to GLPI 11, install this final version (3.0.0). -- Run the data migration operation using the following command: +1. After migrating to GLPI 11, install this final version (3.0.0). +2. Run the data migration operation using the following command: - `php bin/console migration:genericobject_plugin_to_core` -- Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. +3. ⚠️ Warning: If you have added additional fields to your GenericObject items using the Fields plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). +This version includes a dedicated migration method to properly associate these fields with GLPI’s CustomAsset system, which previously relied on. +4. Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. This version provides migration support only. For custom assets functionality, use GLPI 11's native custom assets. From c414b02e0a36b3b3100c0d92e359d5b3ec204546 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:39:08 +0200 Subject: [PATCH 06/10] reword --- README.md | 6 +++--- genericobject.xml | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6bb777e5..0eb2cfce 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,13 @@ **GenericObject 3.0.0 is a migration-only plugin designed exclusively for GLPI 11.0+** -Transition plugin marking the end of life of `genericobject`. +Plugin marking the end of life of `genericobject`. It updates database tables and data to the final version, required before the automatic migration of forms into GLPI 11 core. ⚠️ This plugin must be installed in production only to perform the update, and then uninstalled once the operation is complete. -### Purpose of this transitional version +### Purpose of this version -This version serves as a migration facilitator and acts as a transitional plugin. Its main objectives are: +This version serves as a migration facilitator. Its main objectives are: Update database tables and data to prepare their final state for GLPI 11. Ensure the necessary compatibility for the automatic migration of objects and forms to the GLPI 11 core. diff --git a/genericobject.xml b/genericobject.xml index c4e5be67..daee1d71 100644 --- a/genericobject.xml +++ b/genericobject.xml @@ -6,18 +6,18 @@ https://raw.githubusercontent.com/pluginsGLPI/genericobject/main/genericobject.png - Plugin de transition marquant la fin de vie du plugin Genericobject. - Il met à jour les tables et les données de la base vers la version finale, étape nécessaire avant la migration automatique des formulaires vers les assets personnalisés de GLPI 11. + Plugin marquant la fin de vie du plugin Genericobject. + Il met à jour les tables et les données de la base vers la version finale, prérequis avant la migration automatique des formulaires vers les assets personnalisés de GLPI 11. ⚠️ Ce plugin doit être installé uniquement en production pour effectuer la mise à jour, puis désinstallé une fois l’opération terminée. - Transition plugin marking the end of life of Genericobject plugin. - It updates database tables and data to the final version, required before the automatic migration of forms into GLPI 11 custom assets. + Plugin marking the end of life of Genericobject plugin. + It updates database tables and data to the final version, prerequisites before the automatic migration of forms into GLPI 11 custom assets. ⚠️ This plugin must be installed in production only to perform the update, and then uninstalled once the operation is complete. Genericobject 3.0.0 - Plugin de migration uniquement (Fin de vie) -Si vous prévoyez de migrer votre instance GLPI vers la version 11 et que vous n’avez pas installé la dernière version 2.14.14 sur votre instance GLPI 10.0.x, une version transitoire spécifique compatible avec GLPI 11 est disponible. +Si vous prévoyez de migrer votre instance GLPI vers la version 11 et que vous n’avez pas installé la dernière version 2.14.14 sur votre instance GLPI 10.0.x, une version spécifique compatible avec GLPI 11 est disponible. ⚠️ Attention : La version finale 3.0.0 est une version EOL (fin de vie). Elle ne reçoit plus de mises à jour fonctionnelles ni de correctifs de sécurité. @@ -36,7 +36,7 @@ Cette version fournit uniquement un support pour la migration. Pour les fonction Genericobject 3.0.0 - Migration Only Plugin (End of Life) -If you plan to migrate your GLPI instance to version 11 and have not installed the latest 2.14.14 version on your GLPI 10.0.x instance, a specific transitional version compatible with GLPI 11 is available. +If you plan to migrate your GLPI instance to version 11 and have not installed the latest 2.14.14 version on your GLPI 10.0.x instance, a specific version compatible with GLPI 11 is available. ⚠️ Warning: The final 3.0.0 version is an EOL (End of Life) release. It no longer receives functional updates or security fixes. From b7fa79d29079ae953a5e0fa5bc4b1f0df63e8175 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:44:10 +0200 Subject: [PATCH 07/10] update CHANGELOG --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9bd5bc7..b61d54d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## [3.0.0 (Migration Only)] - 2025-30-09 +## [3.0.0 (End-of-Life Updater)] - 2025-30-09 -- GLPI 11 compatibility +- End-of-Life Support and Compatibility with GLPI 11 ## [2.14.14] - 2025-04-23 From a573e03c1b1224efd8f368042749abf2c28260f9 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:44:22 +0200 Subject: [PATCH 08/10] update CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b61d54d5..b9709aec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## [3.0.0 (End-of-Life Updater)] - 2025-30-09 +## [3.0.0 End-of-Life Updater] - 2025-30-09 - End-of-Life Support and Compatibility with GLPI 11 From 58cbcb9a298f9dc480149c582abe971d75dcba3a Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:47:40 +0200 Subject: [PATCH 09/10] adapt plugin.xml --- genericobject.xml | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/genericobject.xml b/genericobject.xml index daee1d71..0b047e56 100644 --- a/genericobject.xml +++ b/genericobject.xml @@ -17,40 +17,38 @@ Genericobject 3.0.0 - Plugin de migration uniquement (Fin de vie) -Si vous prévoyez de migrer votre instance GLPI vers la version 11 et que vous n’avez pas installé la dernière version 2.14.14 sur votre instance GLPI 10.0.x, une version spécifique compatible avec GLPI 11 est disponible. +Si vous prévoyez de migrer votre instance GLPI vers la version 11 et que vous n'avez pas installé la version 2.14.14 sur votre instance GLPI 10.0.x, une version spécifique compatible avec GLPI 11 est disponible. -⚠️ Attention : La version finale 3.0.0 est une version EOL (fin de vie). Elle ne reçoit plus de mises à jour fonctionnelles ni de correctifs de sécurité. +⚠️ Attention : la version finale 3.0.0 est une version EOL (fin de vie). Elle ne bénéficie plus de mises à jour fonctionnelles ni de correctifs de sécurité. -Instructions d'utilisation +Instructions d'utilisation : -------------------------- 1. Après la migration vers GLPI 11, installez cette version finale (3.0.0). -2. Lancez l’opération de migration des données en utilisant la commande suivante : - - `php bin/console migration:genericobject_plugin_to_core` -3. ⚠️ Attention : Si vous avez ajouté des champs supplémentaires à vos éléments GenericObject en utilisant le plugin Fields, vous devez mettre à jour le plugin vers la version compatible GLPI 11 (1.22.0). -Cette version inclut une méthode de migration dédiée pour associer correctement ces champs au système CustomAsset de GLPI, sur lequel ils reposaient auparavant. -4. Désinstallez le plugin genericobject après la migration, une fois que toutes les données ont été intégrées et vérifiées dans le cœur de GLPI 11. - -Cette version fournit uniquement un support pour la migration. Pour les fonctionnalités des assets personnalisés, utilisez les assets personnalisés natifs de GLPI 11. +2. Lancez l'opération de migration des données à l'aide de la commande suivante : + - « `php bin/console migration:genericobject_plugin_to_core` ». +3. Attention : si vous avez ajouté des champs supplémentaires à vos éléments GenericObject en utilisant le plugin Fields, vous devez mettre à jour ce dernier vers la version compatible avec GLPI 11 (1.22.0). +Cette version inclut en effet une méthode de migration dédiée permettant d'associer correctement ces champs au système CustomAsset de GLPI, sur lequel ils reposaient auparavant. +4. Désinstallez le plugin GenericObject une fois que toutes les données ont été intégrées et vérifiées dans le cœur de GLPI 11. +Cette version ne fournit qu'un support pour la migration. Pour les fonctionnalités relatives aux actifs personnalisés, utilisez les actifs personnalisés natifs de GLPI 11. -Genericobject 3.0.0 - Migration Only Plugin (End of Life) +Genericobject 3.0.0 - Migration Plugin Only (End of Life) -If you plan to migrate your GLPI instance to version 11 and have not installed the latest 2.14.14 version on your GLPI 10.0.x instance, a specific version compatible with GLPI 11 is available. +If you plan to migrate your GLPI instance to version 11 and have not installed version 2.14.14 on your GLPI 10.0.x instance, a specific version compatible with GLPI 11 is available. -⚠️ Warning: The final 3.0.0 version is an EOL (End of Life) release. It no longer receives functional updates or security fixes. +⚠️ Warning: the final version 3.0.0 is an EOL (End of Life) release. It no longer receives functional updates or security patches. -Usage instructions ------------------- +Usage Instructions: +-------------------------- 1. After migrating to GLPI 11, install this final version (3.0.0). 2. Run the data migration operation using the following command: - - `php bin/console migration:genericobject_plugin_to_core` -3. ⚠️ Warning: If you have added additional fields to your GenericObject items using the Fields plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). -This version includes a dedicated migration method to properly associate these fields with GLPI’s CustomAsset system, which previously relied on. -4. Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. - -This version provides migration support only. For custom assets functionality, use GLPI 11's native custom assets. + - "`php bin/console migration:genericobject_plugin_to_core`". +3. Warning: if you have added extra fields to your GenericObject items using the Fields plugin, you must update it to the version compatible with GLPI 11 (1.22.0). +This version indeed includes a dedicated migration method to correctly associate these fields with GLPI's CustomAsset system, which they previously relied on. +4. Uninstall the GenericObject plugin once all data has been integrated and verified within the core of GLPI 11. +This version provides support for migration only. For features related to custom assets, use GLPI 11's native custom assets. From ad87b09b76d902b6f98c32ced195dceea36693b4 Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Tue, 30 Sep 2025 11:48:38 +0200 Subject: [PATCH 10/10] adapt README --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0eb2cfce..4e99e08d 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,16 @@ This version serves as a migration facilitator. Its main objectives are: Update database tables and data to prepare their final state for GLPI 11. Ensure the necessary compatibility for the automatic migration of objects and forms to the GLPI 11 core. -### Usage instructions - +Usage Instructions: +-------------------------- 1. After migrating to GLPI 11, install this final version (3.0.0). 2. Run the data migration operation using the following command: - * `php bin/console migration:genericobject_plugin_to_core` -3. ⚠️ Warning: If you have added additional `fields` to your `GenericObject` items using the `Fields` plugin, you should update the plugin to the GLPI 11–compatible version (1.22.0). -This version includes a dedicated migration method to properly associate these fields with GLPI’s `CustomAsset` system, which previously relied on `GenericObject`. -4. Uninstall the `genericobject` plugin after the migration, once all data has been fully integrated and verified within the GLPI 11 core. + - "`php bin/console migration:genericobject_plugin_to_core`". +3. Warning: if you have added extra fields to your `GenericObject` items using the `Fields` plugin, you must update it to the version compatible with GLPI 11 (1.22.0). +This version indeed includes a dedicated migration method to correctly associate these fields with GLPI's `CustomAsset` system, which they previously relied on. +4. Uninstall the `GenericObject` plugin once all data has been integrated and verified within the core of GLPI 11. + +This version provides support for migration only. For features related to custom assets, use GLPI 11's native custom assets. ## Documentation