I recently ran all my components through the JED checker to bring them up to speed with J6 in mind. Some of my components have a module and/or plugin included in the main component manifest which has worked fine and still works to install but JED Checker prompts me with a notice as follows:
Node <extension> contains unknown <modules> element
So I'm asking here if I should be creating these types of components as a package to include modules and plugins rather than embedding them into the component manifest? As always, your guidance appreciated.
Updated: My standard manifest for my components except for the updateserver and changelogurl elements.
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" method="upgrade">
<name>com_mycomponent</name>
<creationDate>2024-03-01</creationDate>
<copyright>2024 Glenn Arkell</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<author>Glenn Arkell</author>
<authorEmail>[email protected]</authorEmail>
<authorUrl>https://www.glennarkell.com.au</authorUrl>
<version>0.0.2</version>
<description>COM_MYCOMPONENT_XML_DESCRIPTION</description>
<namespace path="src">GlennArkell\Component\Mycomponent</namespace>
<scriptfile>script.php</scriptfile>
<install> <!-- Runs on install -->
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<update> <!-- Runs on update -->
<schemas>
<schemapath type="mysql">sql/updates/mysql/</schemapath>
</schemas>
</update>
<uninstall> <!-- Runs on uninstall -->
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<files folder="site">
<folder>forms</folder>
<folder>src</folder>
<folder>tmpl</folder>
</files>
<media destination="com_mycomponent" folder="media">
<folder>css</folder>
<folder>images</folder>
<file>joomla.asset.json</file>
</media>
<languages folder="site">
<language tag="en-GB">language/en-GB/com_mycomponent.ini</language>
</languages>
<administration>
<menu img="class:fa fa-settings" >COM_MYCOMPONENT<params><dashboard>mycomponent</dashboard></params></menu>
<files folder="administrator">
<filename>access.xml</filename>
<filename>config.xml</filename>
<folder>forms</folder>
<folder>src</folder>
<folder>tmpl</folder>
<folder>services</folder>
<folder>presets</folder>
<folder>sql</folder>
</files>
<languages folder="administrator">
<language tag="en-GB">language/en-GB/com_mycomponent.ini</language>
<language tag="en-GB">language/en-GB/com_mycomponent.sys.ini</language>
</languages>
</administration>
<plugins>
<plugin group="system" plugin="mycomponent"/>
</plugins>
<modules>
<module module="mod_mycomponent" />
</modules>
<dashboards>
<dashboard title="COM_MYCOMPONENT_DASHBOARD_TITLE" icon="icon-none fa fa-settings">
COM_MYCOMPONENT_DASHBOARD_TITLE
</dashboard>
</dashboards>
</extension>