Skip to content

N°9774 - Fix missing module dependency to request management#8

Open
Molkobain wants to merge 1 commit into
compatibility/itop-3.2from
issue/9774-fix-missing-module-dependancy-to-request-management
Open

N°9774 - Fix missing module dependency to request management#8
Molkobain wants to merge 1 commit into
compatibility/itop-3.2from
issue/9774-fix-missing-module-dependancy-to-request-management

Conversation

@Molkobain

@Molkobain Molkobain commented Jul 8, 2026

Copy link
Copy Markdown
Member

Base information

Question Answer
Related to a SourceForge thread / Another PR / Combodo ticket? N°9774
Type of change? Bug fix

Symptom (bug)

While trying to install the Customer Survey extension, I got the following error during compilation, and setup could not complete:

Warning: Undefined array key "RequestManagement" in /var/www/html/itop/dev-develop/setup/compiler.class.inc.php on line 495

Fatal error: Uncaught Error: Call to a member function GetChildText() on null in /var/www/html/itop/dev-develop/setup/compiler.class.inc.php:493
Stack trace:
#0 /var/www/html/itop/dev-develop/setup/compiler.class.inc.php(299): MFCompiler->DoCompile('/var/www/html/i...', '/var/www/html/i...', true)
#1 /var/www/html/itop/dev-develop/setup/runtimeenv.class.inc.php(1374): MFCompiler->Compile('/var/www/html/i...', true, false)
#2 /var/www/html/itop/dev-develop/setup/sequencers/DataAuditSequencer.php(72): RunTimeEnvironment->DoCompile(Array, Array, Array, true)
#3 /var/www/html/itop/dev-develop/setup/wizardsteps/WizStepInstall.php(145): DataAuditSequencer->ExecuteStep('compile')
#4 /var/www/html/itop/dev-develop/setup/ajax.dataloader.php(160): WizStepInstall->AsyncAction(Object(Combodo\iTop\Application\WebPage\AjaxPage), 'execute_step', Array)
#5 {main}
  thrown in /var/www/html/itop/dev-develop/setup/compiler.class.inc.php on line 493
PHP error occurred: msg=Uncaught Error: Call to a member function GetChildText() on null in /var/www/html/itop/dev-develop/setup/compiler.class.inc.php:493
Stack trace:
#0 /var/www/html/itop/dev-develop/setup/compiler.class.inc.php(299): MFCompiler->DoCompile('/var/www/html/i...', '/var/www/html/i...', true)
#1 /var/www/html/itop/dev-develop/setup/runtimeenv.class.inc.php(1374): MFCompiler->Compile('/var/www/html/i...', true, false)
#2 /var/www/html/itop/dev-develop/setup/sequencers/DataAuditSequencer.php(72): RunTimeEnvironment->DoCompile(Array, Array, Array, true)
#3 /var/www/html/itop/dev-develop/setup/wizardsteps/WizStepInstall.php(145): DataAuditSequencer->ExecuteStep('compile')
#4 /var/www/html/itop/dev-develop/setup/ajax.dataloader.php(160): WizStepInstall->AsyncAction(Object(Combodo\iTop\Application\WebPage\AjaxPage), 'execute_step', Array)
#5 {main}
  thrown, no=1, file=/var/www/html/itop/dev-develop/setup/compiler.class.inc.php, line=493

Reproduction procedure (bug)

  1. On iTop Community 3.3.0-dev
  2. With Customer Survey extension v2.6.2
  3. Do a new installation WITHOUT "Ticket management"
  4. Select the Customer Survey extension in the installation options
  5. Start the installation
  6. Observe the error

Cause (bug)

The RequestManagement menu is not present in the datamodel, so the extension cannot add its submenu to it, and XML delta merging crashes.

A dependency on itop-request-mgmt was indeed added in N°8372, but it is incorrect. It should:

  • Be mandatory, not optional
  • Check for the presence of itop-request-mgmt or itop-request-mgmt-itil

Proposed solution (bug and enhancement)

Add a mandatory dependency on itop-request-mgmt OR itop-request-mgmt-itil in the module.

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have tested all changes I made on an iTop instance
  • Would a unit test be relevant and have I added it? => no
  • Is the PR clear and detailed enough so anyone can understand without digging in the code?

Copilot AI review requested due to automatic review settings July 8, 2026 21:12
@Molkobain Molkobain self-assigned this Jul 8, 2026
@Molkobain Molkobain added the bug Something isn't working label Jul 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a setup crash (iTop ticket N°9774) that occurred when installing the Customer Survey extension without Ticket Management. The extension's datamodel adds a menu under the RequestManagement parent menu, so a request-management module must be present at compile time; otherwise the XML delta merge dereferences a null node and setup fails. The fix tightens the module's dependency expression so that a request-management module is actually required, rather than being satisfiable by the always-present itop-structure module.

Changes:

  • Replaced the itop-request-mgmt/3.2.0 || itop-structure/3.2.0 dependency with a request-management-only alternative so the RequestManagement menu is guaranteed to exist.
  • Intends to accept either the simple or ITIL request-management module.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread module.customer-survey.php Outdated
@Molkobain
Molkobain force-pushed the issue/9774-fix-missing-module-dependancy-to-request-management branch from a198a49 to 04f3dd9 Compare July 8, 2026 21:19
Copilot AI review requested due to automatic review settings July 8, 2026 21:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants