It is assumed that <libraryname> is the name of the folder and the name of the xml manifest file. So <libraryname> should be 'mylib', the name of the folder in libraries will be 'mylib', the name of the manifest file is "mylib.xml ". The 'mylib' folder will contain the 'src' folder, which we specify in the path attribute of the <namespace> element.
However, we have the ability to specify a <libraryname> of the form "iAmALibraryVendor/MyLib". If <libraryname> is specified in such a way that the library will be installed in the "libraries/iAmALibraryVendor/MyLib" folder. In Joomla 3, we registered namespace using a system plugin. We could install different sets of independent libraries in our "iAmALibraryVendor" folder, varying from project to project. Everything was ok. In Joomla 4, the installation of a library with such a <libraryname> occurs correctly. If you register namespace in the old way using the system plugin, then everything is ok.
But, we have the <namespace> element and we cannot use it in this case, since we cannot specify a slash in the name for the xml manifest file name. But this is necessary in order for the manifest file to load when updating the namespaces map.
See libraries/namespacemap.php function getNamespaces
joomla-cms/libraries/namespacemap.php
Line 179 in f35ce22
| Labels |
Added:
No Code Attached Yet
|
||
| Status | New | ⇒ | Closed |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2022-12-03 12:01:35 |
| Closed_By | ⇒ | richard67 |
#39348 should fix this.