DOCS Tidy up formatting / spelling in 4.6.0 changelog

This commit is contained in:
Garion Herman 2020-06-25 15:05:38 +12:00
parent 35d31919f2
commit 2931ce20ef

View File

@ -9,40 +9,38 @@
## MySQL tables are auto-converted from MyISAM to InnoDB {#myisam} ## MySQL tables are auto-converted from MyISAM to InnoDB {#myisam}
Beginning with [4.4.0](https://docs.silverstripe.org/en/4/changelogs/4.4.0/), Beginning with [4.4.0](https://docs.silverstripe.org/en/4/changelogs/4.4.0/),
our minimum requirement for MySQL is 5.6 (since MySQL 5.5 end of life reached in December 2018). our minimum requirement for MySQL is 5.6 (since MySQL 5.5 end of life reached in
Starting with MySQL 5.6, [InnoDB](https://dev.mysql.com/doc/refman/5.6/en/innodb-introduction.html) December 2018). Starting with MySQL 5.6, [InnoDB](https://dev.mysql.com/doc/refman/5.6/en/innodb-introduction.html)
is the new default storage engine, is the new default storage engine, replacing the older [MyISAM](https://dev.mysql.com/doc/refman/5.6/en/myisam-storage-engine.html)
replacing the older [MyISAM](https://dev.mysql.com/doc/refman/5.6/en/myisam-storage-engine.html) engine. engine.
Silverstripe CMS already creates InnoDB tables by default, Silverstripe CMS already creates InnoDB tables by default, mainly in order to
mainly in order to benefit from their better support for database transactions. benefit from their better support for database transactions. Before MySQL 5.6,
Before MySQL 5.6, InnoDB didn't have a `FULLTEXT` search index, InnoDB didn't have a `FULLTEXT` search index, requiring us to enforce the MyISAM
requiring us to enforce the MyISAM engine when devs opted into this index type engine when devs opted into this index type in their particular setup. There are
in their particular setup. There are a few ways in which this opt-in can happen: a few ways in which this opt-in can happen:
* Adding the [FulltextSearchable](https://github.com/silverstripe/silverstripe-framework/blob/4/src/ORM/Search/FulltextSearchable.php) * Adding the [FulltextSearchable](https://github.com/silverstripe/silverstripe-framework/blob/4/src/ORM/Search/FulltextSearchable.php)
extension to a DataObject, as described in our extension to a DataObject, as described in our [search docs](https://docs.silverstripe.org/en/4/developer_guides/search/fulltextsearch/)
[search docs](https://docs.silverstripe.org/en/4/developer_guides/search/fulltextsearch/)
* Defining `'type' => 'fulltext'` in `DataObject::$db` column definitions * Defining `'type' => 'fulltext'` in `DataObject::$db` column definitions
* Implementing [DBIndexable](https://github.com/silverstripe/silverstripe-framework/blob/4/src/ORM/FieldType/DBIndexable.php) * Implementing [DBIndexable](https://github.com/silverstripe/silverstripe-framework/blob/4/src/ORM/FieldType/DBIndexable.php)
on a custom `DBField` subclass. on a custom `DBField` subclass.
* Setting `'ENGINE=MyISAM'` in `DataObject::$create_table_options` * Setting `'ENGINE=MyISAM'` in `DataObject::$create_table_options`
This search index is not required to enable simple text search This search index is not required to enable simple text search in the "Pages"
in the "Pages" section of the CMS, or any ModelAdmin implementations. section of the CMS, or any ModelAdmin implementations. We generally recommend
We generally recommend to choose a more powerful choosing a more powerful [search addon](https://addons.silverstripe.org/add-ons?search=fulltext&type=&sort=downloads)
[search addon](https://addons.silverstripe.org/add-ons?search=fulltext&type=&sort=downloads)
(e.g. based on Solr or ElasticSearch) for website frontend search use cases. (e.g. based on Solr or ElasticSearch) for website frontend search use cases.
As of 4.6.0, a `dev/build` will automatically switch MyISAM tables to InnoDB, As of 4.6.0, a `dev/build` will automatically switch MyISAM tables to InnoDB,
which automatically recreates any indexes required. If you have large indexes, which automatically recreates any indexes required. If you have large indexes,
this can extend the duration if this task. As usual, back up your database this can extend the duration of this task. As usual, back up your database
before upgrading, and test upgrades on non-production systems first. before upgrading, and test upgrades on non-production systems first. Our tests
Our tests indicate that indexes with thousands of records and screen pages indicate that indexes with thousands of records and screen pages worth of
worth of content (15MB index size) are converted in a few seconds. content (15MB index size) are converted in a few seconds.
In order to opt out of this change, you can set the engine explicitly In order to opt out of this change, you can set the engine explicitly for your
for your DataObject implementations: DataObject implementations:
```php ```php
use SilverStripe\ORM\Connect\MySQLSchemaManager; use SilverStripe\ORM\Connect\MySQLSchemaManager;
@ -81,9 +79,12 @@ We intend to improve this pattern in a future release of Silverstripe CMS.
## MIME Type validation now a core module {#mime-validator} ## MIME Type validation now a core module {#mime-validator}
`silverstripe/mimevalidator` is now a core module and will ship by default on new projects. Projects referencing `silverstripe/recipe-core` will automatically install `silverstripe/mimevalidator` when they upgrade to 4.6.0. `silverstripe/mimevalidator` is now a core module and will ship by default on
new projects. Projects referencing `silverstripe/recipe-core` will automatically
install `silverstripe/mimevalidator` when they upgrade to 4.6.0.
Read [Allowed file types](Developer_Guides/Files/Allowed_file_types) in the Silverstripe CMS doc for all the details. Read [Allowed file types](Developer_Guides/Files/Allowed_file_types) in the
Silverstripe CMS doc for all the details.
<!--- Changes below this line will be automatically regenerated --> <!--- Changes below this line will be automatically regenerated -->