Skip to content
This repository
Browse code

MINOR Doc anchors so we can link to sections from other release notes

  • Loading branch information...
commit 2b5a9060e98f90ec8046ff137d6a5a21cfdd5147 1 parent 9d36048
Ingo Schommer authored April 19, 2012

Showing 1 changed file with 31 additions and 27 deletions. Show diff stats Hide diff stats

  1. 58  docs/en/changelogs/3.0.0.md
58  docs/en/changelogs/3.0.0.md
Source Rendered
@@ -14,7 +14,7 @@
14 14
 
15 15
 ## Upgrading ##
16 16
 
17  
-### sapphire renamed to framework ###
  17
+### sapphire renamed to framework [sapphire-rename] ###
18 18
 
19 19
 `sapphire` has been renamed to `framework`.
20 20
 
@@ -27,7 +27,7 @@ Here's a list of steps to check:
27 27
  * Find and replace any references to `sapphire` in your custom code to `framework`. In your PHP code, you can use the constant `FRAMEWORK_DIR`,
28 28
 which points to the framework directory, and in the templates you can use `$ModulePath(framework)`
29 29
 
30  
-### New ORM: More flexible and expressive querying via `DataList` ###
  30
+### New ORM: More flexible and expressive querying via `DataList` [new-orm-datalist] ###
31 31
 
32 32
 The new "fluent" syntax to retrieve ORM records allows for a more
33 33
 expressive notation (instead of unnamed arguments). 
@@ -70,7 +70,7 @@ for the presence of records, please call the count() method on the `DataList`:
70 70
 
71 71
 See the ["datamodel" documentation](../../topics/datamodel) for more details.
72 72
 
73  
-### New ORM: Changes to manipulation of SQL queries ###
  73
+### New ORM: Changes to manipulation of SQL queries [new-orm-sql-queries] ###
74 74
 
75 75
 In the 2.4 ORM it was sometimes necessary to bypass the ORM for performance reasons.  For example,
76 76
 this command would have been intolerably slow:
@@ -109,7 +109,7 @@ The abstract `RelationList` class and its implementations `ManyManyList` and `Ha
109 109
 are replacing the `ComponentSet` API, which is only relevant if you have instanciated these manually.
110 110
 Relations are retrieved through the same way (e.g. `$myMember->Groups()`).
111 111
 
112  
-### InnoDB driver for existing and new tables on MySQL (instead of MyISAM) ###
  112
+### InnoDB driver for existing and new tables on MySQL (instead of MyISAM) [innodb]###
113 113
 
114 114
 SilverStripe has traditionally created all MySQL tables with the MyISAM storage driver,
115 115
 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 `
127 127
 See [mysql.com](http://dev.mysql.com/doc/refman/5.5/en/converting-tables-to-innodb.html) for details on the conversion.
128 128
 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).
129 129
 
130  
-### Convert::json2array() changes ###
  130
+### Convert::json2array() changes [raw2json]###
131 131
 
132 132
 Convert JSON functions have been changed to use built-in json PHP functions `json_decode()` and `json_encode()`
133 133
 
@@ -159,7 +159,7 @@ Now in SilverStripe 3.x, nested structures are arrays:
159 159
 	)
160 160
 
161 161
 
162  
-### GridField: Replacement for TableListField and ComplexTableField ###
  162
+### GridField: Replacement for TableListField and ComplexTableField [gridfield]###
163 163
 
164 164
 We have a new component for managing lists of objects: The `[GridField](/topics/grid-field)`.
165 165
 It's a substantial rewrite of the features previously captured by `TableListField`,
@@ -199,7 +199,7 @@ Upgrade example: Relationship editing
199 199
 
200 200
 More information is available in the [GridField documentation](/topics/grid-field).
201 201
 
202  
-### New template engine ###
  202
+### New template engine [templates]###
203 203
 
204 204
 The template engine has been completely rewritten, and although it is generally backward compatible, there are new features
205 205
 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.
213 213
 
214 214
 See the [template upgrading guide](/reference/templates-upgrading-guide) for a list of methods and their replacements.
215 215
 
216  
-### New user interface for CMS ###
  216
+### New user interface for CMS [ui]###
217 217
 
218 218
 Most aspects of the interface have been redesigned, which necessitated a substantial
219 219
 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
226 226
 ["CSS" guide](../topics/css), ["JavaScript" guide](../topics/javascript) and
227 227
 ["CMS Architecture" guide](/reference/cms-architecture) to get you started.
228 228
 
229  
-### New tree library ###
  229
+### New tree library [tree]###
230 230
 
231 231
 The page tree moved from a bespoke tree library to [JSTree](http://jstree.com),
232 232
 which required changes to markup of the tree and its JavaScript architecture.
233 233
 This includes changes to `TreeDropdownField` and `TreeMultiSelectField`.
234 234
 
235  
-### Settings-related fields move from `SiteTree->getCMSFields()` to new `SiteTree->getSettingsFields()` ###
  235
+### Settings-related fields move from `SiteTree->getCMSFields()` to new `SiteTree->getSettingsFields()` [getcmsfields]###
236 236
 
237 237
 The fields and tabs are now split into two separate forms, which required a structural
238 238
 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()`
244 244
 which could be used as a shortcut for customizations to `FormScaffolder`,
245 245
 in order to achieve E_STRICT compliance. Please use `FormScaffolder` directly.
246 246
 
247  
-### New `SiteTree::$description` field to describe purpose of a page type ###
  247
+### New `SiteTree::$description` field to describe purpose of a page type [sitetree-description]###
248 248
 
249 249
 Please use this static property to describe the purpose of your page types,
250 250
 which will help users understand the new "Add page" dialog.
251 251
 For example, a `TeamPage` type could be described as "Lists all team members, linking to their profiles".
252 252
 Note: This property is optional (defaults to an empty string), but its usage is highly encouraged.
253 253
 
254  
-### New ModelAdmin interface, removed sub-controllers
  254
+### New ModelAdmin interface, removed sub-controllers [modeladmin]
255 255
 
256 256
 ModelAdmin has been substanially rewritten to natively support the `[api:GridField]` API
257 257
 for more flexible data presentation (replacing `[api:ComplexTableField]`),
@@ -262,7 +262,7 @@ or implemented your own `$collection_controller_class`/`$record_controller_class
262 262
 please refer to the new [ModelAdmin documentation](/reference/modeladmin)
263 263
 on details for how to achieve the same goals in the new class.
264 264
 
265  
-### Stylesheet preprocessing via SCSS and the "compass" module ###
  265
+### Stylesheet preprocessing via SCSS and the "compass" module [scss]###
266 266
 
267 267
 CSS files in the `cms` and `framework/admin` modules are now generated through
268 268
 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.
275 275
 If you want to extend the CMS stylesheets for your own projects without SCSS,
276 276
 please create a new CSS file and link it into the CMS via `[api:LeftAndMain::require_css()]`.
277 277
 
278  
-### Built-in Javascript validation removed ###
  278
+### Built-in Javascript validation removed [js-validation] ###
279 279
 
280 280
 Built-in client-side form validation using `Validator.js` and `behaviour.js` has been removed, and is no longer supported.
281 281
 Server-side validation remains. Developers are encouraged to use custom Javascript validation on their
@@ -283,7 +283,7 @@ forms if requiring client-side validation.
283 283
 You don't need to explicitly disable JS validation through `Validator::set_javascript_validation_handler()`
284 284
 any longer (the method is deprecated).
285 285
 
286  
-### FormField consistently adds classes to HTML elements ###
  286
+### FormField consistently adds classes to HTML elements [formfield-classes]###
287 287
 
288 288
 The [api:FormField] API has been refactored to use SilverStripe templates
289 289
 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.
304 304
 		<input type="checkbox" class="checkbox extraClass".../>
305 305
 	</div>
306 306
 
307  
-### FormField constructor argument changes ###
  307
+### FormField constructor argument changes [formfield-constructor]###
308 308
 
309 309
 In order to enforce a consistent parameter order in core [api:FormField] subclasses,
310 310
 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
312 312
 and `$folderName` (for `FileField` and `SimpleImageField`).
313 313
 Please use the appropriate setters on the form field instance instead.
314 314
 
315  
-### Restructured files and folders ###
  315
+### Restructured files and folders [file-restructure]###
316 316
 
317 317
 In order to make the SilverStripe framework useable without the `cms` module,
318 318
 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
328 328
 For any other files (CSS files, templates, images, JavaScript) which might
329 329
 be referenced by their path, please doublecheck that their path is still valid.
330 330
 
331  
-### Removed prototype.js and and behaviour.js dependencies from most core components
  331
+### Removed prototype.js and and behaviour.js dependencies from most core components [prototype-behaviour]
332 332
 
333 333
 This will only affect you if you used either of those libraries,
334 334
 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
339 339
 the `$()` global in SilverStripe, as we unset it via `[jQuery.noConflict()](http://api.jquery.com/jQuery.noConflict/)`.
340 340
 Use a [custom alias via function scope](http://api.jquery.com/jQuery.noConflict/#example-1) if possible.
341 341
 
  342
+### Moved `Widget` API into new 'widgets' module [widgets]###
  343
+
  344
+See [module on github](https://github.com/silverstripe/silverstripe-widgets).
  345
+
342 346
 ### Moved `Translatable` extension into new 'translatable' module ###
343 347
 
344 348
 If you are translating your `SiteTree` or `DataObject` classes with the `Translatable`
@@ -349,24 +353,24 @@ included through `translatable/_config.php`:
349 353
 	Object::add_extension('SiteTree', 'Translatable');
350 354
 	Object::add_extension('SiteConfig', 'Translatable');
351 355
 
352  
-### Moved Group->IPRestrictions into a new 'securityextras' module
  356
+### Moved Group->IPRestrictions into a new 'securityextras' [securityextras]module
353 357
 
354 358
 IP restrictions for group memberships in the "Security" section were a rarely used feature,
355 359
 and cluttered up the interface. We've decided to move it to a separate module
356 360
 called [securityextras](https://github.com/silverstripe-labs/silverstripe-securityextras).
357 361
 To continue using these restrictions, just install the module - no data migration required.
358 362
 
359  
-### Moved comments system into new 'comments' module ###
  363
+### Moved comments system into new 'comments' module [comments]###
360 364
 
361 365
 This affects websites which have comments enabled, through the `$Comments`
362 366
 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.
363 367
 
364  
-### Moved SiteTree->HomepageForDomain into a new 'homepagefordomain' module
  368
+### Moved SiteTree->HomepageForDomain into a new 'homepagefordomain' module [homepagefordomain]
365 369
 
366 370
 The setting determines difference homepages at arbitrary locations in the page tree,
367 371
 and was rarely used in practice - so we moved it to a "[homepagefordomain](https://github.com/silverstripe-labs/silverstripe-homepagefordomain)" module.
368 372
 
369  
-### New syntax for translatable _t functions ###
  373
+### New syntax for translatable _t functions [i18n-t]###
370 374
 
371 375
 You can now call the _t() function in both templates and code with a namespace and string to translate, as well as a
372 376
 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:
376 380
 	:::php
377 381
     _t('i18nTestModule.INJECTIONS2', "Hello {name} {greeting}", array("name"=>"Paul", "greeting"=>"good you are here"));
378 382
 
379  
-### Default translation source in YML instead of PHP $lang array, using Zend_Translate ###
  383
+### Default translation source in YML instead of PHP $lang array, using Zend_Translate [zend-translate] ###
380 384
 
381 385
 This allows for a more flexible handling of translation sources in various formats.
382 386
 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
404 408
 		9 // priority lower than standard translator
405 409
 	);
406 410
 	
407  
-### Removed "auto-merging" of member records from `Member->onBeforeWrite()`
  411
+### Removed "auto-merging" of member records from `Member->onBeforeWrite()` [member-merging]
408 412
 
409 413
 Due to security reasons. Please use `DataObject->merge()` explicitly if this is desired behaviour.
410 414
 
411  
-### Unit tests require definition of used `DataObject` and `Extension` classes ###
  415
+### Unit tests require definition of used `DataObject` and `Extension` classes [tests]###
412 416
 
413 417
 This change was necessary in order to improve performance of the test framework,
414 418
 and avoid rebuilding the database where no database access is required.
@@ -422,13 +426,13 @@ unless these are explicitly noted.
422 426
 
423 427
 Alternatively, you can enforce database usage by setting `SapphireTest->usesDatabase` to `TRUE` in your test class.
424 428
 
425  
-### Breadcrumbs ###
  429
+### Breadcrumbs [breadcrumbs]###
426 430
 
427 431
 Breadcrumbs have been altered to be their own template. In the process of this, the common static
428 432
 SiteTree::$breadcrumbs_delimiter has been removed. To customise breadcrumbs now, create a template
429 433
 BreadcrumbsTemplate.ss from cms/template to your theme or application.
430 434
 
431  
-### Deprecation API ###
  435
+### Deprecation API [deprecation] ###
432 436
 
433 437
 There is a new deprecation API that generates deprecation notices.  Calls to Deprecated methods
434 438
 will only produce errors if the API was deprecated in the release equal to or earlier than the

0 notes on commit 2b5a906

Please sign in to comment.
Something went wrong with that request. Please try again.