How do I start using Winter CMS?

Luke Towers
Posted on May 20, 2021.

How do I start using Winter for new projects?

Have a look at our dedicated Installation page which describes all the methods available to install Winter CMS.

How do I switch my existing projects to use Winter instead of October?

All existing plugins & themes remain compatible with this fork. After following the below instructions it is also highly recommended to follow the relevant upgrade guides:

For a Composer-based installation

Modify your composer.json as follows:

"october/rain": "1.1.*",
"october/system": "1.1.*",
"october/backend": "1.1.*",
"october/cms": "1.1.*",
"laravel/framework": ...,

to the following:

"php": "^8.0.2",
"winter/storm": "dev-develop as 1.2",
"winter/wn-system-module": "dev-develop",
"winter/wn-backend-module": "dev-develop",
"winter/wn-cms-module": "dev-develop",
"laravel/framework": "^9.1",
"wikimedia/composer-merge-plugin": "~2.0.1"

Then, run composer update and then proceed to the All installation types section below.

Wizard based Installation

For installations installed using October's wizard installer, copy the composer.json file from the Winter GitHub repo to the root folder of your installation and run composer update. Then proceed to the All installation types section below.

NOTE: After running composer update, there is the potential for the modules directory to be unavailable if Composer removes the October CMS modules after installing the Winter CMS modules. If this occurs, please re-run composer update and the modules will be correctly installed.

All installation types

You will also need to update bootstrap/autoload.php's $helperPath = __DIR__.'/../vendor/october/rain/src/Support/helpers.php'; to $helperPath = __DIR__.'/../vendor/winter/storm/src/Support/helpers.php';

If you are referencing any October\Rain\* classes directly, you can continue to do so without fear of breaking as they are properly aliased to their Winter\Storm\* equivalents, but we would recommend you change over the references anyways if you are committing to Winter CMS long term.

If you are making any calls to october:* commands (including the october:version or october:util set build usually in composer.json) you will need to switch them to winter:* instead.

It is also recommended to update references to $.oc to $.wn, although a compatibility layer exists for that functionality as well so that your existing projects will continue to work unmodified.

NOTE: If you are interacting with any of the X-October-* headers directly, you will need to make sure you update them to be X-Winter-* instead.

Troubleshooting

Composer fails to generate autoload files - missing files from "tests" folder

If you have previously installed October from the Wizard installer, you may be missing the tests folder in your install, or missing some required files within.

You can download a snapshot of Winter CMS from GitHub, and copy the tests folder within the ZIP file and place that in your project folder to resolve this issue.

Composer create-project or update command fails due to the composer-merge-plugin dependency

This dependency may require Composer v2 to be installed in order to be fully compatible. If you wish to continue to use Composer v1, you can remove the wikimedia/composer-merge-plugin requirement from your composer.json file to remove this dependency. Note that this dependency is used to bring in dependencies for plugins that have a composer.json file within the plugin - if you have plugins with this requirement, you will need to include the plugin in your main composer.json file.

More

Keep informed

Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!