ProfessionalWiki / chameleon

Provides a highly flexible and customizable skin using Bootstrap 4
https://www.mediawiki.org/wiki/Skin:Chameleon
Other
114 stars 62 forks source link

"XML description is missing an element: structure." error with default Chameleon Layout on CanastaWiki #420

Closed zuobot closed 5 months ago

zuobot commented 6 months ago

Context

I installed CanastaWiki on an Ubuntu localhost. Canasta has Chameleon skin come by default.

The overall contents of Canasta are as follows:

UPDATE 2024-04-08: I tried to update Chameleon to version 4.3.0, but the issue is still remain.

Issue

I loaded default layouts (navhead, stickyhead.xml...) from Customization.md page

Add into LocalSettings.php as in the guide: $egChameleonLayoutFile= __DIR__ . '/layout/navhead.xml';

However, when I reload the wiki, the issue is as below:

MediaWiki internal error.

Original exception: [f8bc8a0ea719f26b05e99198] /wiki/Special:Version MWException: /mediawiki/config/layout/navhead.xml: XML description is missing an element: structure.
Backtrace:
from /var/www/mediawiki/w/canasta-skins/chameleon/src/ComponentFactory.php(83)
#0 /var/www/mediawiki/w/canasta-skins/chameleon/src/Chameleon.php(151): Skins\Chameleon\ComponentFactory->getRootComponent()
#1 /var/www/mediawiki/w/canasta-skins/chameleon/src/Chameleon.php(126): Skins\Chameleon\Chameleon->addSkinModulesToOutput()
#2 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(243): Skins\Chameleon\Chameleon->setupTemplateForOutput()
#3 /var/www/mediawiki/w/canasta-skins/chameleon/src/Chameleon.php(111): SkinTemplate->prepareQuickTemplate()
#4 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(146): Skins\Chameleon\Chameleon->prepareQuickTemplate()
#5 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(177): SkinTemplate->generateHTML()
#6 /var/www/mediawiki/w/includes/OutputPage.php(2876): SkinTemplate->outputPage()
#7 /var/www/mediawiki/w/includes/MediaWiki.php(922): OutputPage->output()
#8 /var/www/mediawiki/w/includes/MediaWiki.php(562): MediaWiki->main()
#9 /var/www/mediawiki/w/index.php(50): MediaWiki->run()
#10 /var/www/mediawiki/w/index.php(46): wfIndexMain()
#11 {main}

Exception caught inside exception handler: [f8bc8a0ea719f26b05e99198] /wiki/Special:Version MWException: /mediawiki/config/layout/navhead.xml: XML description is missing an element: structure.
Backtrace:
from /var/www/mediawiki/w/canasta-skins/chameleon/src/ComponentFactory.php(83)
#0 /var/www/mediawiki/w/canasta-skins/chameleon/src/Chameleon.php(151): Skins\Chameleon\ComponentFactory->getRootComponent()
#1 /var/www/mediawiki/w/canasta-skins/chameleon/src/Chameleon.php(126): Skins\Chameleon\Chameleon->addSkinModulesToOutput()
#2 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(243): Skins\Chameleon\Chameleon->setupTemplateForOutput()
#3 /var/www/mediawiki/w/canasta-skins/chameleon/src/Chameleon.php(111): SkinTemplate->prepareQuickTemplate()
#4 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(146): Skins\Chameleon\Chameleon->prepareQuickTemplate()
#5 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(177): SkinTemplate->generateHTML()
#6 /var/www/mediawiki/w/includes/OutputPage.php(2876): SkinTemplate->outputPage()
#7 /var/www/mediawiki/w/includes/exception/MWException.php(181): OutputPage->output()
#8 /var/www/mediawiki/w/includes/exception/MWException.php(215): MWException->reportHTML()
#9 /var/www/mediawiki/w/includes/exception/MWExceptionHandler.php(129): MWException->report()
#10 /var/www/mediawiki/w/includes/exception/MWExceptionHandler.php(248): MWExceptionHandler::report()
#11 /var/www/mediawiki/w/includes/MediaWiki.php(581): MWExceptionHandler::handleException()
#12 /var/www/mediawiki/w/index.php(50): MediaWiki->run()
#13 /var/www/mediawiki/w/index.php(46): wfIndexMain()
#14 {main}

Please support me. I tried to search but the most revelant answer is 9 years ago I also check ComponentFactory.php and getRootComponent() function, but cannot figured out the issue. Thanks for your support.

jeffw16 commented 5 months ago

Turns out, from discussions on the Canasta issue page, that this was not related to any issue inside of Chameleon. There is some confusion on how to store custom design XML files in Canasta. I have addressed it in CanastaWiki/Canasta#378.