Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: "Continuous integration"

on:
push:
branches:
- "support/3.0.0"
tags:
- "*"
pull_request:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true

jobs:
generate-ci-matrix:
name: "Generate CI matrix"
uses: "glpi-project/plugin-ci-workflows/.github/workflows/generate-ci-matrix.yml@v1"
with:
glpi-version: "11.0.x"
ci:
name: "GLPI ${{ matrix.glpi-version }} - php:${{ matrix.php-version }} - ${{ matrix.db-image }}"
needs: "generate-ci-matrix"
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.generate-ci-matrix.outputs.matrix) }}
uses: "glpi-project/plugin-ci-workflows/.github/workflows/continuous-integration.yml@v1"
with:
plugin-key: "formcreator"
glpi-version: "${{ matrix.glpi-version }}"
php-version: "${{ matrix.php-version }}"
db-image: "${{ matrix.db-image }}"
138 changes: 0 additions & 138 deletions .github/workflows/tests.yml

This file was deleted.

1 change: 1 addition & 0 deletions .phpunit.result.cache
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"version":2,"defects":{"EOLTest::testEOLInfoDisplay":8,"EOLTest::testEOLMenuIntegration":7,"EOLTest::testEOLPagesAccessible":7,"EOLTest::testEOLTemplatesExist":7,"EOLTest::testPluginConstants":7,"FormcreatorEOLTest::testEOLInfoMethods":8,"FormcreatorInstallTest::testEOLStatus":7,"FormcreatorEOLTest::testEOLClassExists":7,"DatabaseMigrationTest::testRealMigration2_13_9To3_0_0":7,"DatabaseMigrationTest::testIncrementalUpgradeSystem":8,"EOLInterfaceTest::testEOLWarningDisplayOnDashboard":5,"EOLInterfaceTest::testDataPersistenceAndSessions":8,"FormsMigrationTest::testFormcreatorToFormsMigration":7,"FormsMigrationTest::testComplexFormMigration":8,"FormsMigrationTest::testMigrationRollback":8},"times":{"EOLTest::testEOLInfoDisplay":0.018,"EOLTest::testEOLMenuIntegration":0.009,"EOLTest::testEOLPagesAccessible":0.004,"EOLTest::testEOLTemplatesExist":0.003,"EOLTest::testPluginConstants":0.004,"FormcreatorEOLTest::testEOLClassExists":0.003,"FormcreatorEOLTest::testEOLTemplatesExist":0.003,"FormcreatorEOLTest::testEOLInfoMethods":0.004,"FormcreatorInstallTest::testPluginCanLoad":0.004,"FormcreatorInstallTest::testPluginVersion":0.003,"FormcreatorInstallTest::testEOLStatus":0.006,"DatabaseMigrationTest::testRealMigration2_13_9To3_0_0":1.686,"DatabaseMigrationTest::testIncrementalUpgradeSystem":0.037,"DatabaseMigrationTest::testMigrationCommands":0.046,"EOLInterfaceTest::testEOLWarningDisplayOnDashboard":0.014,"EOLInterfaceTest::testEOLInfoPageAccess":0.004,"EOLInterfaceTest::testMigrationGuidanceInterface":0.005,"EOLInterfaceTest::testNavigationToFormsPlugin":0.004,"EOLInterfaceTest::testUserPermissionsAndAccess":0.045,"EOLInterfaceTest::testResponsiveDesignAndAccessibility":0.004,"EOLInterfaceTest::testErrorHandlingAndEdgeCases":0.004,"EOLInterfaceTest::testPerformanceAndLoadingTimes":0.005,"EOLInterfaceTest::testDataPersistenceAndSessions":0.004,"FormsMigrationTest::testFormcreatorToFormsMigration":0.02,"FormsMigrationTest::testComplexFormMigration":0.008,"FormsMigrationTest::testMigrationRollback":0.003}}
2 changes: 1 addition & 1 deletion .tx/config
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com

[o:teclib:p:glpi-project-plugin-formcreator:r:2_13_0]
[o:teclib:p:glpi-project-plugin-formcreator:r:3_0_0]
file_filter = locales/<lang>.po
source_file = locales/glpi.pot
source_lang = en_GB
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
# Formcreator Changelog

## [3.0.0 (Migration Only)](https://github.com/pluginsGLPI/formcreator/compare/2.13.10...3.0.0) (Unreleased)

### 🚨 BREAKING CHANGES - END OF LIFE VERSION

This version (3.0.0) is a **migration-only plugin** designed exclusively for GLPI 11.0+. After migration, Formcreator becomes End-of-Life (EOL).

### ✅ Added for Migration
* **Migration Only**: Complete refactoring to migration-only plugin for GLPI 11+
* **EOL Status**: Plugin shows End-of-Life status after migration completion
* **Migration Preservation**: All migration scripts from 2.5.0 to 2.13.10 preserved
* **GLPI 11 Support**: Native integration with GLPI 11 form migration system
* **Migration Logging**: Enhanced logging and verification for migration process

### ❌ Removed
* **All features**: GLPI 11 now includes the new Forms system


## Previous Versions (Functional Releases)

**Note**: Versions below are the last functional releases of Formcreator. Version 3.0.0+ is migration-only.

## [2.13.10](https://github.com/pluginsGLPI/formcreator/compare/2.13.9...2.13.10) (2025-02-26)


Expand Down
28 changes: 25 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,37 @@
[![IRC Chat](https://img.shields.io/badge/IRC-%23GLPI-green.svg)](http://webchat.freenode.net/?channels=GLPI)
[![Follow Twitter](https://img.shields.io/badge/Twitter-GLPI%20Project-26A2FA.svg)](https://twitter.com/GLPI_PROJECT)
[![Join the chat at https://gitter.im/TECLIB/formcreator](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/TECLIB/formcreator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Project Status: Active](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)
[![Project Status: End Of Life](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
[![GitHub All Releases](https://img.shields.io/github/downloads/PluginsGLPI/formcreator/total)](https://github.com/pluginsGLPI/formcreator/releases)

Extend GLPI with Plugins.
## ⚠️ IMPORTANT NOTICE - END OF LIFE

**FormCreator 3.0.0 is a migration-only plugin designed exclusively for GLPI 11.0+**

Plugin marking the end of life of `formcreator`.
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 version

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:
--------------------------
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:formcreator_plugin_to_core`.
3. Uninstall the `FormCreator` 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.

## Table of Contents

- [Form Creator](#form-creator)
- [Form Creator](#form-creator)
- [⚠️ IMPORTANT NOTICE - END OF LIFE](#️-important-notice---end-of-life)
- [Table of Contents](#table-of-contents)
- [Synopsis](#synopsis)
- [Features](#features)
Expand Down
36 changes: 19 additions & 17 deletions RoboFile.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

/**
*
* ---------------------------------------------------------------------
* Formcreator is a plugin which allows creation of custom forms of
* easy access.
Expand All @@ -21,7 +23,7 @@
* You should have received a copy of the GNU General Public License
* along with Formcreator. If not, see <http://www.gnu.org/licenses/>.
* ---------------------------------------------------------------------
* @copyright Copyright © 2011 - 2021 Teclib'
* @copyright Copyright © 2011 - 2018-2021 Teclib'
* @license http://www.gnu.org/licenses/gpl.txt GPLv3+
* @link https://github.com/pluginsGLPI/formcreator/
* @link https://pluginsglpi.github.io/formcreator/
Expand Down Expand Up @@ -151,7 +153,7 @@ public function archiveBuild($release = 'release') {
// update version in package.json
$this->sourceUpdatePackageJson($version);
if ($release == 'release') {
$this->updateChangelog();
// $this->updateChangelog();
}

$diff = $this->gitDiff(['package.json']);
Expand Down Expand Up @@ -195,12 +197,12 @@ public function archiveBuild($release = 'release') {
$this->_exec("git archive --prefix=$pluginName/ $rev $filesToArchive | tar x -C '$archiveWorkdir'");

// Copy SCSS
$srcFile = __DIR__ . '/css_compiled/styles.min.css';
$dstFile = "$archiveWorkdir/$pluginName/css_compiled/styles.min.css";
$success = copy($srcFile, $dstFile);
if (!$success) {
throw new RuntimeException("failed to generate CSS resources");
}
// $srcFile = __DIR__ . '/css_compiled/styles.min.css';
// $dstFile = "$archiveWorkdir/$pluginName/css_compiled/styles.min.css";
// $success = copy($srcFile, $dstFile);
// if (!$success) {
// throw new RuntimeException("failed to generate CSS resources");
// }

// Add composer dependencies
$success = $this->taskExec('composer')
Expand All @@ -213,15 +215,15 @@ public function archiveBuild($release = 'release') {
}

// Add JS dependencies
$success = $this->taskExec('yarn')
->arg('--cwd')
->arg("$archiveWorkdir/$pluginName")
->arg('install')
->arg('--prod')
->run();
if ($success->getExitCode() != 0) {
throw new RuntimeException("failed to generate JS resources");
}
// $success = $this->taskExec('yarn')
// ->arg('--cwd')
// ->arg("$archiveWorkdir/$pluginName")
// ->arg('install')
// ->arg('--prod')
// ->run();
// if ($success->getExitCode() != 0) {
// throw new RuntimeException("failed to generate JS resources");
// }

// Create the final archive
$this->taskPack($archiveFile)
Expand Down
4 changes: 3 additions & 1 deletion RoboFilePlugin.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

/**
*
* ---------------------------------------------------------------------
* Formcreator is a plugin which allows creation of custom forms of
* easy access.
Expand All @@ -21,7 +23,7 @@
* You should have received a copy of the GNU General Public License
* along with Formcreator. If not, see <http://www.gnu.org/licenses/>.
* ---------------------------------------------------------------------
* @copyright Copyright © 2011 - 2021 Teclib'
* @copyright Copyright © 2011 - 2018-2021 Teclib'
* @license http://www.gnu.org/licenses/gpl.txt GPLv3+
* @link https://github.com/pluginsGLPI/formcreator/
* @link https://pluginsglpi.github.io/formcreator/
Expand Down
43 changes: 0 additions & 43 deletions ajax/cancelticket.php

This file was deleted.

Loading