mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR Doc anchors so we can link to sections from other release notes
This commit is contained in:
parent
9d36048ada
commit
2b5a9060e9
@ -14,7 +14,7 @@
|
||||
|
||||
## Upgrading ##
|
||||
|
||||
### sapphire renamed to framework ###
|
||||
### sapphire renamed to framework [sapphire-rename] ###
|
||||
|
||||
`sapphire` has been renamed to `framework`.
|
||||
|
||||
@ -27,7 +27,7 @@ Here's a list of steps to check:
|
||||
* Find and replace any references to `sapphire` in your custom code to `framework`. In your PHP code, you can use the constant `FRAMEWORK_DIR`,
|
||||
which points to the framework directory, and in the templates you can use `$ModulePath(framework)`
|
||||
|
||||
### New ORM: More flexible and expressive querying via `DataList` ###
|
||||
### New ORM: More flexible and expressive querying via `DataList` [new-orm-datalist] ###
|
||||
|
||||
The new "fluent" syntax to retrieve ORM records allows for a more
|
||||
expressive notation (instead of unnamed arguments).
|
||||
@ -70,7 +70,7 @@ for the presence of records, please call the count() method on the `DataList`:
|
||||
|
||||
See the ["datamodel" documentation](../../topics/datamodel) for more details.
|
||||
|
||||
### New ORM: Changes to manipulation of SQL queries ###
|
||||
### New ORM: Changes to manipulation of SQL queries [new-orm-sql-queries] ###
|
||||
|
||||
In the 2.4 ORM it was sometimes necessary to bypass the ORM for performance reasons. For example,
|
||||
this command would have been intolerably slow:
|
||||
@ -109,7 +109,7 @@ The abstract `RelationList` class and its implementations `ManyManyList` and `Ha
|
||||
are replacing the `ComponentSet` API, which is only relevant if you have instanciated these manually.
|
||||
Relations are retrieved through the same way (e.g. `$myMember->Groups()`).
|
||||
|
||||
### InnoDB driver for existing and new tables on MySQL (instead of MyISAM) ###
|
||||
### InnoDB driver for existing and new tables on MySQL (instead of MyISAM) [innodb]###
|
||||
|
||||
SilverStripe has traditionally created all MySQL tables with the MyISAM storage driver,
|
||||
mainly to ensure a fulltext search based on MySQL works out of the box.
|
||||
@ -127,7 +127,7 @@ As with any SilverStripe upgrade, we recommend database backups before calling `
|
||||
See [mysql.com](http://dev.mysql.com/doc/refman/5.5/en/converting-tables-to-innodb.html) for details on the conversion.
|
||||
Note: MySQL has made InnoDB the default engine in its [5.5 release](http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html).
|
||||
|
||||
### Convert::json2array() changes ###
|
||||
### Convert::json2array() changes [raw2json]###
|
||||
|
||||
Convert JSON functions have been changed to use built-in json PHP functions `json_decode()` and `json_encode()`
|
||||
|
||||
@ -159,7 +159,7 @@ Now in SilverStripe 3.x, nested structures are arrays:
|
||||
)
|
||||
|
||||
|
||||
### GridField: Replacement for TableListField and ComplexTableField ###
|
||||
### GridField: Replacement for TableListField and ComplexTableField [gridfield]###
|
||||
|
||||
We have a new component for managing lists of objects: The `[GridField](/topics/grid-field)`.
|
||||
It's a substantial rewrite of the features previously captured by `TableListField`,
|
||||
@ -199,7 +199,7 @@ Upgrade example: Relationship editing
|
||||
|
||||
More information is available in the [GridField documentation](/topics/grid-field).
|
||||
|
||||
### New template engine ###
|
||||
### New template engine [templates]###
|
||||
|
||||
The template engine has been completely rewritten, and although it is generally backward compatible, there are new features
|
||||
and some features have been deprecated. See the [template upgrading guide](/reference/templates-upgrading-guide) and the
|
||||
@ -213,7 +213,7 @@ will need re-working.
|
||||
|
||||
See the [template upgrading guide](/reference/templates-upgrading-guide) for a list of methods and their replacements.
|
||||
|
||||
### New user interface for CMS ###
|
||||
### New user interface for CMS [ui]###
|
||||
|
||||
Most aspects of the interface have been redesigned, which necessitated a substantial
|
||||
redevelopment of the underlying logic and presentation.
|
||||
@ -226,13 +226,13 @@ based JavaScript logic. Have a look at the new ["Extending the CMS" guide](../ho
|
||||
["CSS" guide](../topics/css), ["JavaScript" guide](../topics/javascript) and
|
||||
["CMS Architecture" guide](/reference/cms-architecture) to get you started.
|
||||
|
||||
### New tree library ###
|
||||
### New tree library [tree]###
|
||||
|
||||
The page tree moved from a bespoke tree library to [JSTree](http://jstree.com),
|
||||
which required changes to markup of the tree and its JavaScript architecture.
|
||||
This includes changes to `TreeDropdownField` and `TreeMultiSelectField`.
|
||||
|
||||
### Settings-related fields move from `SiteTree->getCMSFields()` to new `SiteTree->getSettingsFields()` ###
|
||||
### Settings-related fields move from `SiteTree->getCMSFields()` to new `SiteTree->getSettingsFields()` [getcmsfields]###
|
||||
|
||||
The fields and tabs are now split into two separate forms, which required a structural
|
||||
change to the underlying class logic. In case you have added or removed fields
|
||||
@ -244,14 +244,14 @@ We've also removed the `$params` attribute on `DataObject->getCMSFields()`
|
||||
which could be used as a shortcut for customizations to `FormScaffolder`,
|
||||
in order to achieve E_STRICT compliance. Please use `FormScaffolder` directly.
|
||||
|
||||
### New `SiteTree::$description` field to describe purpose of a page type ###
|
||||
### New `SiteTree::$description` field to describe purpose of a page type [sitetree-description]###
|
||||
|
||||
Please use this static property to describe the purpose of your page types,
|
||||
which will help users understand the new "Add page" dialog.
|
||||
For example, a `TeamPage` type could be described as "Lists all team members, linking to their profiles".
|
||||
Note: This property is optional (defaults to an empty string), but its usage is highly encouraged.
|
||||
|
||||
### New ModelAdmin interface, removed sub-controllers
|
||||
### New ModelAdmin interface, removed sub-controllers [modeladmin]
|
||||
|
||||
ModelAdmin has been substanially rewritten to natively support the `[api:GridField]` API
|
||||
for more flexible data presentation (replacing `[api:ComplexTableField]`),
|
||||
@ -262,7 +262,7 @@ or implemented your own `$collection_controller_class`/`$record_controller_class
|
||||
please refer to the new [ModelAdmin documentation](/reference/modeladmin)
|
||||
on details for how to achieve the same goals in the new class.
|
||||
|
||||
### Stylesheet preprocessing via SCSS and the "compass" module ###
|
||||
### Stylesheet preprocessing via SCSS and the "compass" module [scss]###
|
||||
|
||||
CSS files in the `cms` and `framework/admin` modules are now generated through
|
||||
the ["compass" SilverStripe module](http://silverstripe.org/compass-module), which uses
|
||||
@ -275,7 +275,7 @@ not when simply using the CMS or developing other CMS functionality.
|
||||
If you want to extend the CMS stylesheets for your own projects without SCSS,
|
||||
please create a new CSS file and link it into the CMS via `[api:LeftAndMain::require_css()]`.
|
||||
|
||||
### Built-in Javascript validation removed ###
|
||||
### Built-in Javascript validation removed [js-validation] ###
|
||||
|
||||
Built-in client-side form validation using `Validator.js` and `behaviour.js` has been removed, and is no longer supported.
|
||||
Server-side validation remains. Developers are encouraged to use custom Javascript validation on their
|
||||
@ -283,7 +283,7 @@ forms if requiring client-side validation.
|
||||
You don't need to explicitly disable JS validation through `Validator::set_javascript_validation_handler()`
|
||||
any longer (the method is deprecated).
|
||||
|
||||
### FormField consistently adds classes to HTML elements ###
|
||||
### FormField consistently adds classes to HTML elements [formfield-classes]###
|
||||
|
||||
The [api:FormField] API has been refactored to use SilverStripe templates
|
||||
for constructing the field HTML, as well as new accessors for HTML attributes.
|
||||
@ -304,7 +304,7 @@ as well as the HTML form element itself.
|
||||
<input type="checkbox" class="checkbox extraClass".../>
|
||||
</div>
|
||||
|
||||
### FormField constructor argument changes ###
|
||||
### FormField constructor argument changes [formfield-constructor]###
|
||||
|
||||
In order to enforce a consistent parameter order in core [api:FormField] subclasses,
|
||||
its no longer possible to set the following optional attributes via constructor arguments:
|
||||
@ -312,7 +312,7 @@ its no longer possible to set the following optional attributes via constructor
|
||||
and `$folderName` (for `FileField` and `SimpleImageField`).
|
||||
Please use the appropriate setters on the form field instance instead.
|
||||
|
||||
### Restructured files and folders ###
|
||||
### Restructured files and folders [file-restructure]###
|
||||
|
||||
In order to make the SilverStripe framework useable without the `cms` module,
|
||||
we've moved some files around.
|
||||
@ -328,7 +328,7 @@ this usually won't have any effect on your own code (unless you're including dir
|
||||
For any other files (CSS files, templates, images, JavaScript) which might
|
||||
be referenced by their path, please doublecheck that their path is still valid.
|
||||
|
||||
### Removed prototype.js and and behaviour.js dependencies from most core components
|
||||
### Removed prototype.js and and behaviour.js dependencies from most core components [prototype-behaviour]
|
||||
|
||||
This will only affect you if you used either of those libraries,
|
||||
or by extension on the globals set in `prototype_improvements.js` and `jquery_improvements.js`.
|
||||
@ -339,6 +339,10 @@ or as an alias for the `jQuery()` method. In general, we recommend not to rely o
|
||||
the `$()` global in SilverStripe, as we unset it via `[jQuery.noConflict()](http://api.jquery.com/jQuery.noConflict/)`.
|
||||
Use a [custom alias via function scope](http://api.jquery.com/jQuery.noConflict/#example-1) if possible.
|
||||
|
||||
### Moved `Widget` API into new 'widgets' module [widgets]###
|
||||
|
||||
See [module on github](https://github.com/silverstripe/silverstripe-widgets).
|
||||
|
||||
### Moved `Translatable` extension into new 'translatable' module ###
|
||||
|
||||
If you are translating your `SiteTree` or `DataObject` classes with the `Translatable`
|
||||
@ -349,24 +353,24 @@ included through `translatable/_config.php`:
|
||||
Object::add_extension('SiteTree', 'Translatable');
|
||||
Object::add_extension('SiteConfig', 'Translatable');
|
||||
|
||||
### Moved Group->IPRestrictions into a new 'securityextras' module
|
||||
### Moved Group->IPRestrictions into a new 'securityextras' [securityextras]module
|
||||
|
||||
IP restrictions for group memberships in the "Security" section were a rarely used feature,
|
||||
and cluttered up the interface. We've decided to move it to a separate module
|
||||
called [securityextras](https://github.com/silverstripe-labs/silverstripe-securityextras).
|
||||
To continue using these restrictions, just install the module - no data migration required.
|
||||
|
||||
### Moved comments system into new 'comments' module ###
|
||||
### Moved comments system into new 'comments' module [comments]###
|
||||
|
||||
This affects websites which have comments enabled, through the `$Comments`
|
||||
placeholder and the `PageComment` class. See the ['comments' module](https://github.com/silverstripe/silverstripe-comments). To continue using comments, simply install the module - no data migration required.
|
||||
|
||||
### Moved SiteTree->HomepageForDomain into a new 'homepagefordomain' module
|
||||
### Moved SiteTree->HomepageForDomain into a new 'homepagefordomain' module [homepagefordomain]
|
||||
|
||||
The setting determines difference homepages at arbitrary locations in the page tree,
|
||||
and was rarely used in practice - so we moved it to a "[homepagefordomain](https://github.com/silverstripe-labs/silverstripe-homepagefordomain)" module.
|
||||
|
||||
### New syntax for translatable _t functions ###
|
||||
### New syntax for translatable _t functions [i18n-t]###
|
||||
|
||||
You can now call the _t() function in both templates and code with a namespace and string to translate, as well as a
|
||||
comment and injection array. Note that the proxity arguement to _t is no longer supported.
|
||||
@ -376,7 +380,7 @@ The new syntax supports injecting variables into the translation. For example:
|
||||
:::php
|
||||
_t('i18nTestModule.INJECTIONS2', "Hello {name} {greeting}", array("name"=>"Paul", "greeting"=>"good you are here"));
|
||||
|
||||
### Default translation source in YML instead of PHP $lang array, using Zend_Translate ###
|
||||
### Default translation source in YML instead of PHP $lang array, using Zend_Translate [zend-translate] ###
|
||||
|
||||
This allows for a more flexible handling of translation sources in various formats.
|
||||
Your own translations can be converted automatically via the ["i18n_yml_converter" module](https://github.com/chillu/i18n_yml_converter). Any modifications
|
||||
@ -404,11 +408,11 @@ Note that its just necessary if SilverStripe is used in a language other than th
|
||||
9 // priority lower than standard translator
|
||||
);
|
||||
|
||||
### Removed "auto-merging" of member records from `Member->onBeforeWrite()`
|
||||
### Removed "auto-merging" of member records from `Member->onBeforeWrite()` [member-merging]
|
||||
|
||||
Due to security reasons. Please use `DataObject->merge()` explicitly if this is desired behaviour.
|
||||
|
||||
### Unit tests require definition of used `DataObject` and `Extension` classes ###
|
||||
### Unit tests require definition of used `DataObject` and `Extension` classes [tests]###
|
||||
|
||||
This change was necessary in order to improve performance of the test framework,
|
||||
and avoid rebuilding the database where no database access is required.
|
||||
@ -422,13 +426,13 @@ unless these are explicitly noted.
|
||||
|
||||
Alternatively, you can enforce database usage by setting `SapphireTest->usesDatabase` to `TRUE` in your test class.
|
||||
|
||||
### Breadcrumbs ###
|
||||
### Breadcrumbs [breadcrumbs]###
|
||||
|
||||
Breadcrumbs have been altered to be their own template. In the process of this, the common static
|
||||
SiteTree::$breadcrumbs_delimiter has been removed. To customise breadcrumbs now, create a template
|
||||
BreadcrumbsTemplate.ss from cms/template to your theme or application.
|
||||
|
||||
### Deprecation API ###
|
||||
### Deprecation API [deprecation] ###
|
||||
|
||||
There is a new deprecation API that generates deprecation notices. Calls to Deprecated methods
|
||||
will only produce errors if the API was deprecated in the release equal to or earlier than the
|
||||
|
Loading…
Reference in New Issue
Block a user