MANIFEST-NAMESPACE-001
<extension> without namespace
Missing <namespace> in the manifest
Joomla 3 extensions lived as class FooController in a flat folder. Joomla 4+ components need a namespace and usually a service provider so MVC Factory can find classes.
<extension> without namespace → <namespace path="src">Vendor\Component\Name</namespace>
What you will see
- Class ... not found
- Failed to create MVC factory
Symptoms people search
extension installs but every view 500s · no namespace in XML
Replace this code
Swap <extension> without namespace for <namespace path="src">Vendor\Component\Name</namespace>.
Joomla 3
Remove or stop calling this
<extension type="component" version="3.9" method="upgrade">Joomla 4 / 6
Use this instead
<extension type="component" method="upgrade">
<namespace path="src">Acme\Component\Lms</namespace>
<!-- plus services/provider.php -->How to fix it
- 1Add <namespace path="src">Your\Vendor\Component</namespace>.
- 2Move PHP into src/ matching PSR-4.
- 3Add services/provider.php for components, modules, and plugins.
Also known as
namespace · services/provider.php · PSR-4
Related issues
- Joomla 3 → 4Manifest / installer
Updater client 0 / 1 integers
<client>0</client> → site / administrator strings
- Joomla 3 → 4Joomla API
JNode / JTree
JNode → Nested table / custom tree
- Joomla 3 → 4Manifest / installer
_QQ_ language placeholder
_QQ_ → Escaped quotes in INI files
- Joomla 4 → 5Manifest / installer
en-GB.com_foo.ini language filenames
en-GB.com_lms.ini → com_lms.ini + langmetadata.xml
- Joomla 3 → 4Manifest / installer
Joomla 1.5 plugin folder / discover install
plugins/content/foo.php (1.5 layout) → plugins/content/foo/foo.php + foo.xml (1.6+ layout)
- Joomla 3 → 4Manifest / installer
script.php preflight only on install
preflight($type) assuming install only → Handle uninstall/update in preflight and postflight