Merge pull request #8183 from open-sausages/pulls/4/docs-upgrade-public-mention

Mention public folder in 4.0.0 upgrading overview
This commit is contained in:
Ingo Schommer 2018-06-18 09:00:42 +12:00 committed by GitHub
commit a49e03c9fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 5 deletions

View File

@ -14,6 +14,7 @@ For users upgrading to 4.1.0 please see the specific [4.1.0 upgrading guide](4.1
is required. is required.
* All code earlier marked as deprecated for 4.0 has now been removed (check our * All code earlier marked as deprecated for 4.0 has now been removed (check our
[deprecation process](/contributing/release_process)) [deprecation process](/contributing/release_process))
* **4.1.0 only** Support for public webroot folder `public/` ([details](4.1.0#public-folder))
* All code has been migrated to follow the PSR-2 coding standard. Most significantly, all SilverStripe * All code has been migrated to follow the PSR-2 coding standard. Most significantly, all SilverStripe
classes are now namespaced, and some have been renamed. This has major implications for classes are now namespaced, and some have been renamed. This has major implications for
arrangement of templates, as well as other references to classes via string literals or configuration. arrangement of templates, as well as other references to classes via string literals or configuration.
@ -556,6 +557,11 @@ If you deploy release archives or upload code via FTP,
either ensure those archives can correctly extract symlinks, either ensure those archives can correctly extract symlinks,
or explicitly switch to the "copy" mode to avoid symlinks. or explicitly switch to the "copy" mode to avoid symlinks.
At this point, you should consider using a [public/ folder as the webroot](4.1.0#public-folder),
which was introduced in the newer [4.1.0](4.1.0) release.
The same [vendor-plugin](https://github.com/silverstripe/vendor-plugin) mechanism
should be used to expose public files in your themes and project folders.
### SS_Log replaced with PSR-3 logging {#psr3-logging} ### SS_Log replaced with PSR-3 logging {#psr3-logging}
One of the great changes that comes with SilverStripe 4 is the introduction of One of the great changes that comes with SilverStripe 4 is the introduction of

View File

@ -10,7 +10,7 @@
Note: if you receive an error message about an undefined constant while Note: if you receive an error message about an undefined constant while
upgrading with `composer`, re-running the command should solve the issue. upgrading with `composer`, re-running the command should solve the issue.
### Upgrade `public/` folder (optional) ### Upgrade `public/` folder (optional) {#public-folder}
This release allows the maintenance of a public webroot folder which separates all This release allows the maintenance of a public webroot folder which separates all
web-accessible files from protected project files (like the vendor folder web-accessible files from protected project files (like the vendor folder
@ -60,7 +60,7 @@ You may also need to add various changes to your code if you reference the BASE_
public folder. public folder.
- You can check if a public folder exists with `Director::publicDir()` - You can check if a public folder exists with `Director::publicDir()`
### Example `public/` folder structure ### Example `public/` folder structure {#public-folder-example}
For example, this is an existing folder structure: For example, this is an existing folder structure:
@ -140,7 +140,7 @@ After migration the folder structure would look like:
└── composer.php └── composer.php
``` ```
### Use new `$public` theme set ### Use new `$public` theme set {#public-theme}
In addition there is a new helper pseudo-theme that you can configure to expose files in the `public/` In addition there is a new helper pseudo-theme that you can configure to expose files in the `public/`
folder to the themed css / javascript file lookup. For instance, this is how you can prioritise those folder to the themed css / javascript file lookup. For instance, this is how you can prioritise those
@ -163,7 +163,7 @@ Note that `Requirements` calls will look in both the `public` folder (first) and
resolving css or javascript files. Any files that aren't in the public folder must be exposed using resolving css or javascript files. Any files that aren't in the public folder must be exposed using
the composer.json "expose" mechanism described below. the composer.json "expose" mechanism described below.
### Expose root project files ### Expose root project files {#expose-root-files}
If you have files comitted to source control outside of the `public` folder, but you need them to be available If you have files comitted to source control outside of the `public` folder, but you need them to be available
to the web server, you can also use the composer.json `expose` directive to symlink / copy these to `public/resources/`. to the web server, you can also use the composer.json `expose` directive to symlink / copy these to `public/resources/`.
@ -212,7 +212,7 @@ For more information on how vendor modules work please see the documentation on
[vendor plugin page](https://github.com/silverstripe/vendor-plugin) or the [vendor plugin page](https://github.com/silverstripe/vendor-plugin) or the
[publishing a module](/developer_guides/extending/how_tos/publish_a_module) documentation. [publishing a module](/developer_guides/extending/how_tos/publish_a_module) documentation.
### Path manipulation helpers ### Path manipulation helpers{#path-manipulation}
The following filesystem helpers have been added in order to better support working with cross-platform The following filesystem helpers have been added in order to better support working with cross-platform
path manipulation: path manipulation: