typo3typo3-9.xtypo3-8.x

Typo3 Upgrade 8.7.9 to ^9.5


I have taken over a very outdated Typo 3 8.7.9 installation from a web agency. I have now moved it to a new web server. I proceeded as follows:

  1. empty Composer installation in the www folder of version 8.7.9.
  2. copy the data from the old web server from the public folder to the new public folder
  3. importing the DB

The website was then fully usable in the frontend and backend. Now I have started the upgrade to ^9.5 using composer and the official guide. I have been working on this for some time now and have already been able to fix a few bugs. The installation tool no longer has any open Upgrade Wizard tasks. The frontend is also accessible. However, when calling the backend, the following error occurs for which I cannot find a solution:

#1294585866 InvalidArgumentException
No class named TYPO3\CMS\Cshmanual\Service\JavaScriptService

My composer.json from the www directory looks like this:

{
"repositories": [
    { "type": "composer", "url": "https://composer.typo3.org/" }
],
"name": "typo3/cms-base-distribution",
"description" : "TYPO3 CMS Base Distribution",
"license": "GPL-2.0-or-later",
"config": {
    "allow-plugins": {
        "typo3/class-alias-loader": true,
        "typo3/cms-composer-installers": true,
        "helhum/typo3-console-plugin": true
    },
    "platform": {
        "php": "7.4"
    }
},
"require": {
    "helhum/typo3-console": "^5.5.5",
    "typo3/cms-backend": "^9.5",
    "typo3/cms-core": "^9.5",
    "typo3/cms-extbase": "^9.5",
    "typo3/cms-extensionmanager": "^9.5",
    "typo3/cms-filelist": "^9.5",
    "typo3/cms-fluid": "^9.5",
    "typo3/cms-frontend": "^9.5",
    "typo3/cms-install": "^9.5",
    "typo3/cms-recordlist": "^9.5",
    "gridelementsteam/gridelements": "^9.8",
    "georgringer/news": "^8.6",
    "evoweb/recaptcha": "^9.1",
    "friendsoftypo3/typo3db-legacy": "^1.1.1",
    "typo3/cms-adminpanel": "^9.2",
    "typo3/cms-rsaauth": "^9.5",
    "typo3fluid/fluid": "2.7.4",
    "psr/cache": "^1.0",
    "typo3/minimal": "^9.5",
    "typo3/cms-about": "^9.5",
    "typo3/cms-belog": "^9.5",
    "typo3/cms-beuser": "^9.5",
    "typo3/cms-felogin": "^9.5",
    "typo3/cms-fluid-styled-content": "^9.5",
    "typo3/cms-form": "^9.5",
    "typo3/cms-impexp": "^9.5",
    "typo3/cms-info": "^9.5",
    "typo3/cms-rte-ckeditor": "^9.5",
    "typo3/cms-scheduler": "^9.5",
    "typo3/cms-setup": "^9.5",
    "typo3/cms-sys-note": "^9.5",
    "typo3/cms-t3editor": "^9.5",
    "typo3/cms-tstemplate": "^9.5",
    "typo3/cms-viewpage": "^9.5",
    "typo3/cms-redirects": "^9.5",
    "typo3/cms-reports": "^9.5",
    "typo3/cms-seo": "^9.5",
    "typo3/cms-cshmanual": "*"
},
"scripts":{
    "typo3-cms-scripts": [
        "typo3cms install:generatepackagestates",
        "typo3cms install:fixfolderstructure"
    ],
    "post-autoload-dump": [
        "@typo3-cms-scripts"
    ]
}
}

How can I fix this error? Or should I move the site to the new location another way


Solution

  • TYPO3 System extension typo3/cms-cshmanual does not exists in TYPO3 v9 anymore, but is listed using the death-star * version constraint. That could lead some mismatch.

    Remove that extension first:

    composer remove "typo3/cms-cshmanual": "*"
    

    After that, check if really system extensions are installed in the correct version:

    composer info | grep 'typo3\/cms-`
    

    which should list the remaining core extensions along with the version.

    copy the data from the old web server from the public folder to the new public folder

    Does this contain coping the typo3conf/ext/ folder too ? That should be cleared and afterwards the

    composer install
    

    command executed again to ensure that extensions are installed from composer.

    #1294585866 InvalidArgumentException No class named TYPO3\CMS\Cshmanual\Service\JavaScriptService

    That exception code is thrown within the GeneralUtility::callUserFunction() which could point to some extension calling that along with the JavaScript Service thingy at some point.

    You should try to enable BE/FE debug mode to retrieve the full stack trace, which gives indications where the root cause of this issue is triggered, and not at which place the cure break out (throw exception).

    Beside that, you should also execute the upgrade wizards after importing the database data.