Happy to see I'am not alone.
1 - For the J-Cook MVC component, I 've just uploaded the Admin and Site part at the right place, in my J4 new site.
deleted install script.php file (will see proper installer later on)
and removed
<scriptfile>script.php</scriptfile>
in the com_xxx.xml file
=> Run the Install discover to reccord your component and build the component menu. J3.9 install xml works fine under J4.
See the post about PHP8 considerations to correct some deprecated functions.
libraries/jdom/dom.php:384
else if ($i !== null)
if (!empty($args[$i]) )
administrator/components/com_jxxxxx/classes/controller/item.php:240
administrator/components/com_jxxxxx/classes/model/list.php:328
protected function belongsToMany($name, $foreignModelClass, $localKey, $foreignKey, $pivot, $pivotLocalKey, $pivotForeignKey, $selectFields = array(), $raw = false)
administrator/components/com_jxxxxx/helpers/menu.php:61
public static function addSubmenu($name, $view, $layout)
Then I ran the main menu of my component with Maxi debug mode and correct each deprecated function.
There are many replacement we can do with "Find in File" such as :
defined('_JEXEC') or die('Restricted access');
by
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
in all the files using JFactory ... Replace JFactory => Factory
$app = Factory::getApplication();
It's a simple example but I think there are no difficulties to upgrade J-Cook component files to J4, step by step, when running the component.
The main things are here =>
code-de-joomla-3-vers-joomla-4
For JDom, it is already on GitHub
JDom Joomla Library
It would be great if Giro could upgrade it for J4, but I think he left JCook community
It's impossible to push all my environnement on Git because you need to have made all the previous change to run the component.
I don't know how to do with JDom bug.