More simple and clear Tutorial about upgrading

Silverstripe Version:3.3


do you know of any Upgrade Tutorial for superdummy from 3.3 to latest?
The one in the docs is too short in descriptions and lacks some sample code (for my scarse knowledge at least) It assumes many concepts are known.

Thanks everybody

I assume you’re referring to 4.0.0 – SilverStripe Documentation and 4.1.0 – SilverStripe Documentation? We’ve tried to make this as easy as possible by scanning your code with the upgrader tool - have you tried to use that? Unfortunately you still need to get a baseline understanding of the new APIs in order to apply them to your code. Do you have a specific area in the upgrade guide where you think more sample code would be helpful?

Thanks for your reply Chillu,

I forgot to mention that:

  • Before last tuesday I did not even know silverstripe was a CMS
  • I was given the task to “Upgrade 3.3 version or port to wordpress” for a site not made by me.
  • I have proto-basic knowledge of composer :smiley:

Given this premise I know I am really under-specialized on the matter so i am not asking or blaming anything.
Mine was just a feedback, if, in my case, could worth anything.

Back to the documentation:
I was referring to
Manual upgrades

  • Leave custom folders like mysite or themes in place.

Leave where? In webroot or in the 4.0 temporary folder?

  • Identify system folders in your webroot ( cms , framework and any additional modules).

  • Delete existing system folders (or move them outside of your webroot).

  • Add a private static $table_name = 'MyDataObject' for any custom DataObjects in your code that are namespaced. This ensures that your database table name will be MyDataObject instead of Me_MyPackage_Model_MyDataObject (converts your namespace to the table_name).

Here sample code would help. I tried add namespaces to every class extending DataObject. Was that correct?
Here the doc says “any custom DataObjects in your code that are namespaced”, So should have I re-namespaced only the ones that were namespaced already in the 3.3 installation? I could not find any though.

  • Ensure you add namespaces to any custom classes in your mysite folder. Your namespaces should follow the pattern of Vendor\Package with anything additional defined at your discretion. Note: The Page and PageController classes must be defined in the global namespace (or without a namespace).

Here also sample code could help. (and where are they located exactly. mysite/code/ ? And are they all custom classes or in there some are core and some are custom?)

  • Install the updated framework, CMS and any other modules you require by updating your composer.json configuration and running composer update.

Does the doc mean I have to go to the old version and run composer update? or to the new temporary directory 4? I suppose I have to run the command inside the old version

Some features have been split into their own modules, such as asset-admin and errorpage . Please refer to recipe-cms composer.json and recipe-core composer.json for a list of recommended modules to include.

  • Check if you need to adapt your code to changed PHP APIs. For more information please refer to the changelog. There is an upgrader tool available to help you with most of the changes required (see below).

  • Visit to rebuild the website database.
    New site or old site?

I could also evalute a quotation for the upgrade process if anybody is interested.

I’ll check the upgrader.
Thank you

At the moment, I followed all the steps, but now if i go to the “old sbut updated site” I am forwarded to the install process.