In the latest J!3.4 when installing extension of type 'file' (or may be other types are affected also) there is a difference regarding what is going into element
field of table _extensions
.
Some extracts from
\libraries\cms\installer\adapter\file.php
J!3.3.4:
$element = preg_replace('/\.xml/', '', basename($manifestPath));
Looks like filename is going to be stored into element
field.
J!3.4.1:
$element = (string) $this->getManifest()->name;
$element = str_replace('files_', '', JFilterInput::getInstance()->clean($element, 'cmd'));
Now we have name
tag into element
field.
The problem comes when uninstalling such extension. In both cases Joomla is looking for manifest filename into element
field. In the second case it will find name tage here.
Since Joomla documentation is saying:
<name> – raw component name (e.g. com_banners).
there should be no problem, except ugly names in Extension Manager. But some old extensions simply do not work now, as they do not have pure filenames in the name
tag.
Because we have another example in Joomla Docs:
Put anything into here, name is only shown in extension manager.
<name>Kunena Language Pack</name>
So, what to write in the name
tag when creating manifest files?