Skip to content
This repository
Browse code

ENHANCEMENT Added sapphire/docs (migrated from https://github.com/chi…

  • Loading branch information...
commit 8bd01d62c4d38e05c1a5426ec04fe56ec69cb0e3 1 parent a569567
Ingo Schommer authored February 07, 2011

Showing 156 changed files with 20,602 additions and 0 deletions. Show diff stats Hide diff stats

  1. 2  docs/LICENSE
  2. 0  docs/_manifest_exclude
  3. BIN  docs/en/_images/silverstripe-cms-book-front-cover-design-june2009preview.png
  4. 46  docs/en/changelogs/2.0.1.md
  5. 155  docs/en/changelogs/2.0.2.md
  6. 171  docs/en/changelogs/2.1.0.md
  7. 22  docs/en/changelogs/2.1.1.md
  8. 342  docs/en/changelogs/2.2.0.md
  9. 33  docs/en/changelogs/2.2.1.md
  10. 396  docs/en/changelogs/2.2.2.md
  11. 36  docs/en/changelogs/2.2.3.md
  12. 43  docs/en/changelogs/2.2.4.md
  13. 2,134  docs/en/changelogs/2.3.0.md
  14. 68  docs/en/changelogs/2.3.1.md
  15. 36  docs/en/changelogs/2.3.10.md
  16. 11  docs/en/changelogs/2.3.11.md
  17. 540  docs/en/changelogs/2.3.2.md
  18. 65  docs/en/changelogs/2.3.3.md
  19. 43  docs/en/changelogs/2.3.4.md
  20. 15  docs/en/changelogs/2.3.5.md
  21. 40  docs/en/changelogs/2.3.6.md
  22. 12  docs/en/changelogs/2.3.7.md
  23. 55  docs/en/changelogs/2.3.8.md
  24. 52  docs/en/changelogs/2.3.9.md
  25. 861  docs/en/changelogs/2.4.0.md
  26. 497  docs/en/changelogs/2.4.1.md
  27. 159  docs/en/changelogs/2.4.2.md
  28. 350  docs/en/changelogs/2.4.3.md
  29. 364  docs/en/changelogs/2.4.4.md
  30. 41  docs/en/changelogs/2.4.5.md
  31. BIN  docs/en/changelogs/_images/cms22screenie.jpg
  32. 385  docs/en/changelogs/alpha/2.4.0-alpha1.md
  33. 732  docs/en/changelogs/beta/2.4.0-beta1.md
  34. 555  docs/en/changelogs/beta/2.4.0-beta2.md
  35. 63  docs/en/changelogs/index.md
  36. 11  docs/en/changelogs/rc/2.3.11-rc1.md
  37. 41  docs/en/changelogs/rc/2.3.8-rc1.md
  38. 146  docs/en/changelogs/rc/2.4.0-rc1.md
  39. 127  docs/en/changelogs/rc/2.4.0-rc2.md
  40. 27  docs/en/changelogs/rc/2.4.0-rc3.md
  41. 328  docs/en/changelogs/rc/2.4.1-rc1.md
  42. 20  docs/en/changelogs/rc/2.4.1-rc2.md
  43. 146  docs/en/changelogs/rc/2.4.2-rc1.md
  44. 8  docs/en/changelogs/rc/2.4.2-rc2.md
  45. 148  docs/en/changelogs/rc/2.4.3-rc1.md
  46. 7  docs/en/changelogs/rc/2.4.3-rc2.md
  47. 80  docs/en/changelogs/rc/2.4.4-rc1.md
  48. 23  docs/en/changelogs/rc/2.4.4-rc2.md
  49. 41  docs/en/changelogs/rc/2.4.5-rc1.md
  50. 25  docs/en/howto/cache-control.md
  51. 198  docs/en/howto/csv-import.md
  52. 39  docs/en/howto/dynamic-default-fields.md
  53. 142  docs/en/howto/grouping-dataobjectsets.md
  54. 18  docs/en/howto/index.md
  55. 139  docs/en/howto/phpunit-configuration.md
  56. 63  docs/en/index.md
  57. BIN  docs/en/installation/_images/webpi-2-a-silverstripe-choice.jpg
  58. BIN  docs/en/installation/_images/webpi-2-b-dependencies.jpg
  59. BIN  docs/en/installation/_images/webpi-2-c-downloading-and-installaing.jpg
  60. BIN  docs/en/installation/_images/webpi-2-d-installer-questions-step1.jpg
  61. BIN  docs/en/installation/_images/webpi-2-e-installer-questions-step2.jpg
  62. BIN  docs/en/installation/_images/webpi-2-f-success-message.jpg
  63. BIN  docs/en/installation/_images/webpi-2-g-silverstripe-homepage.jpg
  64. BIN  docs/en/installation/_images/webpi-2-h-cms-interface-working.jpg
  65. 67  docs/en/installation/common-problems.md
  66. 45  docs/en/installation/from-source.md
  67. 35  docs/en/installation/index.md
  68. 87  docs/en/installation/lighttpd.md
  69. 37  docs/en/installation/mac-osx.md
  70. 35  docs/en/installation/nginx.md
  71. 49  docs/en/installation/server-requirements.md
  72. 40  docs/en/installation/upgrading.md
  73. 29  docs/en/installation/webserver.md
  74. 150  docs/en/installation/windows-manual-iis-6.md
  75. 395  docs/en/installation/windows-manual-iis-7.md
  76. 31  docs/en/installation/windows-manual-iis.md
  77. 50  docs/en/installation/windows-pi.md
  78. 49  docs/en/installation/windows-wamp.md
  79. 455  docs/en/misc/coding-conventions.md
  80. 285  docs/en/misc/contributing.md
  81. 15  docs/en/misc/index.md
  82. 242  docs/en/misc/module-release-process.md
  83. 116  docs/en/misc/release-process.md
  84. 113  docs/en/misc/ss-markdown.md
  85. 175  docs/en/misc/subversion.md
  86. BIN  docs/en/reference/_images/modeladmin_edit.png
  87. BIN  docs/en/reference/_images/modeladmin_results.png
  88. BIN  docs/en/reference/_images/modeladmin_search.png
  89. BIN  docs/en/reference/_images/sitereport.png
  90. 413  docs/en/reference/advanced-templates.md
  91. 36  docs/en/reference/bbcode.md
  92. 345  docs/en/reference/built-in-page-controls.md
  93. 150  docs/en/reference/complextablefield.md
  94. 129  docs/en/reference/database-structure.md
  95. 196  docs/en/reference/dataobject.md
  96. 172  docs/en/reference/dataobjectdecorator.md
  97. 98  docs/en/reference/dataobjectset.md
  98. 63  docs/en/reference/director.md
  99. 93  docs/en/reference/execution-pipeline.md
  100. 85  docs/en/reference/form-field-types.md
  101. 118  docs/en/reference/image.md
  102. 39  docs/en/reference/index.md
  103. 193  docs/en/reference/leftandmain.md
  104. 127  docs/en/reference/member.md
  105. 115  docs/en/reference/modeladmin.md
  106. 241  docs/en/reference/partial-caching.md
  107. 74  docs/en/reference/permission.md
  108. 193  docs/en/reference/requirements.md
  109. 179  docs/en/reference/restfulservice.md
  110. 84  docs/en/reference/rssfeed.md
  111. 196  docs/en/reference/searchcontext.md
  112. 96  docs/en/reference/site-reports.md
  113. 71  docs/en/reference/siteconfig.md
  114. 298  docs/en/reference/sitetree.md
  115. 208  docs/en/reference/sqlquery.md
  116. 288  docs/en/reference/staticpublisher.md
  117. 82  docs/en/reference/tablefield.md
  118. 288  docs/en/reference/tablelistfield.md
  119. 108  docs/en/reference/typography.md
  120. 92  docs/en/reference/urlvariabletools.md
  121. 33  docs/en/reference/versioned.md
  122. BIN  docs/en/topics/_images/basicfiles.gif
  123. BIN  docs/en/topics/_images/basicfiles.gif.png
  124. BIN  docs/en/topics/_images/basicfilestructure.gif
  125. BIN  docs/en/topics/_images/basicfilestructure.gif.png
  126. BIN  docs/en/topics/_images/controllers-and-dataobjects.png
  127. BIN  docs/en/topics/_images/modules_folder.jpg
  128. BIN  docs/en/topics/_images/pagetype-inheritance.png
  129. BIN  docs/en/topics/_images/translatable1.png
  130. BIN  docs/en/topics/_images/translatable2.png
  131. BIN  docs/en/topics/_images/translatable3.png
  132. BIN  docs/en/topics/_images/translatable4_small.png
  133. BIN  docs/en/topics/_images/widget_demo.gif
  134. BIN  docs/en/topics/_images/widget_demo.gif.png
  135. 57  docs/en/topics/access-control.md
  136. 125  docs/en/topics/commandline.md
  137. 77  docs/en/topics/configuration.md
  138. 99  docs/en/topics/controller.md
  139. 93  docs/en/topics/css.md
  140. 34  docs/en/topics/data-types.md
  141. 479  docs/en/topics/datamodel.md
  142. 145  docs/en/topics/debugging.md
  143. 65  docs/en/topics/directory-structure.md
  144. 123  docs/en/topics/email.md
  145. 104  docs/en/topics/environment-management.md
  146. 105  docs/en/topics/error-handling.md
  147. 67  docs/en/topics/extending-the-cms.md
  148. 19  docs/en/topics/files.md
  149. 77  docs/en/topics/form-validation.md
  150. 279  docs/en/topics/forms.md
  151. 324  docs/en/topics/i18n.md
  152. 36  docs/en/topics/index.md
  153. 647  docs/en/topics/javascript.md
  154. 55  docs/en/topics/module-development.md
  155. 88  docs/en/topics/modules.md
2  docs/LICENSE
... ...
@@ -0,0 +1,2 @@
  1
+Licensed under Creative Commons Attribution 3.0 New Zealand
  2
+http://creativecommons.org/licenses/by/3.0/nz/
0  docs/_manifest_exclude
No changes.
BIN  docs/en/_images/silverstripe-cms-book-front-cover-design-june2009preview.png
46  docs/en/changelogs/2.0.1.md
Source Rendered
... ...
@@ -0,0 +1,46 @@
  1
+#  2.0.1 (2007-04-17)
  2
+
  3
+SilverStripe 2.0.1 was released on '''17 April 2007''' and had the following changes:
  4
+
  5
+## Overview
  6
+
  7
+  * Improved layout of UserDefinedForm submissions in CMS
  8
+  * Don't show name field on root folder in Assets section
  9
+  * Mime types fallback for servers don't have /etc/mime.types
  10
+  * mb_string module is now an optional dependency
  11
+  * Added strong_create method to Object, as useCustomClass was not working correctly
  12
+
  13
+## Bugfixes
  14
+
  15
+  * Sapphire
  16
+      * Text->FirstParagraph() now only shows the first paragraph
  17
+      * Fixed HTMLText->Summary()
  18
+      * Fixed layout issues on IE7 for TreeDropdownField
  19
+      * Don't show Akismet errors to user
  20
+      * Removed overloaded MemberTableField->sourceItems() that was causing problems
  21
+      * Fixed UserDefinedForm submission emails
  22
+      * Fixed UserDefinedForm permissions
  23
+      * If a file extension doesn't have a maximum upload size associated with it, then allow uploads of any size
  24
+      * Fixed a bug with the TreeMultiselectField that prevented it from displaying the checkboxes
  25
+      * Made Scheduled tasks concrete so they can be instantiated
  26
+      * TableField fixes
  27
+      * Fixed security vunerability in search
  28
+      * GD::color_web2gd() was using incorrect substr
  29
+      * Fixed last link css
  30
+      * Fixed duplicate checkbox fields in UserDefinedForm
  31
+      * Fixed css in UserDefinedForm
  32
+  * CMS
  33
+      * Fixed sizing of tabs in CMS
  34
+      * Fixed popup for single asset in Files & Images section
  35
+      * Fixed link to CMS on default homepage
  36
+      * Fixed permissions table in Security section
  37
+      * Fixed el no properties error in IE
  38
+      * Pressing the flash button a second time now hides the dropdown
  39
+  * Installer
  40
+	  * Fixed MySQL version check
  41
+	  * Merge with existing .htaccess file
  42
+	  * Test that mod_rewrite is working
  43
+	  * Added option to delete installer files after successful install
  44
+	  * Fixed PHP4 parse error so installer loads and shows correct error message
  45
+	  * Apache test passes if apache is used but apache php functions are not available
  46
+	  * SilverStripe needs at least PHP version 5.0.4
155  docs/en/changelogs/2.0.2.md
Source Rendered
... ...
@@ -0,0 +1,155 @@
  1
+#  2.0.2 (2007-07-14)
  2
+
  3
+SilverStripe 2.0.2 was released on '''14 July 2007''' and had the following changes:
  4
+
  5
+##  Overview
  6
+
  7
+  * BlackCandy is the new default theme
  8
+  * Added pagination for page comments
  9
+  * Updated date field in CMS-edited forms to use CalendarDateField
  10
+  * Added 'open in new window' checkbox to link inserter
  11
+  * Added dimension fields when inserting images
  12
+
  13
+## Features and Enhancements
  14
+
  15
+  * Much more API Documentation
  16
+  * Modules must now have _config.php files in order to be loaded
  17
+  * New Classes
  18
+      * PermissionProvider
  19
+  * Improved Classes
  20
+      * CalendarDateField
  21
+          * Added a calendar icon
  22
+      * CheckboxSetField
  23
+          * Prepared for use editing a many-many join in the CMS, popualted with a SQLMap object
  24
+      * ClassInfo
  25
+          * Added implementorsOf()
  26
+      * ContentNegotiator
  27
+          * Added set_encoding() to choose a character set other than utf-8
  28
+      * DatabaseAdmin
  29
+          * Removed populate() as it was a security risk, the initial content is now loaded via requireDefaultRecords()
  30
+      * DataObject
  31
+          * Added add_extension() for adding decorators in _config.php
  32
+      * DataObjectDecorator
  33
+          * Added extraDBFields() for modifying the decorated data objects, adding extra database fields
  34
+      * Email
  35
+          * Added send_all_emails_to()
  36
+          * Added cc_all_emails_to()
  37
+          * Added bcc_all_emails_to()
  38
+          * Replaced sentLiveErrorsTo() with send_errors_to(), for more flexibility
  39
+      * Form
  40
+          * Added current_action()
  41
+          * Added single_field_required()
  42
+      * FormField
  43
+          * Added Required(), so that you can put asterisks into a form template if you wish
  44
+      * GenericDataAdmin
  45
+         * Updated to use new permission model
  46
+      * LeftAndMain
  47
+         * Added second argument to setApplicationName() so that the name in the top corner and the name shown elsewhere can be 2 different strings
  48
+      * Permission
  49
+          * Added get_codes()
  50
+      * Profiler
  51
+          * Added trace argument to show()
  52
+          * Added profiling scaffolds
  53
+          * Added ?profile_trace=1 url variable tool to show a trace on the profiler
  54
+          * Sorted the output of profiler
  55
+          * Improvements to profiling information
  56
+      * TableField
  57
+          * Added option to aid putting TableFields inside the ComplexTableField popup
  58
+      * TreeDropdownField
  59
+          * Added setTreeBaseID(), for showing a sub-tree in your field
  60
+  * Javascript
  61
+      * Added event.setStyle to prototype_improvements.js
  62
+      * Add class text field to image properties dialog in TinyMCE
  63
+      * Added ?debug_behaviour=1 URL option for debugging behaviour calls with Firebug
  64
+
  65
+##  Bugfixes
  66
+
  67
+  * CMS
  68
+      * Forms in newsletter & security section were incorrectly submitting when enter was pressed
  69
+      * Fixed search in MemberTableField
  70
+      * Don't show popup when validation fails in Security section
  71
+      * Fixed bug where scrollbars aren't shown in the CMS
  72
+      * Let CMSMain be used to manage objects without Sort
  73
+      * The help button now redirects to http://userhelp.silverstripe.com
  74
+      * Version displayed in CMS now works correctly
  75
+      * Fixed CMS action button support when text size increases
  76
+      * Added message when report is empty
  77
+      * fixed (overrides) to CSS to avoid larger font-size due to em values
  78
+      * Fixed tree scrolling and resizing issues
  79
+      * Fixed sizing issues with CMS right content area
  80
+      * Fixed bug with image insertion
  81
+      * Fixed bug where new pages weren't being highlighted in the CMS
  82
+      * Fixed bug where the last page in the site tree wasn't being highlighted in the CMS
  83
+      * Fixed reordering of groups in security section
  84
+      * Improvements to image inserter
  85
+  * Sapphire
  86
+      * Reduced warnings when E_NOTICE is enabled
  87
+      * Fixed validation of date fields in a user defined form
  88
+      * Fixed multiple security groups being created when logging in with default admin
  89
+      * Fixed permissions for administrating page comments
  90
+      * Fixed ContentController::PageComments() method to die if spammers are POSTing form data when comments are disabled
  91
+      * Fixed permission checking on PHP 5.0.5
  92
+      * Fixed 'cannot access protected property' error in Security section on PHP 5.0.5
  93
+      * Fixed javascript validation of forms
  94
+      * Fixed error when asp_tags = On
  95
+      * Fixed bug where you have a non-required field with numeric validation
  96
+      * Added a limit of 20 steps in Breadcrumbs generation
  97
+      * Changed SiteTree.Title length from 100 to 255
  98
+      * Fixed random password generator in Member::createNewPassword()
  99
+      * Fixed BatchProcess to not display an error if no objects could be processed
  100
+      * Fixed a bug where a user is redirected incorrectly after logging in
  101
+      * Changed temp-folder selection to not leave temp files lying around, and put silverstripe temp files into a silverstripe-cache folder
  102
+      * Made guid of PageComments in rss feed unique
  103
+      * Removed duplicate XML class
  104
+      * Fixed bugs caused by missing html elements
  105
+      * Fixed code to remove need for short_open_tag
  106
+      * Fixed FileSize generation for sizes of just over 1 meg
  107
+      * only show $messageBlock in FormField::FieldHolder() if $Message is existing
  108
+      * fixed rightTitle and id in FormField::FieldHolder()
  109
+      * Fixed ?isDev=1 mode
  110
+      * Set default of sendWarnings on Debug::send_errors_to
  111
+      * Fixed formatting of error emails sent from ajax requests
  112
+      * Removed debug plumbing from the results of Debug::backtrace()
  113
+      * Simplified return data of htmlEmail, an inconsequential internal optimisation
  114
+      * Create assets folder if it doesn't exist when uploading a file
  115
+      * Fixed bug in SiteTree::NestedTitle()
  116
+      * Don't append /home to the home page URL
  117
+      * Small fix for windows installations
  118
+      * Fixed efficiency problems in Versioned::get_latest_version
  119
+      * Fixed File::sync(), to let it recurse into new directories in a single execution
  120
+      * Fixed bug with getting form action that was breaking form submission and complextablefield pop-up
  121
+      * Fixed SQLMap iteration
  122
+      * Simplified EmailField validation error message
  123
+      * Fixed some bugs in the debug emailer
  124
+      * Reduced amount of ajax-refetching that the TreeSelectorFields do
  125
+      * Fix macron support in reports
  126
+      * Improved debug message (remove big blocks of redundant data)
  127
+      * Allow for the disabling of default buttons. Apply this to CMSMain and GenericDataAdmin in the administration, so that we don't default to clicking the *DELETE* button.
  128
+      * Added default value to first arg of permissionFailure(); it's not actually used!
  129
+      * Improved handling of EditableFormFields on new UserDefinedForms
  130
+      * Improved search results message shown on first load
  131
+      * Made calendar control register a date change when the calendar is used
  132
+      * Set some good defaults in DataObjectSet::TotalPages() if they have not been set
  133
+      * Changes to support forum
  134
+      * Require authenficiation to do a db/build on live sites
  135
+      * Close directories before trying to remove them
  136
+      * Fixed a bug where CheckboxSetField wouldn't save if there was a method the same as the field name
  137
+      * Fix multiple "broken" in class attribute of HTML Content
  138
+      * Fixed bug with TreeDropdownField when you clicked the expand link 3 or more times, it wouldn't close
  139
+      * Fixed bug when editing properties of new text fields
  140
+      * Fixed duplicate of UserDefinedForm objects
  141
+  * JSParty
  142
+      * Fixed a bug where you couldn't always edit the bottom of an WYSIWYG editor field
  143
+      * Ensure that WYSIWYG context menu always appears on the screen
  144
+      * Javascript performance improvements
  145
+      * Fix weird bug in behaviour to do with class.applyToChildren
  146
+      * Improved console.log alternative
  147
+ * Installer
  148
+  * Added option of installing either the default template, or the tutorial template
  149
+  * mod_rewrite check now works with http authentification
  150
+  * Workaround for 'URL file-access is disabled in the server configuration' using curl for mod_rewrite test
  151
+  * Better error message if the installer can't detect the web server
  152
+  * Added an alternative .htaccess configuration
  153
+  * Less file permissions required by the installer
  154
+  * Made deleting the installer files more prominent, it now deletes all the installations files, not just php.
  155
+  * MySQL password is now a hidden field.
171  docs/en/changelogs/2.1.0.md
Source Rendered
... ...
@@ -0,0 +1,171 @@
  1
+#  2.1.0 (2007-10-02)
  2
+
  3
+SilverStripe 2.1.0 was released on '''2 October 2007''' and had the following changes:
  4
+
  5
+## Overview
  6
+
  7
+  * Comment administration section, and comment moderation
  8
+  * Allow CMS users to limit view/edit access to a page
  9
+  * Show an rss link for page comments on each page
  10
+
  11
+## Upgrading
  12
+
  13
+### Too many redirects
  14
+
  15
+A problem occurs of 'too many redirects' or the page just doesn't load (home page) because of these situations:
  16
+
  17
+   * Access tab for home page has 'logged in users only', OR
  18
+   * NO radio buttons have been set. This happens when upgrading site from old DB.
  19
+
  20
+It's caused by a redirect to Security/login on the home page controller, which is blocked off, so you can't actually
  21
+login, so it infinitely loops a redirect. See http://open.silverstripe.com/ticket/1488
  22
+
  23
+## Features and Enhancements
  24
+
  25
+  * Theme support
  26
+  * Widget support
  27
+  * Better extension API
  28
+  * Unit testing framework
  29
+  * More API documentation
  30
+  * Added support for __ss_environment.php files
  31
+  * New classes
  32
+      * BankAccountField
  33
+      * BBCodeParser
  34
+      * HasManyComplexTableField
  35
+      * HasOneComplexTableField
  36
+      * ManyManyComplexTableField
  37
+      * NewsletterType
  38
+      * RestfulService (from mashups module)
  39
+   * Improved classes
  40
+      * ComplexTableField
  41
+          * Validation in popup
  42
+      * ContentController
  43
+          * Added project()
  44
+      * Controller
  45
+          * Added redirectedTo()
  46
+      * Convert
  47
+          * Added raw2htmlatt()
  48
+          * Added raw2mailto()
  49
+      * DatabaseAdmin
  50
+          * Drastically improved database build performance
  51
+      * DataObject
  52
+          * Added ID,ID,ID syntax for populating many-many joins
  53
+      * DataObjectDecorator
  54
+          * Allow member CMS fields to be added
  55
+      * DataObjectSet
  56
+          * Added getRange()
  57
+      * Date
  58
+          * Added past_date()
  59
+      * Director
  60
+          * Added set_dev_servers()
  61
+          * Added set_test_servers()
  62
+          * Added redirected_to()
  63
+          * Refactored CMS page-URL accessing to use ->AbsoluteLink(), which can be overridden by defining alternateAbsoluteLink()
  64
+      * Debug
  65
+          * Optionally hide backtrace-headers in message() and show() (applied in 'showqueries')
  66
+      * Email
  67
+          * MimeType-fallback (from /etc/mime.types)
  68
+          * Improved validation in is_valid_address()
  69
+      * FieldSet
  70
+          * Added insertAfter()
  71
+      * Form
  72
+        * Automatic filesystem backup of POST-data
  73
+      * FormField
  74
+          * Support for right-aligned titles
  75
+          * Custom CSS-classes by addExtraClass() and removeExtraClass()
  76
+      * Group
  77
+          * Added Description field
  78
+      * HtmlEditorField
  79
+          * Allow classes other than 'typography' to be set
  80
+      * Image
  81
+          * Added PaddedImage()
  82
+      * ImageField
  83
+          * Added readonly transformation
  84
+      * PageCommentInterface
  85
+          * Added anchors to page comments, and made rss feed link to them
  86
+      * Permission
  87
+          * Added $strict flag to check()
  88
+          * Allow passing of an array of permission codes to get_members_by_permission()
  89
+          * Added get_groups_by_permission()
  90
+      * PhoneNumberField
  91
+          * Improved validation
  92
+      * Security
  93
+         * Added basicauthlogin()
  94
+      * SecurityAdmin
  95
+          * Added EDIT_PERMISSIONS permission code
  96
+      * TableField
  97
+          * Validation and RequiredFields
  98
+      * TableListField
  99
+          * Added sorting, highlighting, formatting
  100
+          * Improved styling
  101
+      * TreeDropdownField
  102
+          * Improved styling
  103
+      * Varchar
  104
+          * Added RTF()
  105
+      * ViewableData
  106
+          * Added `<% if HasPerm(PERM_CODE() %>` for templates
  107
+  * Javascript
  108
+      * Implemented showIndicator() and hideIndicator()
  109
+      * Improved statusMessage() to clear manually instead of fixed interval
  110
+      * Added hideStatusMessage()
  111
+
  112
+####  Bug Fixes
  113
+
  114
+  * CMS
  115
+      * Fix specific newsletter bug
  116
+      * Don't show classes user doesn't have permissions to change to in class dropdown
  117
+      * Fix reading of Live pages in CMSMain
  118
+      * Fix double page reading after changing the class
  119
+      * Fix insert flash
  120
+      * Fix version regex for release candidates
  121
+      * Fix delete in Files and Images section
  122
+      * Fixed saving root folder causes error
  123
+      * Fixed "non-numeric ID" error that occurs when visiting newsletter section for a newsletter that doesn't exist (caused by session sometimes)
  124
+      * Fixed CMS sort subpages bug
  125
+  * Sapphire
  126
+      * Improved spam detection
  127
+      * Support for running SilverStripe in safe mode and under open_basedir restrictions
  128
+      * PHP notice fixes
  129
+      * Use normal authentification rather than basicauth for db/build
  130
+      * Fix CSS of profiler pop-up
  131
+      * Changed DropdownField $emptyString syntax from '0' to ''
  132
+      * Fixed IE6 DOM-parsing bug caused by FormResponse::load_form()
  133
+      * Triggering previewwrite for 'delete' and 'replace' SQL-actions
  134
+      * Changed record-insertion in DataObject
  135
+      * Boolean accepts database-default
  136
+      * Fixed Permission::get_members_by_permission()
  137
+      * Added memory_limit to publishall()
  138
+      * Fix many-many component set relation setting
  139
+      * The Link for a RedirectorPage points to its target
  140
+      * Add SQL_ prefix in place it was missing in Email
  141
+      * Added a check to make sure record exists before calling hasMethod on it in CheckboxSetField
  142
+      * Fixed bug in DataObject::addStaticVars()
  143
+      * Check for string 'true' as well as boolean in SiteTree::MetaTags()
  144
+      * Fix AllNewsletters value not being passed to OptionSetField in SubscribeForm
  145
+      * Improved the encapsulation of ErrorPage publication
  146
+      * Fix redirect back after failing login
  147
+      * Fixed renaming of .tar.gz and .tar.bz2 files
  148
+      * Fixed validation of DateField, EmailField and NumericField
  149
+      * Fix livesite bug for visibility handling difference between PHP5.2.0 and PHP5.1.6
  150
+      * Changed colouring of db/build to be more appropriate for the actual meaning of the messages
  151
+      * Fixed redirection from /home/ to /./ in IE6
  152
+      * Use the homepage as a model for the security base-page, so that things like the current subsite are factored in
  153
+      * Sorted permission codes in Permission::get_codes
  154
+      * Changes to support gallery module
  155
+      * Added missing has_many in DataObjectDecorator
  156
+      * Replace empty strings in SQL queries with NULL
  157
+  * JSParty
  158
+      * TinyMCE has been updated to 2.1.1.1
  159
+
  160
+Installer
  161
+
  162
+  * New installer look based on BlackCandy
  163
+  * Use the new theme system
  164
+  * Add first and last name fields
  165
+  * Added ability to set servers that will be in dev mode
  166
+  * When the posix module isn't present, throw a warning instead of dying
  167
+  * Warn if PHP version is less that 5.2.0 in support of GoPHP5 (http://www.gophp5.org)
  168
+  * Added favicon to installer and default template
  169
+  * Optional reporting of version information to SilverStripe
  170
+  * Installer now runs with short tags disabled
  171
+  * open_basedir and safe mode fixes
22  docs/en/changelogs/2.1.1.md
Source Rendered
... ...
@@ -0,0 +1,22 @@
  1
+#  2.1.1 (2007-11-02)
  2
+
  3
+SilverStripe 2.1.1 was released on '''2 Nov 2007''' and had the following changes:
  4
+
  5
+##  Bug Fixes
  6
+
  7
+  * CMS
  8
+      * BBCode help link now works inside CMS
  9
+      * Fixed invalid 'cursor: normal' CSS in cms_left.css
  10
+      * Ensure ComplexTableField CSS is loaded in CMS
  11
+      * Fixed blank comments showing in Comment Admin
  12
+      * Ensure behaviour is applied correctly to new fields in a UserDefinedForm
  13
+      * Fixed fatal error in Newsletter Admin on some servers
  14
+  * Sapphire
  15
+      * Fix infinite redirects when upgrading from 2.0.2
  16
+      * Use the hostname, not the ip address, in dev/test mode tests
  17
+      * Changed the include of the BBCodeParser so it works on more systems
  18
+      * Fixed saving of HasOneComplexTableField and HasManyComplexTableField when value is undefined
  19
+      * Removed extra comma in TableListField.js
  20
+      * Fixed redirection of login when login fails
  21
+      * Fixed bug where removing a comment via ajax removed all comments from display
  22
+      * Fix $_SESSION not saving correctly on some servers
342  docs/en/changelogs/2.2.0.md
Source Rendered
... ...
@@ -0,0 +1,342 @@
  1
+#  2.2.0 (2007-11-28)
  2
+
  3
+SiverStripe 2.2.0 was released on '''28 November 2007''' and had the following changes:
  4
+
  5
+## Upgrading
  6
+
  7
+### Login Form
  8
+
  9
+Check that you have a Layout/Page.ss file for your site, or alternately have a Security_login.ss template.
  10
+Your template file needs a $Form variable for it to work. This is where the login form gets included. Without either of
  11
+these, the Security/login form will be blank.
  12
+
  13
+
  14
+### Form Actions HTML/CSS
  15
+
  16
+Check css/js and subclassed templates of Form.ss for changed markup. A global search for "p.Actions" should cover both
  17
+js/css changes.
  18
+
  19
+	:::ss
  20
+	// before
  21
+	<p class="Actions">
  22
+	// after
  23
+	<div class="Actions">
  24
+
  25
+See http://open.silverstripe.com/changeset/43562
  26
+
  27
+### Form Security Token
  28
+
  29
+There has been a hidden 'SecurityID' field added to SilverStripe generated forms by default, with the purpose to stop
  30
+CRSF attacks. If you wish your form not to be tied to a specific session, and able to be able to be executed by URL
  31
+without the SecurityID, you can disable it on your form with
  32
+
  33
+	:::php
  34
+	$form->disableSecurityToken();
  35
+
  36
+
  37
+The other issue to be aware of is constructing the URL to execute the form manually, as is done in javascript sometimes.
  38
+If the security token is enabled, you need to add its value to the URL, eg:
  39
+
  40
+	:::js
  41
+	updateURL += ($('SecurityID') ? '&SecurityID=' + $('SecurityID').value : '');
  42
+
  43
+
  44
+### Custom Section in CMS
  45
+
  46
+Special attention will need to be given to custom sections on a case-by-case basis.
  47
+
  48
+As we have changed the design of the CMS, the top bar for your custom sections is no longer needed. We've moved the
  49
+buttons that it once held down to the bottom.
  50
+
  51
+![](_images/cms22screenie.jpg)
  52
+
  53
+
  54
+### Classes added to 2.2 that may conflict
  55
+
  56
+Sitemap.php
  57
+
  58
+
  59
+## Features
  60
+
  61
+   * New look for CMS
  62
+   * Support for authentification by OpenID (auth_openid module included with installer)
  63
+   * Google Sitemaps support
  64
+   * Internationalisation support
  65
+       * German translation
  66
+       * Dutch translation
  67
+       * Chinese (simplified) translation
  68
+       * Spanish translation
  69
+       * French translation
  70
+       * Croatian translation
  71
+       * Polish translation
  72
+       * Portuguese (Portugal) translation
  73
+   * Support for multilingual content
  74
+   * Added a Statistics area showing the following reports
  75
+	    * Page views
  76
+       * User activity
  77
+       * Trends
  78
+       * Operating Systems
  79
+       * Browsers
  80
+   * Added an image editor, allowing a user to rotate, crop and resize an image from within the CMS
  81
+   * Added profile popup in CMS
  82
+   * Added a 'Sent Status Report' tab to Newsletters with the following reports
  83
+       * Sending to the following recipients failed
  84
+       * Sending to the following recipients bounced
  85
+       * The newsletter has never been sent to following subscribers
  86
+       * Sending to the following recipients was successful
  87
+       * Sending to the following recipients did not occur because they are blackListed
  88
+   * Add 'Send to only people not previously sent to' option for sending newsletters
  89
+   * Added SWFUpload library as default method of uploading files
  90
+   * Added photo upload in from the Site Content section
  91
+   * Added the ability to search the Site Content tree
  92
+   * Added the ability to publish selected pages
  93
+   * Added a list of unused assets in the Files & Images section, and the ability to delete unused thumbnails 
  94
+   * Usability improvements
  95
+       * Move action buttons to bottom right of screen
  96
+       * Moved insert image/flash/link to pane on right
  97
+       * Removed right frame headers as the buttons have been moved and they only contain redundant information
  98
+       * Use a javascript dialog box for confirming unsaved changes instead of the slow loading model one
  99
+       * Reworked the tabs in the Newsletter section to be less confusing
  100
+       * Cancel button added to Send Newsletter window
  101
+       * External logo link opens in a new window
  102
+       * Left sections in Site Content 'Site Tree', 'History' and 'Reports' now use expandable sections rather than tabs
  103
+       * Relabeled 'Site Tree' to 'Site Content & Structure', 'History' to 'Page Version History' and 'Reports' to 'Site Reports' in left sections of Site Content
  104
+       * Relabeled 'Files & Images' left frame to 'Folders' 
  105
+       * Added tooltips to site content tree, showing the page type
  106
+       * In the 'Page Version History', use a checkbox lable 'Compare mode (click 2 below)' instead of a dropdown
  107
+       * Renamed 'Save draft' button to 'Save'
  108
+       * The 'Save' button text changes to 'Saving...', and the 'Publish' button text changes to 'Publishing...' when they are clicked
  109
+       * Added save indicator to all 'Save' buttons, the 'Save & Publish' button and the 'Unpublish' button while they are being submitted
  110
+       * Added a go button to the 'Site Reports' dropdown
  111
+       * Relabeled 'Name' field to 'Folder Name' in Files & Images section
  112
+       * Renamed the 'Save' button to 'Save folder name' in Files & Images section
  113
+       * Relabeled 'Send newsletters from' field to 'From email address' in Newsletter section
  114
+       * Removed the 'Move Files' button from Files & Images section, implemented multi-file drag & drop moving
  115
+       * Add 'Newsletter Settings' tab to Newsletter type edit form for consistency with other forms
  116
+       * Make the status message shown after sending a newsletter always include the # of emails sent
  117
+       * Added delete confirmation for items in Newsletter left tree
  118
+       * Added delete confirmation for items in Security left tree
  119
+       * Make 'Add new draft' the default action for 'Create...' in the Newsletter section
  120
+       * Replace the 'reorganise' button with 'Allowing drag & drog reordering' checkbox
  121
+       * Delete and Unpublish buttons turn red on hover
  122
+       * Added the ability to align images 'left on their own'
  123
+       
  124
+
  125
+## Enhancements
  126
+
  127
+  * New classes
  128
+      * Authenticator, allowing multiple authentification methods
  129
+      * ConfirmPasswordField
  130
+      * DropdownTimeField
  131
+      * i18n, for internationalisation
  132
+      * LanguageDropdownField
  133
+      * LoginForm, base class for login forms for each authentification method
  134
+      * MemberAuthenticator, providing username/password authentification
  135
+      * MemberLoginForm, refactored from old LoginForm form
  136
+      * PopupDateTimeField
  137
+      * ToggleField
  138
+      * OpenIDAuthenticatedRole, which is an extension to Member that adds OpenID authentification columns
  139
+      * OpenIDAuthenticator, providing OpenID authentification
  140
+      * OpenIDLoginForm, providing OpenID sign in
  141
+      * PageView, which saves the details of each page view for statistics
  142
+      * Statistics, which provides static methods for statistics
  143
+      * Translatable, for multilingual content
  144
+  * New third party libraries
  145
+      * PHP OpenID (http://openidenabled.com/php-openid/)
  146
+      * Browscap (http://garetjax.info/projects/browscap/)
  147
+      * Plotr (http://www.solutoire.com/plotr/)
  148
+      * SWFUpload (http://profandesign.se/swfupload/)
  149
+  * Improved classes
  150
+      * CalendarDateField
  151
+          * Refactored part of Field() into HTMLField() so it can be used in PopupDateTimeField
  152
+      * ComplexTableField
  153
+          * Improved pagination in popup
  154
+          * Better transformation of save-button (replaced indicator with "saving..." label) 
  155
+      * CompositeField
  156
+          * Added SmallFieldHolder() to properly render fields in a FieldGroup
  157
+          * Added insertBeforeRecursive()
  158
+          * Allow empty children
  159
+          * Added Field()
  160
+          * Added linebreaks for HTML
  161
+      * ConfirmedFormAction
  162
+          * Respect $extraClass
  163
+      * ContentController
  164
+          * Save statistics on page views
  165
+          * Added LangAttributes(), for use in XML header
  166
+          * Draft/Archived content can only be viewed by users with permission to access the CMS
  167
+      * Core
  168
+         * Added _t() for internationalisation
  169
+         * Check if TEMP_FOLDER is already defined before defining it, allowing the user to set the temporary folder themself
  170
+      * DataObject
  171
+         * Added merge()
  172
+      * Director
  173
+          * Added extend_site(), which allows modules to register a function that will be run on every page load
  174
+          * redirectBack() now redirects to the base URL if neither the referrer nor the _REDIRECT_BACK_URL is set
  175
+          * Added support for translatable URLs
  176
+          * Added is_cli()
  177
+          * Added set_status_code() and get_status_code()
  178
+      * Email
  179
+          * Define 'EMAIL_BOUNCEHANDLER_KEY' in sapphire/_config.php and require its value to be sent as 'Key' $_GET var in pings to /Email_BounceHandler to prevent fake email bounce pings
  180
+          * Display an error on duplicate bounce logs instead of a blank screen
  181
+          * If the contents of the X-SilverStripeMessageID header is sent to /Email_BounceHandler in the 'SilverStripeMessageID' _GET variable, then it will be logged in the Newsletter_SentRecipient table so that the bounce report will show up on the 'Sent Status Report' tab of the Newsletter
  182
+          * Bounced newsletter recipient emails and blacklisted by default
  183
+      * FieldSet
  184
+          * Added insertBeforeRecursive()
  185
+      * FileSystem
  186
+          * Added $file_create_mask and $folder_create_mask, which are used whenever creating new files/folders in sapphire
  187
+      * Form
  188
+          * All Forms now have a hidden SecurityID field to prevent CSRF attacks
  189
+          * Added disableSecurityToken() to disable the SecurityID field
  190
+          * Added securityTokenEnabled()
  191
+          * Changed `<p class="Actions">` to `<div class="Actions">`
  192
+          * Renamed PureName() to Name()
  193
+      * GD
  194
+          * Added rotate()
  195
+          * Added rotatePixelByPixel(), allowing rotation where the imagerotate function is unavailable
  196
+          * Added crop()
  197
+          * Added getWidth()
  198
+          * Added getHeight()
  199
+      * Hierachy
  200
+          * Versioned now automatically add suffixes, so Hierachy no longer needs to
  201
+      * HTTP
  202
+          * Added register_modification_timestamp()
  203
+          * Added register_etag()
  204
+      * ImageField
  205
+          * Improved layout
  206
+      * Int
  207
+          * Added support for default value
  208
+      * ManifestBuilder
  209
+          * Refactored getClassManifest() for clearer ignore rules
  210
+          * Ignore i18n language files
  211
+          * Ignore folders that have a '_manifest_exclude' file
  212
+      * Member
  213
+          * Automatically login user if the 'remember login' cookie is set
  214
+          * Added createNewPassword(), which generates a random password, optionally using a word list
  215
+          * Added support for password encryption
  216
+          * Added Locale field to store user preferred language
  217
+          * Added the ability for Member decorators to augment MemberFormFields()
  218
+      * MemberLoginForm (refactored from old LoginForm)
  219
+          * Save the email address in the session to reuse when the login fails
  220
+      * ModelAsController
  221
+          * Added support for translatable URLs
  222
+      * Object
  223
+          * Added require_developer_login(), which allows you to check if the user has permission to use URL debugging tools
  224
+          * ?debugmethods=1 now requires developer login
  225
+      * PageComment
  226
+          * Added the ability to have BBCode in comments (disabled by default)
  227
+      * PasswordField
  228
+          * Always show five stars in performReadonlyTransformation(), so it is impossible to use the information of the password length for brute-force attacks
  229
+      * Permission
  230
+         * Added declare_permissions()
  231
+         * Added get_declared_permissions_list()
  232
+         * Added traverse_declared_permissions()
  233
+         * Added Permission_Group class, used to group permissions together for showing on an interface
  234
+         * Added $admin_implies_all, if this is false then the 'ADMIN' permission doesn't imply all permissions
  235
+         * Refactored Permission::checkMember(), should be faster now because the non-strict checking is now only executed if the user doesn't has the permission
  236
+         * Added deny(), giving the ability to define 'deny permissions'
  237
+      * RecipientImportField
  238
+          * Added default 'GenericEmail.ss' template
  239
+      * RestfulService
  240
+          * Added caching
  241
+      * RSSFeed
  242
+          * Added support for conditional GETs
  243
+      * Security
  244
+          * Added support for password encryption
  245
+          * Added set_word_list() and get_word_list(), to set the location of the word list used in Member::generateNewPassword()
  246
+      * Session
  247
+          * Added save(), which copies the current controllers session to $_SESSION
  248
+      * SiteTree
  249
+          * Changed references to 'stage site' to 'draft site' in TreeTitle()
  250
+          * Use Translatable interface by default
  251
+          * Add content language in MetaTags()
  252
+          * Add delete class to unpublish and rollback buttons
  253
+      * SSViewer
  254
+          * Added support for internationalisation in templates, using `<% _t() %>`
  255
+          * Added $Iteration in templates, which keeps track of the number of iterations in a control block
  256
+      * TableListField
  257
+          * Prevent onclick event in td.markingcheckbox from showing the popup
  258
+      * TabSet
  259
+          * Remove tabset div to reduce wasted space on tabs
  260
+          * Added insertBeforeRecursive()
  261
+      * ToggleCompositeField
  262
+          * Refactored from TogglePanel
  263
+          * Added icons and used 'cursor: pointer' to make it obvious that it is clickable
  264
+      * Versioned
  265
+          * Added the ability to versionise suffixed tables that have names that are not DataObject descendants
  266
+          * Added canBeVersioned()
  267
+          * Added extendWithSuffix()
  268
+          * Added hasVersionField()
  269
+
  270
+## Bugfixes
  271
+
  272
+  * Sapphire
  273
+      * E_NOTICE fixes
  274
+      * Fixed incorrect deprecated message in Convert::raw2xml()
  275
+      * Don't show and error message and quit the script when @ is used to suppress the error
  276
+      * Changed width of HTMLEditorFields to prevent horizontal scrollbars in IE7
  277
+      * Added checks in DataObjectSet::First() and DataObjectSet::Last() to prevent errors on an empty $items array
  278
+      * Fixed incorrect treatment of Member::logout() as a static method in Security::logout()
  279
+      * Ensure Priority is set in SiteTree::onBeforeWrite(), otherwise an invalid SQL statement will be generated when the page is published
  280
+      * Only highlight broken links in HTMLEditorFields once, to prevent execution timeouts when there are lots of identical broken links
  281
+      * Fixed bug "Fatal error: Access to undeclared static property: Controller::$db in ../sapphire/core/Object.php(282) : eval()'d code on line 1"
  282
+      * Fixed DataObjectDecorators not supporting indexes and defaults
  283
+      * Fixed ReportField generating invalid HTML
  284
+      * In Member::setBlacklistedEmail() call this->write() so that the BlacklistedEmail field state will be saved to the Member database table
  285
+      * Fix Email_BlackList::isBlocked() to check the BlockedEmail field instead of non-existant Email field so that it will actaully return true when an email is blocked
  286
+      * Fix layout problems with search box in IE by only generating a label tag if TItle is set in FormField::FieldHolder()
  287
+      * Fixed Permission::check() not p[assing $strict to Permission::checkMember()
  288
+      * Fixed HTTP::gmt_date()
  289
+      * Fix validation of Member extensions
  290
+      * Removed DriversLicense references from LoginForm (project specific clutter)
  291
+      * Added check for existence of #sitetree in RelationComplexTableField.js
  292
+      * Fixed VirtualPage creation
  293
+      * Fixed lighttpd flushing bug
  294
+      * Fixed CustomRequiredFields
  295
+      * Fix bugs with ComplexTableField when it is used outside of the CMS
  296
+      * Fixed error saving when value is undefined in HasOneComplexTableField and HasManyComplexTableField
  297
+      * Fixed saving error in FileIFrameField
  298
+      * Added a security fix for Security::check_default_admin()
  299
+      * Fixed caching in DataObject::getManyManyComponents() to take into account different SQL parameters
  300
+      * Geop::ip2country() now throws an E_USER_NOTICE instead of an error when it cannot run geoiplookup
  301
+      * Added if() check around a foreach loop that was causing errors when there were no entries in an RSS feed
  302
+      * Fix inheritance in ManyManyComplexTableField
  303
+      * Fixed FormField::setRightTitle() not showing because of a typo
  304
+      * Create assets folder if doesn't eixts on ErrorPage publish
  305
+      * Fixed submission of ImageField when no file was selected
  306
+      * Catch errors in ContentController::deleteinstallfiles()
  307
+      * Fix generation of group codes on creation of a Group
  308
+      * Fix title on LabelledLiteralField
  309
+      * Fix ImageField deleting the Image instead of unlinking it from the page
  310
+      * Set TimeField value to null when a bad value is passed
  311
+      * Don't return a span when the Title doesn't exist in DropdownField
  312
+      * Fix bug where NumericField couldn't have 0 as a default value
  313
+      * Call Page_Controller->init() when rendering Security/changepassword etc to respect any Requirements called in there
  314
+      * Fixed an error when a CheckboxSetField is submitted with no checkboxes ticked
  315
+      * Fixed exporting of TableListField to use commas for CSV files
  316
+      * ?previewwrite no longer works on live sites
  317
+      * Fixed incorrect CSS in TableListField.css
  318
+      * Fixed incorrect namespacing in TableListField::BaseLink()
  319
+      * If a CreditCardField is completely blank, then it's not invalid. Required-fields should be used to check for values.
  320
+  * CMS
  321
+      * E_NOTICE fixes
  322
+      * New pages are created in the database straight away, which solves a number of issues
  323
+      * Fixed Email link not working in page history
  324
+      * Unsaved changes detection now works in Security section member tables
  325
+      * Fix typo in LeftAndMain::addTreeNodeJS() by renaming 'select' parameter to 'selected' because 'selected' is what is used in the method body
  326
+      * Delete image thumbnails after deleting an image
  327
+      * Use 'html>body' instead of just 'html>' so that #sitetree correctly gets assigned width:auto on Mozilla browsers (prevents Folders being selected from 500px away on file drag and drop)
  328
+      * Display a useful error message if getCMSFields() returns null
  329
+      * When 'Duplicate this page' is clicked, first silently (without confirmation) save the page, then duplicate it so the new page is identical to the other page
  330
+      * Fix errors when importing recipients to newsletter mailing list
  331
+      * Fixed blocking during resize in IE6
  332
+      * Don't show a 'No template selected' error when sending a test Newsletter if no template has been selected since templates for Emails are optional
  333
+      * Fixed bug 'for newly created newsletter drafts, content of newsletter sent is not what is shown on screen'
  334
+      * Don't save new Newsletter drafts as soon as they are created to prevent TinyMCE Javascript errors in IE
  335
+      * Add if((typeof tinyMCE != 'undefined')) statement around call to tinyMCE.init() to prevent "Error: 'tinyMCE' is undefined" error in IE7 on Newsletter Recipient import
  336
+      * Don't allow a deleted draft to be edited in the Newsletter section
  337
+      * Fix a bug where newsletter drafts will be added, but not show up in the left tree (because of a Javascript error), if no selection has been made
  338
+      * If there are no newsletter types, and 'Add new draft' is chosen, create a newsletter type to prevent errors
  339
+      * Fix changed icon only showing after Save button is clicked twice
  340
+      * Fixed VirtualPage creation
  341
+      * Fix 'Sort subpages' not working correctly
  342
+      * Use classes instead of the align tag to align images
33  docs/en/changelogs/2.2.1.md
Source Rendered
... ...
@@ -0,0 +1,33 @@
  1
+#  2.2.1 (2007-12-21)
  2
+
  3
+SilverStripe 2.2.1 was released on '''21 December 2007''' and had the following changes:
  4
+
  5
+##  Features and Enhancements
  6
+
  7
+  * Translations
  8
+      * Added Italian translation
  9
+      * Added Russian translation
  10
+      * Added Slovak translation
  11
+      * Added Turkish translation
  12
+      * Added Bulgarian translation
  13
+      * Added Czech translation
  14
+      * Added Hungarian translation
  15
+      * Added Portuguese (Brazil) translation
  16
+      * Added Swedish translation
  17
+      * Added Chinese (Taiwan) translation
  18
+      * Added support for sapphire to Portuguese (Portugal) translation
  19
+####  Developer Tools
  20
+
  21
+  * Added augmentDefaultRecords(), so DataObjectDecorators can extend requireDefaultRecords
  22
+Bug fixes
  23
+
  24
+   * Sapphire
  25
+      * Hardcoded array of encryption algorithims in Security::get_encryption_algorithms(), as a bug in MySQL causes corruption in dumps with enums with commas
  26
+      * Fixed bug with google sitemap on translated sites
  27
+      * Removed title from SecurityID fields, as some forms show labels on HiddenFields
  28
+      * Fixed Object::uninherited() for PHP 5.1.2
  29
+      * Added empty array to member so that roles can add their own has_one relations
  30
+   * CMS
  31
+      * Added SecurityAdmin_rightbottom.ss
  32
+   * Javascript
  33
+      * Upgraded TinyMCE to 2.1.3
396  docs/en/changelogs/2.2.2.md
Source Rendered
... ...
@@ -0,0 +1,396 @@
  1
+#  2.2.2 (2008-05-22)
  2
+
  3
+SilverStripe 2.2.2 was released on '''22 May 2008''' and had the following changes:
  4
+
  5
+## Features and Enhancements
  6
+
  7
+ * Set svn:externals for new phpinstaller release tags/2.2.2 (changeset 54973)
  8
+ * Disable / fix flash uploading (changeset 54959)
  9
+ * Fixed php/code snippets in forum posts (changeset 54619)
  10
+ * BUGFIX #2504 - Fixed translation interface not working in CMS (changeset 54472)
  11
+ * Removed references to 'mot' folder in code (changeset 54407)
  12
+ * #2501 + #2500 - Fixed notice-level errors in editable forms (changeset 54402)
  13
+ * #2482 - Fixed newsletter unsubscribe (changeset 54215)
  14
+ * #2447 - Bug in editing comment (changeset 54212)
  15
+ * Don't mark a test site as being in dev mode if set_test_servers matches (changeset 53373)
  16
+ * FEATURE: added phpdoc comments to the API calls for customising CMS rebranding (changeset 53216)
  17
+ * BUGFIX: Ticket #2449 - Fixed unsubscribe function - because it's extending ContentController without a data record, we have to hack this by using null in the parent::__construct() - This however, should be refactored to have a data record (page in the CMS) (changeset 53210)
  18
+ * MINOR: PHP notice fix - undefined variable (changeset 53204)
  19
+ * MINOR: Fixed some php notices (changeset 53188)
  20
+ * BUGFIX: Removed display: none for "nolabel" class - this is custom project code, and shouldn't be in sapphire! (changeset 53175)
  21
+ * BUGFIX: Ticket #2455 - Check variable exists before accessing Password index (changeset 53160)
  22
+ * BUGFIX: Removed undefined variable $mem - we include ini_set for memory_limit in main.php instead (changeset 53156)
  23
+ * _t call for EXPORTCSV problem fixed (changeset 53106)
  24
+ * DataReport EXPORTCSV field missing (changeset 53105)
  25
+ * API CHANGE Removed deprecated/incomplete Synchronise class - please do not use for production purposes (changeset 53101)
  26
+ * Made has_one, has_many, and many_many methods more reliable (changeset 53075)
  27
+ * Fix drag&drop in assets and security (changeset 53073)
  28
+ * Make double-redirects a warning rather than an error, since they are usually benign. (changeset 53066)
  29
+ * Don't redirect from /home to / if you've already called a redirection. (changeset 53066)
  30
+ * Fixed ContentController where ->dataRecord is empty (changeset 52719)
  31
+ * Don't strtolower ->action, as it had too many side-effects. (changeset 52452)
  32
+ * #2387 - Fields specified in DataObjectDecor not saved in some cases (changeset 52448)
  33
+ * Newsletter import: only send a change notification email if there are changes to be sent (changeset 52434)
  34
+ * #2378 - Fixed newsletter import (changeset 52432)
  35
+ * Fixed Authenticators to work with r52400 (changeset 52401)
  36
+ * #2299 - Fatal error in specific version of PHP (changeset 52400)
  37
+ * BUGFIX re-initializing tabstrip javascript after ajax-reload in AssetTableField popup (#2309 AssetTableField popup fails after saving) (changeset 52399)
  38
+ * Fix to ManifestBuilder when running site on windows in a directory containing \r or \t or \n (changeset 52398)
  39
+ * #2388 - Fixed CMS search. (changeset 52395)
  40
+ * BUGFIX disable third party browscap by default (#2336) (changeset 52394)
  41
+ * formatting (changeset 52393)
  42
+ * Upgraded SWFUpload to improve CMS uploads (changeset 52392)
  43
+ * Show security id errors on test sites as well as dev (changeset 52391)
  44
+ * Improved behaviour of contentcontrollerInit when extensions are applied to subclasses of SiteTree (changeset 52350)
  45
+ * fix comment admin not working correctly (changeset 52309)
  46
+ * Added LeftAndMain::set_loading_image() for replacing the image shown when the CMS is loading (changeset 52298)
  47
+ * Fix pagecomment links and feeds (changeset 52296)
  48
+ * fix links in RSS feeds (changeset 52295)
  49
+ * don't cache in overridden instance_get(), as the fields are different for subclasses (changeset 52293)
  50
+ * #2314 - Fixed SQLMap implementation so that Group::map() returns appropriate data, and the group dropdown on the access tab works. (changeset 52224)
  51
+ * #2362 - Fixed change password form (changeset 52213)
  52
+ * Add scrollbar to RHS link inserter, so you can see everything (changeset 51973)
  53
+ * Fix to anchor insertion (changeset 51963)
  54
+ * fix php notice (changeset 51938)
  55
+ * Make Object::hasMethod() and Object::__call() case-insensitive, and added tests for it (changeset 51462)
  56
+ * Test for hasMethod (changeset 51461)
  57
+ * Fixes to TestRunner for latest PHPUnit/PHP (changeset 51459)
  58
+ * API CHANGE Allow for tests that don't use the database - don't define a static SapphireTest:: (changeset 51150)
  59
+ * Fixed typo in r51150 (changeset 51151)
  60
+ * Fixed HomepageForDomain behaviour when entering multiple domains (changeset 51436)
  61
+ * API CHANGE Added RestfulService::httpHeader() for setting custom headers on REST requests (changeset 51203)
  62
+ * API CHANGE Added RestfulService::basicAuth() for setting authentication for REST requests (changeset 51203)
  63
+ * API CHANGE Added  param to RestfulService::connect(), to allow for requesting of multiple URLs from a single RestfulService object. (changeset 51203)
  64
+ * Updates to usability & IE support of link insertion (changeset 51081)
  65
+ * #2265 Installer falsely claims modrewrite fails (mamp) (merged from trunk, r50698) (changeset 51070)
  66
+ * #2282 Undefined index in install.php (merged from trunk, r50698) (changeset 51069)
  67
+ * #2266 Fresh install of SilverStripe? doesn't let you upload or view images to insert, until you first go into Files and Images area (merged from trunk, r50695) (changeset 51068)
  68
+ * Cleaned up ChangeLog (changeset 51064)
  69
+ * updated changelog for 2.2.2 (changeset 51042)
  70
+ * Added delete from stage button to CMS (changeset 50852)
  71
+ * Added Translations for Danish (Denmark) - thanks to Jesper and Dennis (changeset 50824)
  72
+ * Added Translations for Esperanto - thanks to Wojtek, Donald, Evan and Joop (changeset 50824)
  73
+ * Added Translations for Finnish (Finland) - thanks to Elias, Vesa and Nina (changeset 50824)
  74
+ * Added Translations for LOLCAT - thanks to Wojtek (changeset 50824)
  75
+ * Added Translations for Sinhalese (Sri Lanka) - thanks to Nivanka, Himali and Lakshan (changeset 50824)
  76
+ * Updated several translations in cms/auth_openid/sapphire (changeset 50824)
  77
+ * Added package names for i18n files (changeset 50824)
  78
+ * Reverted patch from r47694 which introduced conditional statements in lang-files (changeset 50824)
  79
+ * Added Translations for Danish (Denmark) - thanks to Jesper and Dennis (changeset 50824)
  80
+ * Added Translations for Esperanto - thanks to Wojtek, Donald, Evan and Joop (changeset 50824)
  81
+ * Added Translations for Finnish (Finland) - thanks to Elias, Vesa and Nina (changeset 50824)
  82
+ * Added Translations for LOLCAT - thanks to Wojtek (changeset 50824)
  83
+ * Added Translations for Sinhalese (Sri Lanka) - thanks to Nivanka, Himali and Lakshan (changeset 50824)
  84
+ * Updated several translations in cms/auth_openid/sapphire (changeset 50824)
  85
+ * Added package names for i18n files (changeset 50824)
  86
+ * Reverted patch from r47694 which introduced conditional statements in lang-files (changeset 50824)
  87
+ * Added Translations for Danish (Denmark) - thanks to Jesper and Dennis (changeset 50824)
  88
+ * Added Translations for Esperanto - thanks to Wojtek, Donald, Evan and Joop (changeset 50824)
  89
+ * Added Translations for Finnish (Finland) - thanks to Elias, Vesa and Nina (changeset 50824)
  90
+ * Added Translations for LOLCAT - thanks to Wojtek (changeset 50824)
  91
+ * Added Translations for Sinhalese (Sri Lanka) - thanks to Nivanka, Himali and Lakshan (changeset 50824)
  92
+ * Updated several translations in cms/auth_openid/sapphire (changeset 50824)
  93
+ * Added package names for i18n files (changeset 50824)
  94
+ * Reverted patch from r47694 which introduced conditional statements in lang-files (changeset 50824)
  95
+ * #2283 Permissions are a bit broken - what happened to all the CMS permissions? (changeset 50957)
  96
+ * #2310 MemberTableField Popup breaks after saving (changeset 50954)
  97
+ * #2310 MemberTableField Popup breaks after saving (changeset 50954)
  98
+ * BUGFIX fixed csv export in MemberTableField by checking for valid database columns when building SELECT statement (changeset 50952)
  99
+ * FEATURE added hasDatabaseField() (changeset 50949)
  100
+ * BUGFIX properly setting $childID in form for newly created items to avoid duplicates after subsequent saving (the form reloaded without the ID connection) (changeset 50947)
  101
+ * Make RSS feed work with objects that don't support AbsoluteLink, such as the forum (changeset 50921)
  102
+ * fixing typo in parameter name $validate --> $validator (changeset 50641)
  103
+ * made $messageType parameter of Validator::validationError optional, and added API docs to explain what (apparently) is going on (changeset 50645)
  104
+ * fixing bug with in-memory child objects not having their parent ID field updated via the ->add() method (changeset 50815)
  105
+ * #2302 - Fixed double-escaping of CTF popup page-navigation links (changeset 50903)
  106
+ * reverted r49775 (accidental removal of "add" feature, its actually not redundant functionality) (changeset 50854)
  107
+ * fixed xhtml error (forgot closing `<p>`) (changeset 50849)
  108
+ * updated en_US master entities (changeset 50844)
  109
+ * updated en_US master entities (changeset 50844)
  110
+ * updated en_US master entities (changeset 50844)
  111
+ * fixed PHP notices (changeset 50840)
  112
+ * fixed PHP notices (changeset 50838)
  113
+ * formatting, fixed PHP notices (changeset 50836)
  114
+ * fixed PHP notice (changeset 50829)
  115
+ * documentation (changeset 50814)
  116
+ * #2285 - Fixed widget editor (changeset 50812)
  117
+ * added $searchable_fields in preparation for a more generic search implementation, currently limited to Member.php and MemberTableField.php (mainly to fix bugs caused by r49774 and r47856) (changeset 50805)
  118
+ * fixed weird indentation formatting in Member.php (changeset 50805)
  119
+ * Fixed default-setting for link anchor (changeset 50786)
  120
+ * Added 'anchor' option to link inserter (changeset 50783)
  121
+ * Fixed svn:externals (changeset 50776)
  122
+ * Moved externals to used HTTP for 3rd-party friendliness (changeset 50764)
  123
+ * fixed typo (changeset 50729)
  124
+ * added database indexes for AuthorID and PublisherID (changeset 50723)
  125
+ * #2265 Installer falsely claims modrewrite fails (mamp) (changeset 50697)
  126
+ * #2295 - DataObjectSets cannot be iterated over multiple times concurrently (changeset 50683)
  127
+ * #2280 - Fixed XML parsing errors in CTF (changeset 50488)
  128
+ * #2287 - Removed notice-level error when geoip's not installed (changeset 50487)
  129
+ * Fixed newlines in to-do report (changeset 50361)
  130
+ * #2277 - Fixed notice-level error on controllers that are direct subclasses of controller (changeset 50352)
  131
+ * Added support for password and old_password encryption mechanisms if you're using MySQL (changeset 50290)
  132
+ * Small fix for session bugs on Lightspeed server (changeset 50245)
  133
+ * A bit of a hack to fix double-escaped URLs in the CMS. (changeset 50214)
  134
+ * Fixed CMS bottom-navigation after publish, when using the subsites module (or other alternateAbsoluteLink implementors) (changeset 50205)
  135
+ * Fixed password emailing for edited members (changeset 50200)
  136
+ * Allow use of  on controller extensions (changeset 50180)
  137
+ * Fixed 4.1-sort-by-group-aggregate query rewriter for sort functions containing columns, eg, ORDER BY if(A,B,C), X (changeset 50179)
  138
+ * Fixed notice level error (changeset 50047)
  139
+ * Fixed bug with BasicAuth enabled on an old database, it was preventing you from visiting db/build (changeset 50031)
  140
+ * Fixed MySQL 4.1 support for situations where we are sorting by a group aggregation function (changeset 49999)
  141
+ * Fixed notice level error (changeset 49999)
  142
+ * fixed caching in getManyManyComponents (see r43848) (changeset 49946)
  143
+ * removed redundant error strings (changeset 49922)
  144
+ * Added a default exception handler. Any uncaught exceptions thrown from application code are now scooped up by the Debug::fatalHandler (changeset 49906)
  145
+ *  (changeset 49906)
  146
+ * Still some small problems with displaying stack traces of exceptions because the context array from trigger_error looks quite different from that of Exception::getTrace (changeset 49906)
  147
+ *  (changeset 49906)
  148
+ * Also fixed a couple of echo/print bugs in Debug::friendlyError. From the looks of the code there may be more bugs to cleanup here. (changeset 49906)
  149
+ * Fixed Controller::allowed_actions documentation (changeset 49896)
  150
+ * Added  to main CMS controllers (changeset 49895)
  151
+ * Removed warning in group admin (changeset 49894)
  152
+ * Improved allowed_actions support for subclassed controllers, such as CMSMain extends LeftAndMain (changeset 49893)
  153
+ * Removed use of deprecated setExtraClass (changeset 49892)
  154
+ * Moved _ss_environment.php include to very top (changeset 49891)
  155
+ * Added deprecation note to BulkLoaderAdmin (changeset 49890)
  156
+ * added $casting for BaseHref() (changeset 49843)
  157
+ * fixed sql-injection (changeset 49834)
  158
+ * Updated AssetAdmin to use TreeTitle() in place of Title for tree generation (changeset 48425)
  159
+ * > Updated TreeTitle() to allow use of alternateTreeTitle() in decorator (changeset 48425)
  160
+ * > Updated File to allow the insertion of extra columns by decorator (changeset 48425)
  161
+ * Updated subject line of warning/error emails (changeset 49732)
  162
+ * Moved folder admin form to Folder::getCMSFields() to let you more easily manipulate the form with a decorator (changeset 49804)
  163
+ * Disabled notice level error until more of the core is compliant (changeset 49803)
  164
+ * Moved CMS page-disabled logic into SiteTree::CMSTreeClasses(), so that it can be more easily customised for specific sites (changeset 48376)
  165
+ * Added Member->SetPassword, a field that lets you have a write-only password field (changeset 46525)
  166
+ * Used Member->SetPassword to create a password column on the MemberTableField for SecurityAdmin (changeset 46525)
  167
+ * Send 'changed password' emails when a user is first created as well as edited (changeset 46525)
  168
+ * Fixed DataObjectSet::insertFirst() - it now uses a numeric key rather than null (changeset 45750)
  169
+ * Create Group::canEdit(), which can be used to filter the SecurityAdmin group list (changeset 45748)
  170
+ * Redirect to legislation section when there are only legislation pages (changeset 45654)
  171
+ * Allow selection of folder when inserting files / images (changeset 45654)
  172
+ * Minor bugfixes (changeset 43980)
  173
+ * Added additional checks so that the email doesn't get sent to new members, or on the test site. (changeset 43384)
  174
+ * Used Object::create() to create email instances sent by the system. (changeset 43342)
  175
+ * Added BaseHref() to Member_ChangePasswordEmail so that the email shows the domain name of the current subsite. (changeset 43340)
  176
+ * Tidied up lost password form. (changeset 43339)
  177
+ * Added Member::$notify_password_change (changeset 43336)
  178
+ * Added missing ChangePasswordEmail.ss (changeset 43335)
  179
+ * Saving the member with a changed password now sends an email to the member. (changeset 43334)
  180
+ * Updated AssetAdmin to use TreeTitle() in place of Title for tree generation (changeset 48425)
  181
+ * > Updated TreeTitle() to allow use of alternateTreeTitle() in decorator (changeset 48425)
  182
+ * > Updated File to allow the insertion of extra columns by decorator (changeset 48425)
  183
+ * Updated core to allow for subsites restriction of filesystem: Folder::getCMSFields() is now responsible for generating the folder form. (changeset 48401)
  184
+ * Folder::syncChildren() now exclusively uses DB::query() calls instead of DataObject::get(). (changeset 48401)
  185
+ * Moved CMS page-disabled logic into SiteTree::CMSTreeClasses(), so that it can be more easily customised for specific sites (changeset 48376)
  186
+ * Removed redundant Add Member button at the top-right (changeset 46526)
  187
+ * Added Member->SetPassword, a field that lets you have a write-only password field (changeset 46525)
  188
+ * Used Member->SetPassword to create a password column on the MemberTableField for SecurityAdmin (changeset 46525)
  189
+ * Send 'changed password' emails when a user is first created as well as edited (changeset 46525)
  190
+ * Changed call to ViewableData::castingHelperPair to fix sort not being set by getNewItem (changeset 43365)
  191
+ * Added LeftAndMainSubsites->augmentNewSiteTreeItem that allows extensions of LeftAndMain to provide the current SubsiteID for the new item. (changeset 43321)
  192
+ * CMSMain->getNewItem now calls $this->extend('augmentNewSiteTreeItem', $newItem); (changeset 43321)
  193
+ * Changed DataObject to be a subclass of ViewableData instead of Controller, so that it can't be hacked by visiting Page/write. (changeset 49767)
  194
+ * reverted accidental delete in r49761 (changeset 49766)
  195
+ * e-This line, and those below, will be ignored-- (changeset 49766)
  196
+ *  (changeset 49766)
  197
+ * A    svn://svn.silverstripe.com/silverstripe/open/themes/blackcandy/trunk/blackcandy_blog (changeset 49766)
  198
+ * reverted accidental delete in r49760 (changeset 49765)
  199
+ * revert accidental commit in r49763 (changeset 49764)
  200
+ * readding blackcandy (reverted r49761, r49762) (changeset 49763)
  201
+ * Removed unused blackcandy blog (changeset 49762)
  202
+ * Removed unused themes (changeset 49761)
  203
+ * #2200 - Allowed subclasses in ComponentSet::add/remove (changeset 49715)
  204
+ * #1878: wakeless: Supress disabled errors on live site (changeset 49709)
  205
+ * Merged r49479 from branches/2.1.1-madebyme (changeset 49658)
  206
+ * Merged r46528 from branches/2.1.1-madebyme (changeset 49657)
  207
+ * Bypass debug handler for E_USER_NOTICE as well as E_NOTICE (changeset 49593)
  208
+ * #2203 - ManifestBuilder regex (changeset 49448)
  209
+ * fix caching in complex table field (changeset 49447)
  210
+ * added setFields()/setActions() (changeset 49386)
  211
+ * formatting (changeset 49386)
  212
+ * reverted accidental commit (changeset 49352)
  213
+ * added gwgtn theme files (changeset 49349)
  214
+ * Added SS_DEFAULT_ADMIN_USERNAME/PASSWORD defines to conf/ConfigureFromEnv.php (changeset 49308)
  215
+ * #177 - Don't let people create a page name the same as a class name (changeset 49193)
  216
+ * Disabled unused files list, as it uses way too much memory (changeset 49192)
  217
+ * #1921 - Make DataObject::write() call the recursive write on components, even when the dataobject itself hasn't changed (changeset 49187)
  218
+ * #1956 - Show Title in RSSFeed (changeset 49184)
  219
+ * simon_w: #1954 - Added object caching methods (changeset 49182)
  220
+ * #1951 - Fix newsletter subscription form (changeset 49181)
  221
+ * Removed clone behaviour from Form::Fields() (changeset 49180)
  222
+ * Added SubscribeSubmission template to get subscribeforms to work (changeset 49177)
  223
+ * Added default SubscribeForm.ss (changeset 49176)
  224
+ * Fixed ManifestBuilder execution in restrictive openbasedir environments (changeset 49172)
  225
+ * #1987 - Fixed sitename/?url=sitename bug (changeset 49151)
  226
+ * #2016 - Added all the types of error pages (changeset 49150)
  227
+ * #2137 - Changed email encoding from iso-8859-15 to utf-8, in compliance with other parts of SilverStripe and IMC recommendations (changeset 49149)
  228
+ * fixed i18n::get_owner_module() calls on classes with _s (changeset 49148)
  229
+ * Improvement to link-insertion logic when selecting text that doesn't have a link (changeset 49147)
  230
+ * #1881 - Duplicated words in error message text (changeset 49066)
  231
+ * documentation (changeset 49033)
  232
+ * documentation (changeset 49032)
  233
+ * fixed typo in doc comment (changeset 48972)
  234
+ * fix sql error on comments section (changeset 48970)
  235
+ * #2088 - Notice level error on compare versions (changeset 48969)
  236
+ * #2005 - Fixed seamonkey browser recognition (changeset 48968)
  237
+ * fix upload folder (changeset 48857)
  238
+ * #2212 / #2201 - Fix notice-level errors in PageView updates (changeset 48941)
  239
+ * mrickerby: #2201 - fixed PageView's recording of referrers. (changeset 48912)
  240
+ * For some project we need server run some scheduled task yearly, such as upgrade high school students for GSO. (changeset 48906)
  241
+ * updating form in ctf-popup after saving (including validation-errors and fields that have may changed on the serverside, e.g. ImageField) (changeset 48874)
  242
+ * not all cms panel has sitetree, so better check if($('sitetree')) exsit, otherwise IE broken with all genericDataAdmin panel. (changeset 48869)
  243
+ * adding "delete" class to DeleteImageForm (changeset 48865)
  244
+ * compressed ImageField layout to fit in CTF-popup (removed "click here to remove" label) (changeset 48855)
  245
+ * removed iframe-borders for IE (changeset 48855)
  246
+ * fixed "object not found" error in ie6 (somehow Observable is not applied to sitetree at window-load) (changeset 48847)