From e9d88dd8ee0cb817024b8176c6f2b85e28f9e166 Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Sat, 5 Jul 2014 17:59:28 +1200 Subject: [PATCH 01/36] Restructure of the docs markdown source files into more logical taxonomy. Rebased on 3.1 --- .../00_Server_Requirements.md} | 0 .../01_Installation/01_Linux_Unix.md | 24 ++ .../01_Installation/02_Mac_OSX.md} | 0 .../01_Installation/03_Windows.md} | 0 .../Windows_IIS6.md} | 0 .../Windows_IIS7.md} | 0 .../Windows_Platform_Installer.md} | 0 .../01_Installation/05_Common_Problems.md} | 0 .../How_To/Configure_Lighttpd.md} | 0 .../How_To/Configure_Nginx.md} | 0 .../01_Installation/index.md} | 6 +- .../02_Composer.md} | 4 - .../03_Environment_Management.md} | 0 .../04_Directory_Structure.md} | 5 +- .../05_Coding_Conventions.md} | 0 .../index.md | 0 .../01_Building_A_Basic_Site.md} | 6 +- .../02_Extending_A_Basic_Site.md} | 0 .../3-forms.md => 01_Tutorials/03_Forms.md} | 0 .../04_Site_Search.md} | 0 .../05_Dataobject-Relationship_Management.md} | 0 docs/en/{tutorials => 01_Tutorials}/index.md | 0 .../00_Model/01_Page_Types.md} | 0 .../00_Model/02_SiteTree.md} | 0 .../00_Model/03_DataObject.md} | 0 .../00_Model/04_Data_Types_and_Casting.md} | 0 .../00_Model/05_Data_Model_and_ORM.md} | 0 .../00_Model/06_Database_Structure.md} | 0 .../00_Model/07_SQL_Query.md} | 0 .../00_Model/08_Versioning.md} | 0 .../How_To/Dynamic_Default_Fields.md} | 0 .../How_To/Grouping_DataObject_Sets.md} | 0 .../00_Page_Type_Templates.md} | 0 .../01_Templates_and_Views/01_Templates.md} | 0 .../01_Templates_and_Views/02_CSS.md} | 0 .../01_Templates_and_Views/03_Javascript.md} | 0 .../04_Requirements.md} | 0 .../05_Templates_Formal_Syntax.md} | 0 .../01_Templates_and_Views/06_Themes.md} | 0 .../07_Theme_Development.md} | 0 .../How_To/01_Navigation_Menu.md} | 0 .../How_To/02_Pagination.md} | 0 .../02_Controllers/01_Controllers.md} | 0 .../02_Controllers/02_Routing.md | 2 + .../03_Forms/00_Forms.md} | 0 .../03_Forms/01_Form_Field_Types.md} | 0 .../03_Forms/02_DateField.md} | 0 .../03_Forms/03_UploadField.md} | 0 .../03_Forms/04_GridField.md} | 0 .../03_Forms/How_To/Gridfield_Rowaction.md} | 0 .../03_Forms/How_To/Simple_Contact_Form.md} | 0 .../04_Configuration/00_Configuration.md} | 0 .../04_Configuration/01_SiteConfig.md} | 0 .../05_Extending/00_DataExtension.md} | 0 .../05_Extending/01_Modules.md} | 0 .../05_Extending/02_Module_Development.md} | 0 .../05_Extending/03_Rich_Text_Editing.md} | 0 .../05_Extending/04_Shortcodes.md} | 0 .../05_Extending/05_Injector.md} | 0 .../06_Testing/00_Why_Should_I_Test.md} | 0 .../06_Testing/01_PHPUnit_Configuration.md} | 0 .../06_Testing/02_Creating_a_Unit_Test.md} | 0 .../03_Creating_a_Functional_Test.md} | 0 .../06_Testing/04_Fixtures.md} | 0 .../05_Testing_Guide_Troubleshooting.md} | 0 .../06_Testing/06_Glossary.md} | 0 .../06_Testing/How_To/Testing_Email.md} | 0 .../06_Testing}/index.md | 0 .../07_Debugging/00_Debugging.md} | 0 .../07_Debugging/01_Error_Handling.md} | 0 .../07_Debugging/02_URL_Variable_Tools.md} | 0 .../08_Performance/00_Partial_Caching.md} | 0 .../08_Performance/01_Caching.md} | 0 .../08_Performance/02_Cache_Control.md} | 0 .../09_Security/00_Security.md} | 0 .../09_Security/01_Access_Control.md} | 0 .../09_Security/02_Member.md} | 0 .../09_Security/03_Permission.md} | 0 .../09_Security/How_To/Track_Member_Logins.md | 52 ++++ .../10_Email}/email.md | 0 .../00_CSV_Import.md} | 0 .../01_RestfulService.md} | 0 .../11_Migration_Integration/02_RSSFeed.md} | 0 .../12_Search/00_Search.md} | 0 .../12_Search/01_Searchcontext.md} | 0 .../13_i18n}/i18n.md | 0 .../14_Files/00_Files.md} | 0 .../14_Files/01_Image.md} | 0 .../15_Customising_the_CMS/00_Typography.md} | 0 .../15_Customising_the_CMS/01_ModelAdmin.md} | 0 .../15_Customising_the_CMS/03_CMS_Layout.md} | 0 .../15_Customising_the_CMS/04_Preview.md} | 0 .../05_CMS_Architecture.md} | 0 .../How_To/CMS_Alternating_Button.md} | 0 .../How_To/CMS_Formfield_Help_Text.md} | 0 .../How_To/Customise_CMS_Menu.md} | 0 .../How_To/Customise_CMS_Pages_List.md} | 0 .../How_To/Customise_CMS_Tree.md} | 0 .../How_To/Extend_CMS_Interface.md} | 0 .../00_Execution_Pipeline.md} | 0 .../16_Execution_Pipeline/01_Director.md} | 0 .../17_CLI/Command_Line.md} | 0 docs/en/02_Developer_Guides/index.md | 8 + .../00_Upgrading.md} | 0 .../01_Templates_Upgrading_Guide.md} | 0 .../en/{changelogs => 04_Changelogs}/2.0.1.md | 0 .../en/{changelogs => 04_Changelogs}/2.0.2.md | 0 .../en/{changelogs => 04_Changelogs}/2.1.0.md | 0 .../en/{changelogs => 04_Changelogs}/2.1.1.md | 0 .../en/{changelogs => 04_Changelogs}/2.2.0.md | 0 .../en/{changelogs => 04_Changelogs}/2.2.1.md | 0 .../en/{changelogs => 04_Changelogs}/2.2.2.md | 0 .../en/{changelogs => 04_Changelogs}/2.2.3.md | 0 .../en/{changelogs => 04_Changelogs}/2.2.4.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.0.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.1.md | 0 .../{changelogs => 04_Changelogs}/2.3.10.md | 0 .../{changelogs => 04_Changelogs}/2.3.11.md | 0 .../{changelogs => 04_Changelogs}/2.3.12.md | 0 .../{changelogs => 04_Changelogs}/2.3.13.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.2.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.3.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.4.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.5.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.6.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.7.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.8.md | 0 .../en/{changelogs => 04_Changelogs}/2.3.9.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.0.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.1.md | 0 .../{changelogs => 04_Changelogs}/2.4.10.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.2.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.3.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.4.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.5.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.6.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.7.md | 0 .../en/{changelogs => 04_Changelogs}/2.4.8.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.0.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.1.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.2.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.3.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.4.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.5.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.6.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.7.md | 0 .../en/{changelogs => 04_Changelogs}/3.0.8.md | 0 docs/en/04_Changelogs/3.0.9.md | 35 +++ .../en/{changelogs => 04_Changelogs}/3.1.0.md | 0 .../en/{changelogs => 04_Changelogs}/3.1.1.md | 0 .../en/{changelogs => 04_Changelogs}/3.1.2.md | 0 .../en/{changelogs => 04_Changelogs}/3.1.6.md | 0 .../_images/cms22screenie.jpg | Bin .../_images/tab-paths-after.png | Bin .../_images/tab-paths-before.png | Bin .../_images/tab-paths-customtab.png | Bin .../alpha/2.4.0-alpha1.md | 0 .../alpha/3.0.0-alpha1.md | 0 .../alpha/3.0.0-alpha2.md | 0 .../beta/2.4.0-beta1.md | 0 .../beta/2.4.0-beta2.md | 0 .../beta/3.0.0-beta1.md | 0 .../beta/3.0.0-beta2.md | 0 .../beta/3.0.0-beta3.md | 0 .../beta/3.1.0-beta1.md | 0 .../beta/3.1.0-beta2.md | 0 .../beta/3.1.0-beta3.md | 0 .../en/{changelogs => 04_Changelogs}/index.md | 0 .../pr/3.0.0-pr1.md | 0 .../rc/2.3.11-rc1.md | 0 .../rc/2.3.8-rc1.md | 0 .../rc/2.4.0-rc1.md | 0 .../rc/2.4.0-rc2.md | 0 .../rc/2.4.0-rc3.md | 0 .../rc/2.4.1-rc1.md | 0 .../rc/2.4.1-rc2.md | 0 .../rc/2.4.2-rc1.md | 0 .../rc/2.4.2-rc2.md | 0 .../rc/2.4.3-rc1.md | 0 .../rc/2.4.3-rc2.md | 0 .../rc/2.4.4-rc1.md | 0 .../rc/2.4.4-rc2.md | 0 .../rc/2.4.5-rc1.md | 0 .../rc/2.4.8-rc1.md | 0 .../rc/3.0.0-rc1.md | 0 .../rc/3.0.0-rc2.md | 0 .../rc/3.0.0-rc3.md | 0 .../rc/3.0.1-rc1.md | 0 .../rc/3.0.1-rc2.md | 0 .../rc/3.0.1-rc3.md | 0 .../rc/3.0.2-rc1.md | 0 .../rc/3.0.2-rc2.md | 0 .../rc/3.0.3-rc1.md | 0 .../rc/3.0.3-rc2.md | 0 .../rc/3.0.6-rc1.md | 0 .../rc/3.0.6-rc2.md | 0 .../rc/3.0.7-rc1.md | 0 .../rc/3.1.0-rc1.md | 0 .../rc/3.1.0-rc2.md | 0 .../rc/3.1.0-rc3.md | 0 .../rc/3.1.2-rc1.md | 0 .../00_Issues_and_Bugs.md} | 0 .../code.md => 05_Contributing/01_Code.md} | 0 .../02_Release_Process.md} | 0 .../03_Documentation.md} | 0 .../04_Translation.md} | 0 .../05_Translation_Process.md} | 0 .../contributing => 05_Contributing}/index.md | 0 docs/en/{topics => }/_images/assets.png | Bin .../{topics => }/_images/assets_editform.png | Bin docs/en/{topics => }/_images/assets_sync.png | Bin docs/en/{topics => }/_images/assets_up.png | Bin docs/en/{topics => }/_images/basicfiles.gif | Bin .../{topics => }/_images/basicfiles.gif.png | Bin .../_images/basicfilestructure.gif | Bin .../_images/basicfilestructure.gif.png | Bin .../_images/cms-architecture.png | Bin docs/en/{tutorials => }/_images/comments.jpg | Bin .../_images/controllers-and-dataobjects.png | Bin .../_images/iis7-iusr-permissions.jpg | Bin docs/en/{tutorials => }/_images/layout.css | 0 .../_images/modeladmin_edit.png | Bin .../_images/modeladmin_results.png | Bin .../_images/modeladmin_search.png | Bin .../{topics => }/_images/modules_folder.jpg | Bin docs/en/{tutorials => }/_images/navigator.jpg | Bin .../{tutorials => }/_images/news-comments.jpg | Bin .../_images/pagetype-inheritance.png | Bin docs/en/{tutorials => }/_images/rss.jpg | Bin .../{tutorials => }/_images/search-file.gif | Bin .../{tutorials => }/_images/search-file.jpg | Bin .../{tutorials => }/_images/searchresults.jpg | Bin ...ook-front-cover-design-june2009preview.jpg | Bin .../en/{reference => }/_images/sitereport.png | Bin .../_images/treeicons/home-file.gif | Bin .../_images/treeicons/news-file.gif | Bin .../_images/treeicons/search-file.gif | Bin .../_images/tutorial1_2nd_level-cut.jpg | Bin .../_images/tutorial1_addpage.jpg | Bin .../_images/tutorial1_cms-basic.jpg | Bin .../_images/tutorial1_cms-numbered-3.jpg | Bin .../_images/tutorial1_cms-numbered-5.jpg | Bin .../_images/tutorial1_cms-numbered.jpg | Bin .../_images/tutorial1_home-small.jpg | Bin .../_images/tutorial1_home-template.jpg | Bin .../_images/tutorial1_homepage-type.jpg | Bin .../tutorial1_menu-two-level-small.jpg | Bin .../_images/tutorial1_menu-two-level.jpg | Bin .../_images/tutorial1_menu.jpg | Bin .../tutorial1_subtemplates-diagram.jpg | Bin .../{tutorials => }/_images/tutorial1_url.jpg | Bin .../_images/tutorial2_articleholder.jpg | Bin .../_images/tutorial2_create-staff.jpg | Bin .../_images/tutorial2_data-collation.jpg | Bin .../_images/tutorial2_einstein.jpg | Bin .../_images/tutorial2_homepage-news.jpg | Bin .../_images/tutorial2_icons2.jpg | Bin .../_images/tutorial2_news-cms.jpg | Bin .../_images/tutorial2_news.jpg | Bin .../_images/tutorial2_newslist.jpg | Bin .../tutorial2_pagetype-inheritance.jpg | Bin .../_images/tutorial2_photo.jpg | Bin .../_images/tutorial2_rss-feed.jpg | Bin .../_images/tutorial2_staff-section.jpg | Bin .../_images/tutorial3_pollform.jpg | Bin .../_images/tutorial3_pollresults.jpg | Bin .../_images/tutorial3_validation.jpg | Bin .../_images/tutorial4_search.jpg | Bin .../_images/tutorial4_searchbox.jpg | Bin .../tutorial5-completecode-blackcandy.zip | Bin .../_images/tutorial5-completecode.zip | Bin .../_images/tutorial5_addNew.jpg | Bin .../_images/tutorial5_mentor.jpg | Bin .../_images/tutorial5_mentor_creation.jpg | Bin .../_images/tutorial5_mentor_students.jpg | Bin .../_images/tutorial5_module_creation.jpg | Bin .../_images/tutorial5_module_selection.jpg | Bin .../_images/tutorial5_project.jpg | Bin .../_images/tutorial5_project_creation.jpg | Bin .../_images/tutorial5_projects_table.jpg | Bin .../_images/tutorial5_student_tab.jpg | Bin .../_images/tutorial5_students.jpg | Bin .../_images/webpi-2-a-silverstripe-choice.jpg | Bin .../_images/webpi-2-b-dependencies.jpg | Bin .../webpi-2-c-downloading-and-installaing.jpg | Bin .../webpi-2-d-installer-questions-step1.jpg | Bin .../webpi-2-e-installer-questions-step2.jpg | Bin .../_images/webpi-2-f-success-message.jpg | Bin .../webpi-2-g-silverstripe-homepage.jpg | Bin .../webpi-2-h-cms-interface-working.jpg | Bin docs/en/{topics => }/_images/widget_demo.gif | Bin .../{topics => }/_images/widget_demo.gif.png | Bin docs/en/changelogs/3.0.10.md | 26 -- docs/en/changelogs/3.0.11.md | 19 -- docs/en/changelogs/3.0.9.md | 12 - docs/en/changelogs/3.1.3.md | 29 -- docs/en/changelogs/3.1.4.md | 46 --- docs/en/changelogs/3.1.5.md | 67 ---- docs/en/changelogs/rc/3.0.10-rc1.md | 25 -- docs/en/changelogs/rc/3.0.11-rc1.md | 19 -- docs/en/changelogs/rc/3.0.9-rc1.md | 12 - docs/en/changelogs/rc/3.1.3-rc1.md | 29 -- docs/en/changelogs/rc/3.1.3-rc2.md | 12 - docs/en/changelogs/rc/3.1.4-rc1.md | 44 --- docs/en/changelogs/rc/3.1.5-rc1.md | 67 ---- docs/en/howto/index.md | 22 -- docs/en/installation/from-source.md | 6 - docs/en/installation/windows-manual-iis.md | 31 -- docs/en/misc/index.md | 9 - docs/en/misc/ss-markdown.md | 115 ------- docs/en/reference/bbcode.md | 36 --- docs/en/reference/complextablefield.md | 135 -------- docs/en/reference/index.md | 36 --- docs/en/reference/tablefield.md | 81 ----- docs/en/reference/tablelistfield.md | 292 ------------------ docs/en/topics/index.md | 34 -- docs/en/topics/widgets.md | 3 - docs/en/tutorials/_resources/tutorials.zip | Bin 447811 -> 0 bytes 318 files changed, 131 insertions(+), 1218 deletions(-) rename docs/en/{installation/server-requirements.md => 00_Getting_Started/00_Server_Requirements.md} (100%) create mode 100644 docs/en/00_Getting_Started/01_Installation/01_Linux_Unix.md rename docs/en/{installation/mac-osx.md => 00_Getting_Started/01_Installation/02_Mac_OSX.md} (100%) rename docs/en/{installation/windows-wamp.md => 00_Getting_Started/01_Installation/03_Windows.md} (100%) rename docs/en/{installation/windows-manual-iis-6.md => 00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS6.md} (100%) rename docs/en/{installation/windows-manual-iis-7.md => 00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS7.md} (100%) rename docs/en/{installation/windows-pi.md => 00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_Platform_Installer.md} (100%) rename docs/en/{installation/common-problems.md => 00_Getting_Started/01_Installation/05_Common_Problems.md} (100%) rename docs/en/{installation/lighttpd.md => 00_Getting_Started/01_Installation/How_To/Configure_Lighttpd.md} (100%) rename docs/en/{installation/nginx.md => 00_Getting_Started/01_Installation/How_To/Configure_Nginx.md} (100%) rename docs/en/{installation/webserver.md => 00_Getting_Started/01_Installation/index.md} (93%) rename docs/en/{installation/composer.md => 00_Getting_Started/02_Composer.md} (99%) rename docs/en/{topics/environment-management.md => 00_Getting_Started/03_Environment_Management.md} (100%) rename docs/en/{topics/directory-structure.md => 00_Getting_Started/04_Directory_Structure.md} (91%) rename docs/en/{misc/coding-conventions.md => 00_Getting_Started/05_Coding_Conventions.md} (100%) rename docs/en/{installation => 00_Getting_Started}/index.md (100%) rename docs/en/{tutorials/1-building-a-basic-site.md => 01_Tutorials/01_Building_A_Basic_Site.md} (99%) rename docs/en/{tutorials/2-extending-a-basic-site.md => 01_Tutorials/02_Extending_A_Basic_Site.md} (100%) rename docs/en/{tutorials/3-forms.md => 01_Tutorials/03_Forms.md} (100%) rename docs/en/{tutorials/4-site-search.md => 01_Tutorials/04_Site_Search.md} (100%) rename docs/en/{tutorials/5-dataobject-relationship-management.md => 01_Tutorials/05_Dataobject-Relationship_Management.md} (100%) rename docs/en/{tutorials => 01_Tutorials}/index.md (100%) rename docs/en/{topics/page-types.md => 02_Developer_Guides/00_Model/01_Page_Types.md} (100%) rename docs/en/{reference/sitetree.md => 02_Developer_Guides/00_Model/02_SiteTree.md} (100%) rename docs/en/{reference/dataobject.md => 02_Developer_Guides/00_Model/03_DataObject.md} (100%) rename docs/en/{topics/data-types.md => 02_Developer_Guides/00_Model/04_Data_Types_and_Casting.md} (100%) rename docs/en/{topics/datamodel.md => 02_Developer_Guides/00_Model/05_Data_Model_and_ORM.md} (100%) rename docs/en/{reference/database-structure.md => 02_Developer_Guides/00_Model/06_Database_Structure.md} (100%) rename docs/en/{reference/sqlquery.md => 02_Developer_Guides/00_Model/07_SQL_Query.md} (100%) rename docs/en/{topics/versioning.md => 02_Developer_Guides/00_Model/08_Versioning.md} (100%) rename docs/en/{howto/dynamic-default-fields.md => 02_Developer_Guides/00_Model/How_To/Dynamic_Default_Fields.md} (100%) rename docs/en/{howto/grouping-dataobjectsets.md => 02_Developer_Guides/00_Model/How_To/Grouping_DataObject_Sets.md} (100%) rename docs/en/{topics/page-type-templates.md => 02_Developer_Guides/01_Templates_and_Views/00_Page_Type_Templates.md} (100%) rename docs/en/{reference/templates.md => 02_Developer_Guides/01_Templates_and_Views/01_Templates.md} (100%) rename docs/en/{topics/css.md => 02_Developer_Guides/01_Templates_and_Views/02_CSS.md} (100%) rename docs/en/{topics/javascript.md => 02_Developer_Guides/01_Templates_and_Views/03_Javascript.md} (100%) rename docs/en/{reference/requirements.md => 02_Developer_Guides/01_Templates_and_Views/04_Requirements.md} (100%) rename docs/en/{reference/templates-formal-syntax.md => 02_Developer_Guides/01_Templates_and_Views/05_Templates_Formal_Syntax.md} (100%) rename docs/en/{topics/themes.md => 02_Developer_Guides/01_Templates_and_Views/06_Themes.md} (100%) rename docs/en/{topics/theme-development.md => 02_Developer_Guides/01_Templates_and_Views/07_Theme_Development.md} (100%) rename docs/en/{howto/navigation-menu.md => 02_Developer_Guides/01_Templates_and_Views/How_To/01_Navigation_Menu.md} (100%) rename docs/en/{howto/pagination.md => 02_Developer_Guides/01_Templates_and_Views/How_To/02_Pagination.md} (100%) rename docs/en/{topics/controller.md => 02_Developer_Guides/02_Controllers/01_Controllers.md} (100%) create mode 100644 docs/en/02_Developer_Guides/02_Controllers/02_Routing.md rename docs/en/{topics/forms.md => 02_Developer_Guides/03_Forms/00_Forms.md} (100%) rename docs/en/{reference/form-field-types.md => 02_Developer_Guides/03_Forms/01_Form_Field_Types.md} (100%) rename docs/en/{reference/datefield.md => 02_Developer_Guides/03_Forms/02_DateField.md} (100%) rename docs/en/{reference/uploadfield.md => 02_Developer_Guides/03_Forms/03_UploadField.md} (100%) rename docs/en/{reference/grid-field.md => 02_Developer_Guides/03_Forms/04_GridField.md} (100%) rename docs/en/{howto/gridfield-rowaction.md => 02_Developer_Guides/03_Forms/How_To/Gridfield_Rowaction.md} (100%) rename docs/en/{howto/simple-contact-form.md => 02_Developer_Guides/03_Forms/How_To/Simple_Contact_Form.md} (100%) rename docs/en/{topics/configuration.md => 02_Developer_Guides/04_Configuration/00_Configuration.md} (100%) rename docs/en/{reference/siteconfig.md => 02_Developer_Guides/04_Configuration/01_SiteConfig.md} (100%) rename docs/en/{reference/dataextension.md => 02_Developer_Guides/05_Extending/00_DataExtension.md} (100%) rename docs/en/{topics/modules.md => 02_Developer_Guides/05_Extending/01_Modules.md} (100%) rename docs/en/{topics/module-development.md => 02_Developer_Guides/05_Extending/02_Module_Development.md} (100%) rename docs/en/{topics/rich-text-editing.md => 02_Developer_Guides/05_Extending/03_Rich_Text_Editing.md} (100%) rename docs/en/{reference/shortcodes.md => 02_Developer_Guides/05_Extending/04_Shortcodes.md} (100%) rename docs/en/{reference/injector.md => 02_Developer_Guides/05_Extending/05_Injector.md} (100%) rename docs/en/{topics/testing/why-should-i-test.md => 02_Developer_Guides/06_Testing/00_Why_Should_I_Test.md} (100%) rename docs/en/{howto/phpunit-configuration.md => 02_Developer_Guides/06_Testing/01_PHPUnit_Configuration.md} (100%) rename docs/en/{topics/testing/creating-a-silverstripe-test.md => 02_Developer_Guides/06_Testing/02_Creating_a_Unit_Test.md} (100%) rename docs/en/{topics/testing/creating-a-functional-test.md => 02_Developer_Guides/06_Testing/03_Creating_a_Functional_Test.md} (100%) rename docs/en/{topics/testing/fixtures.md => 02_Developer_Guides/06_Testing/04_Fixtures.md} (100%) rename docs/en/{topics/testing/testing-guide-troubleshooting.md => 02_Developer_Guides/06_Testing/05_Testing_Guide_Troubleshooting.md} (100%) rename docs/en/{topics/testing/glossary.md => 02_Developer_Guides/06_Testing/06_Glossary.md} (100%) rename docs/en/{topics/testing/testing-email.md => 02_Developer_Guides/06_Testing/How_To/Testing_Email.md} (100%) rename docs/en/{topics/testing => 02_Developer_Guides/06_Testing}/index.md (100%) rename docs/en/{topics/debugging.md => 02_Developer_Guides/07_Debugging/00_Debugging.md} (100%) rename docs/en/{topics/error-handling.md => 02_Developer_Guides/07_Debugging/01_Error_Handling.md} (100%) rename docs/en/{reference/urlvariabletools.md => 02_Developer_Guides/07_Debugging/02_URL_Variable_Tools.md} (100%) rename docs/en/{reference/partial-caching.md => 02_Developer_Guides/08_Performance/00_Partial_Caching.md} (100%) rename docs/en/{topics/caching.md => 02_Developer_Guides/08_Performance/01_Caching.md} (100%) rename docs/en/{howto/cache-control.md => 02_Developer_Guides/08_Performance/02_Cache_Control.md} (100%) rename docs/en/{topics/security.md => 02_Developer_Guides/09_Security/00_Security.md} (100%) rename docs/en/{topics/access-control.md => 02_Developer_Guides/09_Security/01_Access_Control.md} (100%) rename docs/en/{reference/member.md => 02_Developer_Guides/09_Security/02_Member.md} (100%) rename docs/en/{reference/permission.md => 02_Developer_Guides/09_Security/03_Permission.md} (100%) create mode 100644 docs/en/02_Developer_Guides/09_Security/How_To/Track_Member_Logins.md rename docs/en/{topics => 02_Developer_Guides/10_Email}/email.md (100%) rename docs/en/{howto/csv-import.md => 02_Developer_Guides/11_Migration_Integration/00_CSV_Import.md} (100%) rename docs/en/{reference/restfulservice.md => 02_Developer_Guides/11_Migration_Integration/01_RestfulService.md} (100%) rename docs/en/{reference/rssfeed.md => 02_Developer_Guides/11_Migration_Integration/02_RSSFeed.md} (100%) rename docs/en/{topics/search.md => 02_Developer_Guides/12_Search/00_Search.md} (100%) rename docs/en/{reference/searchcontext.md => 02_Developer_Guides/12_Search/01_Searchcontext.md} (100%) rename docs/en/{topics => 02_Developer_Guides/13_i18n}/i18n.md (100%) rename docs/en/{topics/files.md => 02_Developer_Guides/14_Files/00_Files.md} (100%) rename docs/en/{reference/image.md => 02_Developer_Guides/14_Files/01_Image.md} (100%) rename docs/en/{reference/typography.md => 02_Developer_Guides/15_Customising_the_CMS/00_Typography.md} (100%) rename docs/en/{reference/modeladmin.md => 02_Developer_Guides/15_Customising_the_CMS/01_ModelAdmin.md} (100%) rename docs/en/{reference/layout.md => 02_Developer_Guides/15_Customising_the_CMS/03_CMS_Layout.md} (100%) rename docs/en/{reference/preview.md => 02_Developer_Guides/15_Customising_the_CMS/04_Preview.md} (100%) rename docs/en/{reference/cms-architecture.md => 02_Developer_Guides/15_Customising_the_CMS/05_CMS_Architecture.md} (100%) rename docs/en/{howto/cms-alternating-button.md => 02_Developer_Guides/15_Customising_the_CMS/How_To/CMS_Alternating_Button.md} (100%) rename docs/en/{howto/cms-formfield-help-text.md => 02_Developer_Guides/15_Customising_the_CMS/How_To/CMS_Formfield_Help_Text.md} (100%) rename docs/en/{howto/customize-cms-menu.md => 02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Menu.md} (100%) rename docs/en/{howto/customize-cms-pages-list.md => 02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Pages_List.md} (100%) rename docs/en/{howto/customize-cms-tree.md => 02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Tree.md} (100%) rename docs/en/{howto/extend-cms-interface.md => 02_Developer_Guides/15_Customising_the_CMS/How_To/Extend_CMS_Interface.md} (100%) rename docs/en/{reference/execution-pipeline.md => 02_Developer_Guides/16_Execution_Pipeline/00_Execution_Pipeline.md} (100%) rename docs/en/{reference/director.md => 02_Developer_Guides/16_Execution_Pipeline/01_Director.md} (100%) rename docs/en/{topics/commandline.md => 02_Developer_Guides/17_CLI/Command_Line.md} (100%) create mode 100644 docs/en/02_Developer_Guides/index.md rename docs/en/{installation/upgrading.md => 03_Upgrading/00_Upgrading.md} (100%) rename docs/en/{reference/templates-upgrading-guide.md => 03_Upgrading/01_Templates_Upgrading_Guide.md} (100%) rename docs/en/{changelogs => 04_Changelogs}/2.0.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.0.2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.1.0.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.1.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.2.0.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.2.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.2.2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.2.3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.2.4.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.0.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.10.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.11.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.12.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.13.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.4.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.5.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.6.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.7.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.8.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.3.9.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.0.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.10.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.4.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.5.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.6.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.7.md (100%) rename docs/en/{changelogs => 04_Changelogs}/2.4.8.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.0.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.4.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.5.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.6.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.7.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.0.8.md (100%) create mode 100644 docs/en/04_Changelogs/3.0.9.md rename docs/en/{changelogs => 04_Changelogs}/3.1.0.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.1.1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.1.2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/3.1.6.md (100%) rename docs/en/{changelogs => 04_Changelogs}/_images/cms22screenie.jpg (100%) rename docs/en/{changelogs => 04_Changelogs}/_images/tab-paths-after.png (100%) rename docs/en/{changelogs => 04_Changelogs}/_images/tab-paths-before.png (100%) rename docs/en/{changelogs => 04_Changelogs}/_images/tab-paths-customtab.png (100%) rename docs/en/{changelogs => 04_Changelogs}/alpha/2.4.0-alpha1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/alpha/3.0.0-alpha1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/alpha/3.0.0-alpha2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/2.4.0-beta1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/2.4.0-beta2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/3.0.0-beta1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/3.0.0-beta2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/3.0.0-beta3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/3.1.0-beta1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/3.1.0-beta2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/beta/3.1.0-beta3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/index.md (100%) rename docs/en/{changelogs => 04_Changelogs}/pr/3.0.0-pr1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.3.11-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.3.8-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.0-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.0-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.0-rc3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.1-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.1-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.2-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.2-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.3-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.3-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.4-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.4-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.5-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/2.4.8-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.0-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.0-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.0-rc3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.1-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.1-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.1-rc3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.2-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.2-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.3-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.3-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.6-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.6-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.0.7-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.1.0-rc1.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.1.0-rc2.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.1.0-rc3.md (100%) rename docs/en/{changelogs => 04_Changelogs}/rc/3.1.2-rc1.md (100%) rename docs/en/{misc/contributing/issues.md => 05_Contributing/00_Issues_and_Bugs.md} (100%) rename docs/en/{misc/contributing/code.md => 05_Contributing/01_Code.md} (100%) rename docs/en/{misc/release-process.md => 05_Contributing/02_Release_Process.md} (100%) rename docs/en/{misc/contributing/documentation.md => 05_Contributing/03_Documentation.md} (100%) rename docs/en/{misc/contributing/translation.md => 05_Contributing/04_Translation.md} (100%) rename docs/en/{misc/translation-process.md => 05_Contributing/05_Translation_Process.md} (100%) rename docs/en/{misc/contributing => 05_Contributing}/index.md (100%) rename docs/en/{topics => }/_images/assets.png (100%) rename docs/en/{topics => }/_images/assets_editform.png (100%) rename docs/en/{topics => }/_images/assets_sync.png (100%) rename docs/en/{topics => }/_images/assets_up.png (100%) rename docs/en/{topics => }/_images/basicfiles.gif (100%) rename docs/en/{topics => }/_images/basicfiles.gif.png (100%) rename docs/en/{topics => }/_images/basicfilestructure.gif (100%) rename docs/en/{topics => }/_images/basicfilestructure.gif.png (100%) rename docs/en/{reference => }/_images/cms-architecture.png (100%) rename docs/en/{tutorials => }/_images/comments.jpg (100%) rename docs/en/{topics => }/_images/controllers-and-dataobjects.png (100%) rename docs/en/{installation => }/_images/iis7-iusr-permissions.jpg (100%) rename docs/en/{tutorials => }/_images/layout.css (100%) rename docs/en/{reference => }/_images/modeladmin_edit.png (100%) rename docs/en/{reference => }/_images/modeladmin_results.png (100%) rename docs/en/{reference => }/_images/modeladmin_search.png (100%) rename docs/en/{topics => }/_images/modules_folder.jpg (100%) rename docs/en/{tutorials => }/_images/navigator.jpg (100%) rename docs/en/{tutorials => }/_images/news-comments.jpg (100%) rename docs/en/{topics => }/_images/pagetype-inheritance.png (100%) rename docs/en/{tutorials => }/_images/rss.jpg (100%) rename docs/en/{tutorials => }/_images/search-file.gif (100%) rename docs/en/{tutorials => }/_images/search-file.jpg (100%) rename docs/en/{tutorials => }/_images/searchresults.jpg (100%) rename docs/en/{tutorials => }/_images/silverstripe-cms-book-front-cover-design-june2009preview.jpg (100%) rename docs/en/{reference => }/_images/sitereport.png (100%) rename docs/en/{tutorials => }/_images/treeicons/home-file.gif (100%) rename docs/en/{tutorials => }/_images/treeicons/news-file.gif (100%) rename docs/en/{tutorials => }/_images/treeicons/search-file.gif (100%) rename docs/en/{tutorials => }/_images/tutorial1_2nd_level-cut.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_addpage.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_cms-basic.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_cms-numbered-3.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_cms-numbered-5.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_cms-numbered.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_home-small.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_home-template.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_homepage-type.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_menu-two-level-small.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_menu-two-level.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_menu.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_subtemplates-diagram.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial1_url.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_articleholder.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_create-staff.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_data-collation.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_einstein.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_homepage-news.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_icons2.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_news-cms.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_news.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_newslist.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_pagetype-inheritance.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_photo.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_rss-feed.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial2_staff-section.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial3_pollform.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial3_pollresults.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial3_validation.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial4_search.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial4_searchbox.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5-completecode-blackcandy.zip (100%) rename docs/en/{tutorials => }/_images/tutorial5-completecode.zip (100%) rename docs/en/{tutorials => }/_images/tutorial5_addNew.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_mentor.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_mentor_creation.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_mentor_students.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_module_creation.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_module_selection.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_project.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_project_creation.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_projects_table.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_student_tab.jpg (100%) rename docs/en/{tutorials => }/_images/tutorial5_students.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-a-silverstripe-choice.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-b-dependencies.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-c-downloading-and-installaing.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-d-installer-questions-step1.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-e-installer-questions-step2.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-f-success-message.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-g-silverstripe-homepage.jpg (100%) rename docs/en/{installation => }/_images/webpi-2-h-cms-interface-working.jpg (100%) rename docs/en/{topics => }/_images/widget_demo.gif (100%) rename docs/en/{topics => }/_images/widget_demo.gif.png (100%) delete mode 100644 docs/en/changelogs/3.0.10.md delete mode 100644 docs/en/changelogs/3.0.11.md delete mode 100644 docs/en/changelogs/3.0.9.md delete mode 100644 docs/en/changelogs/3.1.3.md delete mode 100644 docs/en/changelogs/3.1.4.md delete mode 100644 docs/en/changelogs/3.1.5.md delete mode 100644 docs/en/changelogs/rc/3.0.10-rc1.md delete mode 100644 docs/en/changelogs/rc/3.0.11-rc1.md delete mode 100644 docs/en/changelogs/rc/3.0.9-rc1.md delete mode 100644 docs/en/changelogs/rc/3.1.3-rc1.md delete mode 100644 docs/en/changelogs/rc/3.1.3-rc2.md delete mode 100644 docs/en/changelogs/rc/3.1.4-rc1.md delete mode 100644 docs/en/changelogs/rc/3.1.5-rc1.md delete mode 100644 docs/en/howto/index.md delete mode 100644 docs/en/installation/from-source.md delete mode 100644 docs/en/installation/windows-manual-iis.md delete mode 100644 docs/en/misc/index.md delete mode 100644 docs/en/misc/ss-markdown.md delete mode 100644 docs/en/reference/bbcode.md delete mode 100644 docs/en/reference/complextablefield.md delete mode 100644 docs/en/reference/index.md delete mode 100644 docs/en/reference/tablefield.md delete mode 100644 docs/en/reference/tablelistfield.md delete mode 100644 docs/en/topics/index.md delete mode 100644 docs/en/topics/widgets.md delete mode 100644 docs/en/tutorials/_resources/tutorials.zip diff --git a/docs/en/installation/server-requirements.md b/docs/en/00_Getting_Started/00_Server_Requirements.md similarity index 100% rename from docs/en/installation/server-requirements.md rename to docs/en/00_Getting_Started/00_Server_Requirements.md diff --git a/docs/en/00_Getting_Started/01_Installation/01_Linux_Unix.md b/docs/en/00_Getting_Started/01_Installation/01_Linux_Unix.md new file mode 100644 index 000000000..60f84dbc7 --- /dev/null +++ b/docs/en/00_Getting_Started/01_Installation/01_Linux_Unix.md @@ -0,0 +1,24 @@ +# Installation on Linux, Unix and *nix like Operating Systems + +SilverStripe should be able to be installed on any Linux, Unix or *nix like OS as long as the correct server software is installed and configured (referred to a *nix in this document from herein). It is common that web hosting that you may use for your production SilverStripe application will be *nix based, here you may also want to use *nix locally to ensure how you develop locally mimics closely your production environment. + +Is important to ensure you check the [Server Requirements](/Getting_Started/Installation/Server_Requirements) list before acquiring and installing SilverStripe on your *nix server (locally or otherwise). + +At a high level you will need a: +* Web server e.g. Apache, Nginx +* Database e.g. MariaDB, Postgres, MySQL +* PHP + +##*nix installation guides on the web +There are a number of good step by step guides covering server setups and installing of SilverStripe on the various flavours of *nix systems. + +Note: Many of the following guides simply download SilverStripe as a zipped file. We recommend the use of [Composer](/Getting_Started/Composer/) once you get to the point of installing SilverStripe (though the choice is up to you). Always ensure you get the latest version if you are starting a new project. + +###Known (but not exhaustive) list +* [How To Install Silverstripe on Your VPS](https://www.digitalocean.com/community/tutorials/how-to-install-silverstripe-on-your-vps) +* [Running SilverStripe On Nginx (LEMP) On Debian Wheezy/Ubuntu 13.04](http://www.howtoforge.com/running-silverstripe-on-nginx-lemp-on-debian-wheezy-ubuntu-13.04) +* [Setting up nginx, PHP-FPM, and SilverStripe on Fedora 19](http://halkyon.net/blog/setting-up-nginx-php-fpm-and-silverstripe-installation-on-fedora-19/) +* [How to install SilverStripe CMS on a Linux Virtual Server](http://www.rosehosting.com/blog/how-to-install-silverstripe-cms-on-a-linux-virtual-server/) + + +_If you find further good *nix related installation articles please email these to community+docs@silverstripe.org._ \ No newline at end of file diff --git a/docs/en/installation/mac-osx.md b/docs/en/00_Getting_Started/01_Installation/02_Mac_OSX.md similarity index 100% rename from docs/en/installation/mac-osx.md rename to docs/en/00_Getting_Started/01_Installation/02_Mac_OSX.md diff --git a/docs/en/installation/windows-wamp.md b/docs/en/00_Getting_Started/01_Installation/03_Windows.md similarity index 100% rename from docs/en/installation/windows-wamp.md rename to docs/en/00_Getting_Started/01_Installation/03_Windows.md diff --git a/docs/en/installation/windows-manual-iis-6.md b/docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS6.md similarity index 100% rename from docs/en/installation/windows-manual-iis-6.md rename to docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS6.md diff --git a/docs/en/installation/windows-manual-iis-7.md b/docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS7.md similarity index 100% rename from docs/en/installation/windows-manual-iis-7.md rename to docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS7.md diff --git a/docs/en/installation/windows-pi.md b/docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_Platform_Installer.md similarity index 100% rename from docs/en/installation/windows-pi.md rename to docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_Platform_Installer.md diff --git a/docs/en/installation/common-problems.md b/docs/en/00_Getting_Started/01_Installation/05_Common_Problems.md similarity index 100% rename from docs/en/installation/common-problems.md rename to docs/en/00_Getting_Started/01_Installation/05_Common_Problems.md diff --git a/docs/en/installation/lighttpd.md b/docs/en/00_Getting_Started/01_Installation/How_To/Configure_Lighttpd.md similarity index 100% rename from docs/en/installation/lighttpd.md rename to docs/en/00_Getting_Started/01_Installation/How_To/Configure_Lighttpd.md diff --git a/docs/en/installation/nginx.md b/docs/en/00_Getting_Started/01_Installation/How_To/Configure_Nginx.md similarity index 100% rename from docs/en/installation/nginx.md rename to docs/en/00_Getting_Started/01_Installation/How_To/Configure_Nginx.md diff --git a/docs/en/installation/webserver.md b/docs/en/00_Getting_Started/01_Installation/index.md similarity index 93% rename from docs/en/installation/webserver.md rename to docs/en/00_Getting_Started/01_Installation/index.md index 1a476b4a5..50caac601 100644 --- a/docs/en/installation/webserver.md +++ b/docs/en/00_Getting_Started/01_Installation/index.md @@ -1,6 +1,8 @@ -# Generic Webserver Installation +# Installation -These instructions show you how to install SilverStripe on any web server. +These instructions show you how to install SilverStripe on any web server. + +The best way to install from the source code is to use [Composer](composer). For additional information about installing SilverStripe on specific operation systems, refer to: diff --git a/docs/en/installation/composer.md b/docs/en/00_Getting_Started/02_Composer.md similarity index 99% rename from docs/en/installation/composer.md rename to docs/en/00_Getting_Started/02_Composer.md index 30c8f59ae..0c02d0889 100644 --- a/docs/en/installation/composer.md +++ b/docs/en/00_Getting_Started/02_Composer.md @@ -1,9 +1,5 @@ # Installing and Upgrading with Composer -
-![](../_images/composer.png) -
- Composer is a package management tool for PHP that lets you install and upgrade SilverStripe and its modules. Although installing Composer is one extra step, it will give you much more flexibility than just downloading the file from silverstripe.org. This is our recommended way of downloading SilverStripe and managing your code. For more information about Composer, visit [its website](http://getcomposer.org/). diff --git a/docs/en/topics/environment-management.md b/docs/en/00_Getting_Started/03_Environment_Management.md similarity index 100% rename from docs/en/topics/environment-management.md rename to docs/en/00_Getting_Started/03_Environment_Management.md diff --git a/docs/en/topics/directory-structure.md b/docs/en/00_Getting_Started/04_Directory_Structure.md similarity index 91% rename from docs/en/topics/directory-structure.md rename to docs/en/00_Getting_Started/04_Directory_Structure.md index 32d8869f7..2b3a524fa 100644 --- a/docs/en/topics/directory-structure.md +++ b/docs/en/00_Getting_Started/04_Directory_Structure.md @@ -72,9 +72,10 @@ Example Forum Documentation: | `forum/docs/_manifest_exclude` | Empty file to signify that SilverStripe does not need to load classes from this folder | | `forum/docs/en/` | English documentation | | `forum/docs/en/index.md` | Documentation homepage. Should provide an introduction and links to remaining docs | - | `forum/docs/en/installing.md` | | + | `forum/docs/en/Getting_Started.md` | Documentation page. Naming convention is Uppercase and underscores. | | `forum/docs/en/_images/` | Folder to store any images or media | - | `forum/docs/en/sometopic/` | You can organize documentation into nested folders | + | `forum/docs/en/Some_Topic/` | You can organise documentation into nested folders. Naming convention is Uppercase and underscores. | +|`forum/docs/en/04_Some_Topic/00_Getting_Started.md`|Structure is created by use of numbered prefixes. This applies to nested folders and documentations pages, index.md should not have a prefix.| ## PHP Include Paths diff --git a/docs/en/misc/coding-conventions.md b/docs/en/00_Getting_Started/05_Coding_Conventions.md similarity index 100% rename from docs/en/misc/coding-conventions.md rename to docs/en/00_Getting_Started/05_Coding_Conventions.md diff --git a/docs/en/installation/index.md b/docs/en/00_Getting_Started/index.md similarity index 100% rename from docs/en/installation/index.md rename to docs/en/00_Getting_Started/index.md diff --git a/docs/en/tutorials/1-building-a-basic-site.md b/docs/en/01_Tutorials/01_Building_A_Basic_Site.md similarity index 99% rename from docs/en/tutorials/1-building-a-basic-site.md rename to docs/en/01_Tutorials/01_Building_A_Basic_Site.md index a450697ec..6e582e9b8 100644 --- a/docs/en/tutorials/1-building-a-basic-site.md +++ b/docs/en/01_Tutorials/01_Building_A_Basic_Site.md @@ -227,7 +227,7 @@ Adding a second level menu is very similar to adding the first level menu. Open <% loop $Menu(2) %>
  • - + ā†’ $MenuTitle.XML
  • @@ -250,7 +250,7 @@ like this: <% loop $Menu(2) %>
  • - + ā†’ $MenuTitle.XML
  • @@ -302,7 +302,7 @@ The following example runs an if statement and a loop on *Children*, checking to <% loop $Children %>
  • - + ā†’ $MenuTitle.XML
  • diff --git a/docs/en/tutorials/2-extending-a-basic-site.md b/docs/en/01_Tutorials/02_Extending_A_Basic_Site.md similarity index 100% rename from docs/en/tutorials/2-extending-a-basic-site.md rename to docs/en/01_Tutorials/02_Extending_A_Basic_Site.md diff --git a/docs/en/tutorials/3-forms.md b/docs/en/01_Tutorials/03_Forms.md similarity index 100% rename from docs/en/tutorials/3-forms.md rename to docs/en/01_Tutorials/03_Forms.md diff --git a/docs/en/tutorials/4-site-search.md b/docs/en/01_Tutorials/04_Site_Search.md similarity index 100% rename from docs/en/tutorials/4-site-search.md rename to docs/en/01_Tutorials/04_Site_Search.md diff --git a/docs/en/tutorials/5-dataobject-relationship-management.md b/docs/en/01_Tutorials/05_Dataobject-Relationship_Management.md similarity index 100% rename from docs/en/tutorials/5-dataobject-relationship-management.md rename to docs/en/01_Tutorials/05_Dataobject-Relationship_Management.md diff --git a/docs/en/tutorials/index.md b/docs/en/01_Tutorials/index.md similarity index 100% rename from docs/en/tutorials/index.md rename to docs/en/01_Tutorials/index.md diff --git a/docs/en/topics/page-types.md b/docs/en/02_Developer_Guides/00_Model/01_Page_Types.md similarity index 100% rename from docs/en/topics/page-types.md rename to docs/en/02_Developer_Guides/00_Model/01_Page_Types.md diff --git a/docs/en/reference/sitetree.md b/docs/en/02_Developer_Guides/00_Model/02_SiteTree.md similarity index 100% rename from docs/en/reference/sitetree.md rename to docs/en/02_Developer_Guides/00_Model/02_SiteTree.md diff --git a/docs/en/reference/dataobject.md b/docs/en/02_Developer_Guides/00_Model/03_DataObject.md similarity index 100% rename from docs/en/reference/dataobject.md rename to docs/en/02_Developer_Guides/00_Model/03_DataObject.md diff --git a/docs/en/topics/data-types.md b/docs/en/02_Developer_Guides/00_Model/04_Data_Types_and_Casting.md similarity index 100% rename from docs/en/topics/data-types.md rename to docs/en/02_Developer_Guides/00_Model/04_Data_Types_and_Casting.md diff --git a/docs/en/topics/datamodel.md b/docs/en/02_Developer_Guides/00_Model/05_Data_Model_and_ORM.md similarity index 100% rename from docs/en/topics/datamodel.md rename to docs/en/02_Developer_Guides/00_Model/05_Data_Model_and_ORM.md diff --git a/docs/en/reference/database-structure.md b/docs/en/02_Developer_Guides/00_Model/06_Database_Structure.md similarity index 100% rename from docs/en/reference/database-structure.md rename to docs/en/02_Developer_Guides/00_Model/06_Database_Structure.md diff --git a/docs/en/reference/sqlquery.md b/docs/en/02_Developer_Guides/00_Model/07_SQL_Query.md similarity index 100% rename from docs/en/reference/sqlquery.md rename to docs/en/02_Developer_Guides/00_Model/07_SQL_Query.md diff --git a/docs/en/topics/versioning.md b/docs/en/02_Developer_Guides/00_Model/08_Versioning.md similarity index 100% rename from docs/en/topics/versioning.md rename to docs/en/02_Developer_Guides/00_Model/08_Versioning.md diff --git a/docs/en/howto/dynamic-default-fields.md b/docs/en/02_Developer_Guides/00_Model/How_To/Dynamic_Default_Fields.md similarity index 100% rename from docs/en/howto/dynamic-default-fields.md rename to docs/en/02_Developer_Guides/00_Model/How_To/Dynamic_Default_Fields.md diff --git a/docs/en/howto/grouping-dataobjectsets.md b/docs/en/02_Developer_Guides/00_Model/How_To/Grouping_DataObject_Sets.md similarity index 100% rename from docs/en/howto/grouping-dataobjectsets.md rename to docs/en/02_Developer_Guides/00_Model/How_To/Grouping_DataObject_Sets.md diff --git a/docs/en/topics/page-type-templates.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/00_Page_Type_Templates.md similarity index 100% rename from docs/en/topics/page-type-templates.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/00_Page_Type_Templates.md diff --git a/docs/en/reference/templates.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/01_Templates.md similarity index 100% rename from docs/en/reference/templates.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/01_Templates.md diff --git a/docs/en/topics/css.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/02_CSS.md similarity index 100% rename from docs/en/topics/css.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/02_CSS.md diff --git a/docs/en/topics/javascript.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/03_Javascript.md similarity index 100% rename from docs/en/topics/javascript.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/03_Javascript.md diff --git a/docs/en/reference/requirements.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/04_Requirements.md similarity index 100% rename from docs/en/reference/requirements.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/04_Requirements.md diff --git a/docs/en/reference/templates-formal-syntax.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/05_Templates_Formal_Syntax.md similarity index 100% rename from docs/en/reference/templates-formal-syntax.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/05_Templates_Formal_Syntax.md diff --git a/docs/en/topics/themes.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/06_Themes.md similarity index 100% rename from docs/en/topics/themes.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/06_Themes.md diff --git a/docs/en/topics/theme-development.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/07_Theme_Development.md similarity index 100% rename from docs/en/topics/theme-development.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/07_Theme_Development.md diff --git a/docs/en/howto/navigation-menu.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/How_To/01_Navigation_Menu.md similarity index 100% rename from docs/en/howto/navigation-menu.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/How_To/01_Navigation_Menu.md diff --git a/docs/en/howto/pagination.md b/docs/en/02_Developer_Guides/01_Templates_and_Views/How_To/02_Pagination.md similarity index 100% rename from docs/en/howto/pagination.md rename to docs/en/02_Developer_Guides/01_Templates_and_Views/How_To/02_Pagination.md diff --git a/docs/en/topics/controller.md b/docs/en/02_Developer_Guides/02_Controllers/01_Controllers.md similarity index 100% rename from docs/en/topics/controller.md rename to docs/en/02_Developer_Guides/02_Controllers/01_Controllers.md diff --git a/docs/en/02_Developer_Guides/02_Controllers/02_Routing.md b/docs/en/02_Developer_Guides/02_Controllers/02_Routing.md new file mode 100644 index 000000000..4c09086d1 --- /dev/null +++ b/docs/en/02_Developer_Guides/02_Controllers/02_Routing.md @@ -0,0 +1,2 @@ +#Routing +This is a stub to be fleshed out about routing given it is a popular topic and currently hard to find. \ No newline at end of file diff --git a/docs/en/topics/forms.md b/docs/en/02_Developer_Guides/03_Forms/00_Forms.md similarity index 100% rename from docs/en/topics/forms.md rename to docs/en/02_Developer_Guides/03_Forms/00_Forms.md diff --git a/docs/en/reference/form-field-types.md b/docs/en/02_Developer_Guides/03_Forms/01_Form_Field_Types.md similarity index 100% rename from docs/en/reference/form-field-types.md rename to docs/en/02_Developer_Guides/03_Forms/01_Form_Field_Types.md diff --git a/docs/en/reference/datefield.md b/docs/en/02_Developer_Guides/03_Forms/02_DateField.md similarity index 100% rename from docs/en/reference/datefield.md rename to docs/en/02_Developer_Guides/03_Forms/02_DateField.md diff --git a/docs/en/reference/uploadfield.md b/docs/en/02_Developer_Guides/03_Forms/03_UploadField.md similarity index 100% rename from docs/en/reference/uploadfield.md rename to docs/en/02_Developer_Guides/03_Forms/03_UploadField.md diff --git a/docs/en/reference/grid-field.md b/docs/en/02_Developer_Guides/03_Forms/04_GridField.md similarity index 100% rename from docs/en/reference/grid-field.md rename to docs/en/02_Developer_Guides/03_Forms/04_GridField.md diff --git a/docs/en/howto/gridfield-rowaction.md b/docs/en/02_Developer_Guides/03_Forms/How_To/Gridfield_Rowaction.md similarity index 100% rename from docs/en/howto/gridfield-rowaction.md rename to docs/en/02_Developer_Guides/03_Forms/How_To/Gridfield_Rowaction.md diff --git a/docs/en/howto/simple-contact-form.md b/docs/en/02_Developer_Guides/03_Forms/How_To/Simple_Contact_Form.md similarity index 100% rename from docs/en/howto/simple-contact-form.md rename to docs/en/02_Developer_Guides/03_Forms/How_To/Simple_Contact_Form.md diff --git a/docs/en/topics/configuration.md b/docs/en/02_Developer_Guides/04_Configuration/00_Configuration.md similarity index 100% rename from docs/en/topics/configuration.md rename to docs/en/02_Developer_Guides/04_Configuration/00_Configuration.md diff --git a/docs/en/reference/siteconfig.md b/docs/en/02_Developer_Guides/04_Configuration/01_SiteConfig.md similarity index 100% rename from docs/en/reference/siteconfig.md rename to docs/en/02_Developer_Guides/04_Configuration/01_SiteConfig.md diff --git a/docs/en/reference/dataextension.md b/docs/en/02_Developer_Guides/05_Extending/00_DataExtension.md similarity index 100% rename from docs/en/reference/dataextension.md rename to docs/en/02_Developer_Guides/05_Extending/00_DataExtension.md diff --git a/docs/en/topics/modules.md b/docs/en/02_Developer_Guides/05_Extending/01_Modules.md similarity index 100% rename from docs/en/topics/modules.md rename to docs/en/02_Developer_Guides/05_Extending/01_Modules.md diff --git a/docs/en/topics/module-development.md b/docs/en/02_Developer_Guides/05_Extending/02_Module_Development.md similarity index 100% rename from docs/en/topics/module-development.md rename to docs/en/02_Developer_Guides/05_Extending/02_Module_Development.md diff --git a/docs/en/topics/rich-text-editing.md b/docs/en/02_Developer_Guides/05_Extending/03_Rich_Text_Editing.md similarity index 100% rename from docs/en/topics/rich-text-editing.md rename to docs/en/02_Developer_Guides/05_Extending/03_Rich_Text_Editing.md diff --git a/docs/en/reference/shortcodes.md b/docs/en/02_Developer_Guides/05_Extending/04_Shortcodes.md similarity index 100% rename from docs/en/reference/shortcodes.md rename to docs/en/02_Developer_Guides/05_Extending/04_Shortcodes.md diff --git a/docs/en/reference/injector.md b/docs/en/02_Developer_Guides/05_Extending/05_Injector.md similarity index 100% rename from docs/en/reference/injector.md rename to docs/en/02_Developer_Guides/05_Extending/05_Injector.md diff --git a/docs/en/topics/testing/why-should-i-test.md b/docs/en/02_Developer_Guides/06_Testing/00_Why_Should_I_Test.md similarity index 100% rename from docs/en/topics/testing/why-should-i-test.md rename to docs/en/02_Developer_Guides/06_Testing/00_Why_Should_I_Test.md diff --git a/docs/en/howto/phpunit-configuration.md b/docs/en/02_Developer_Guides/06_Testing/01_PHPUnit_Configuration.md similarity index 100% rename from docs/en/howto/phpunit-configuration.md rename to docs/en/02_Developer_Guides/06_Testing/01_PHPUnit_Configuration.md diff --git a/docs/en/topics/testing/creating-a-silverstripe-test.md b/docs/en/02_Developer_Guides/06_Testing/02_Creating_a_Unit_Test.md similarity index 100% rename from docs/en/topics/testing/creating-a-silverstripe-test.md rename to docs/en/02_Developer_Guides/06_Testing/02_Creating_a_Unit_Test.md diff --git a/docs/en/topics/testing/creating-a-functional-test.md b/docs/en/02_Developer_Guides/06_Testing/03_Creating_a_Functional_Test.md similarity index 100% rename from docs/en/topics/testing/creating-a-functional-test.md rename to docs/en/02_Developer_Guides/06_Testing/03_Creating_a_Functional_Test.md diff --git a/docs/en/topics/testing/fixtures.md b/docs/en/02_Developer_Guides/06_Testing/04_Fixtures.md similarity index 100% rename from docs/en/topics/testing/fixtures.md rename to docs/en/02_Developer_Guides/06_Testing/04_Fixtures.md diff --git a/docs/en/topics/testing/testing-guide-troubleshooting.md b/docs/en/02_Developer_Guides/06_Testing/05_Testing_Guide_Troubleshooting.md similarity index 100% rename from docs/en/topics/testing/testing-guide-troubleshooting.md rename to docs/en/02_Developer_Guides/06_Testing/05_Testing_Guide_Troubleshooting.md diff --git a/docs/en/topics/testing/glossary.md b/docs/en/02_Developer_Guides/06_Testing/06_Glossary.md similarity index 100% rename from docs/en/topics/testing/glossary.md rename to docs/en/02_Developer_Guides/06_Testing/06_Glossary.md diff --git a/docs/en/topics/testing/testing-email.md b/docs/en/02_Developer_Guides/06_Testing/How_To/Testing_Email.md similarity index 100% rename from docs/en/topics/testing/testing-email.md rename to docs/en/02_Developer_Guides/06_Testing/How_To/Testing_Email.md diff --git a/docs/en/topics/testing/index.md b/docs/en/02_Developer_Guides/06_Testing/index.md similarity index 100% rename from docs/en/topics/testing/index.md rename to docs/en/02_Developer_Guides/06_Testing/index.md diff --git a/docs/en/topics/debugging.md b/docs/en/02_Developer_Guides/07_Debugging/00_Debugging.md similarity index 100% rename from docs/en/topics/debugging.md rename to docs/en/02_Developer_Guides/07_Debugging/00_Debugging.md diff --git a/docs/en/topics/error-handling.md b/docs/en/02_Developer_Guides/07_Debugging/01_Error_Handling.md similarity index 100% rename from docs/en/topics/error-handling.md rename to docs/en/02_Developer_Guides/07_Debugging/01_Error_Handling.md diff --git a/docs/en/reference/urlvariabletools.md b/docs/en/02_Developer_Guides/07_Debugging/02_URL_Variable_Tools.md similarity index 100% rename from docs/en/reference/urlvariabletools.md rename to docs/en/02_Developer_Guides/07_Debugging/02_URL_Variable_Tools.md diff --git a/docs/en/reference/partial-caching.md b/docs/en/02_Developer_Guides/08_Performance/00_Partial_Caching.md similarity index 100% rename from docs/en/reference/partial-caching.md rename to docs/en/02_Developer_Guides/08_Performance/00_Partial_Caching.md diff --git a/docs/en/topics/caching.md b/docs/en/02_Developer_Guides/08_Performance/01_Caching.md similarity index 100% rename from docs/en/topics/caching.md rename to docs/en/02_Developer_Guides/08_Performance/01_Caching.md diff --git a/docs/en/howto/cache-control.md b/docs/en/02_Developer_Guides/08_Performance/02_Cache_Control.md similarity index 100% rename from docs/en/howto/cache-control.md rename to docs/en/02_Developer_Guides/08_Performance/02_Cache_Control.md diff --git a/docs/en/topics/security.md b/docs/en/02_Developer_Guides/09_Security/00_Security.md similarity index 100% rename from docs/en/topics/security.md rename to docs/en/02_Developer_Guides/09_Security/00_Security.md diff --git a/docs/en/topics/access-control.md b/docs/en/02_Developer_Guides/09_Security/01_Access_Control.md similarity index 100% rename from docs/en/topics/access-control.md rename to docs/en/02_Developer_Guides/09_Security/01_Access_Control.md diff --git a/docs/en/reference/member.md b/docs/en/02_Developer_Guides/09_Security/02_Member.md similarity index 100% rename from docs/en/reference/member.md rename to docs/en/02_Developer_Guides/09_Security/02_Member.md diff --git a/docs/en/reference/permission.md b/docs/en/02_Developer_Guides/09_Security/03_Permission.md similarity index 100% rename from docs/en/reference/permission.md rename to docs/en/02_Developer_Guides/09_Security/03_Permission.md diff --git a/docs/en/02_Developer_Guides/09_Security/How_To/Track_Member_Logins.md b/docs/en/02_Developer_Guides/09_Security/How_To/Track_Member_Logins.md new file mode 100644 index 000000000..cf2eaa688 --- /dev/null +++ b/docs/en/02_Developer_Guides/09_Security/How_To/Track_Member_Logins.md @@ -0,0 +1,52 @@ +# Howto: Track Member Logins + +Sometimes its good to know how active your users are, +and when they last visited the site (and logged on). +A simple `LastVisited` property on the `Member` record +with some hooks into the login process can achieve this. +In addition, a `NumVisit` property will tell us how +often the member has visited. Or more specifically, +how often he has started a browser session, either through +explicitly logging in or by invoking the "remember me" functionality. + + :::php + 'Datetime', + 'NumVisit' => 'Int', + ); + + public function memberLoggedIn() { + $this->logVisit(); + } + + public function memberAutoLoggedIn() { + $this->logVisit(); + } + + public function updateCMSFields(FieldList $fields) { + $fields->addFieldsToTab('Root.Main', array( + ReadonlyField::create('LastVisited', 'Last visited'), + ReadonlyField::create('NumVisits', 'Number of visits') + )); + } + + protected function logVisit() { + if(!Security::database_is_ready()) return; + + DB::query(sprintf( + 'UPDATE "Member" SET "LastVisited" = %s, "NumVisit" = "NumVisit" + 1 WHERE "ID" = %d', + DB::getConn()->now(), + $this->owner->ID + )); + } + } + +Now you just need to apply this extension through your config: + + :::yml + Member: + extensions: + - MyMemberExtension + diff --git a/docs/en/topics/email.md b/docs/en/02_Developer_Guides/10_Email/email.md similarity index 100% rename from docs/en/topics/email.md rename to docs/en/02_Developer_Guides/10_Email/email.md diff --git a/docs/en/howto/csv-import.md b/docs/en/02_Developer_Guides/11_Migration_Integration/00_CSV_Import.md similarity index 100% rename from docs/en/howto/csv-import.md rename to docs/en/02_Developer_Guides/11_Migration_Integration/00_CSV_Import.md diff --git a/docs/en/reference/restfulservice.md b/docs/en/02_Developer_Guides/11_Migration_Integration/01_RestfulService.md similarity index 100% rename from docs/en/reference/restfulservice.md rename to docs/en/02_Developer_Guides/11_Migration_Integration/01_RestfulService.md diff --git a/docs/en/reference/rssfeed.md b/docs/en/02_Developer_Guides/11_Migration_Integration/02_RSSFeed.md similarity index 100% rename from docs/en/reference/rssfeed.md rename to docs/en/02_Developer_Guides/11_Migration_Integration/02_RSSFeed.md diff --git a/docs/en/topics/search.md b/docs/en/02_Developer_Guides/12_Search/00_Search.md similarity index 100% rename from docs/en/topics/search.md rename to docs/en/02_Developer_Guides/12_Search/00_Search.md diff --git a/docs/en/reference/searchcontext.md b/docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md similarity index 100% rename from docs/en/reference/searchcontext.md rename to docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md diff --git a/docs/en/topics/i18n.md b/docs/en/02_Developer_Guides/13_i18n/i18n.md similarity index 100% rename from docs/en/topics/i18n.md rename to docs/en/02_Developer_Guides/13_i18n/i18n.md diff --git a/docs/en/topics/files.md b/docs/en/02_Developer_Guides/14_Files/00_Files.md similarity index 100% rename from docs/en/topics/files.md rename to docs/en/02_Developer_Guides/14_Files/00_Files.md diff --git a/docs/en/reference/image.md b/docs/en/02_Developer_Guides/14_Files/01_Image.md similarity index 100% rename from docs/en/reference/image.md rename to docs/en/02_Developer_Guides/14_Files/01_Image.md diff --git a/docs/en/reference/typography.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/00_Typography.md similarity index 100% rename from docs/en/reference/typography.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/00_Typography.md diff --git a/docs/en/reference/modeladmin.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/01_ModelAdmin.md similarity index 100% rename from docs/en/reference/modeladmin.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/01_ModelAdmin.md diff --git a/docs/en/reference/layout.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/03_CMS_Layout.md similarity index 100% rename from docs/en/reference/layout.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/03_CMS_Layout.md diff --git a/docs/en/reference/preview.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/04_Preview.md similarity index 100% rename from docs/en/reference/preview.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/04_Preview.md diff --git a/docs/en/reference/cms-architecture.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/05_CMS_Architecture.md similarity index 100% rename from docs/en/reference/cms-architecture.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/05_CMS_Architecture.md diff --git a/docs/en/howto/cms-alternating-button.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/CMS_Alternating_Button.md similarity index 100% rename from docs/en/howto/cms-alternating-button.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/CMS_Alternating_Button.md diff --git a/docs/en/howto/cms-formfield-help-text.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/CMS_Formfield_Help_Text.md similarity index 100% rename from docs/en/howto/cms-formfield-help-text.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/CMS_Formfield_Help_Text.md diff --git a/docs/en/howto/customize-cms-menu.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Menu.md similarity index 100% rename from docs/en/howto/customize-cms-menu.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Menu.md diff --git a/docs/en/howto/customize-cms-pages-list.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Pages_List.md similarity index 100% rename from docs/en/howto/customize-cms-pages-list.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Pages_List.md diff --git a/docs/en/howto/customize-cms-tree.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Tree.md similarity index 100% rename from docs/en/howto/customize-cms-tree.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Customise_CMS_Tree.md diff --git a/docs/en/howto/extend-cms-interface.md b/docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Extend_CMS_Interface.md similarity index 100% rename from docs/en/howto/extend-cms-interface.md rename to docs/en/02_Developer_Guides/15_Customising_the_CMS/How_To/Extend_CMS_Interface.md diff --git a/docs/en/reference/execution-pipeline.md b/docs/en/02_Developer_Guides/16_Execution_Pipeline/00_Execution_Pipeline.md similarity index 100% rename from docs/en/reference/execution-pipeline.md rename to docs/en/02_Developer_Guides/16_Execution_Pipeline/00_Execution_Pipeline.md diff --git a/docs/en/reference/director.md b/docs/en/02_Developer_Guides/16_Execution_Pipeline/01_Director.md similarity index 100% rename from docs/en/reference/director.md rename to docs/en/02_Developer_Guides/16_Execution_Pipeline/01_Director.md diff --git a/docs/en/topics/commandline.md b/docs/en/02_Developer_Guides/17_CLI/Command_Line.md similarity index 100% rename from docs/en/topics/commandline.md rename to docs/en/02_Developer_Guides/17_CLI/Command_Line.md diff --git a/docs/en/02_Developer_Guides/index.md b/docs/en/02_Developer_Guides/index.md new file mode 100644 index 000000000..5f3de77bc --- /dev/null +++ b/docs/en/02_Developer_Guides/index.md @@ -0,0 +1,8 @@ +#Developer Guides +A collection of more advanced functionality and features contained within the SilverStripe Framework. This covers common use cases, provides code examples and explanations of how you might use parts of the Framework and CMS to suit your projects. + +This is by no means a completely exhaustive list of Classes and Methods but rather more of a descriptive book style format with examples. + +Each key section will also contain a "How To" section into which we accept community contributed code examples and more specific use cases. + +TODO - A table of contents including any missing stub pages. \ No newline at end of file diff --git a/docs/en/installation/upgrading.md b/docs/en/03_Upgrading/00_Upgrading.md similarity index 100% rename from docs/en/installation/upgrading.md rename to docs/en/03_Upgrading/00_Upgrading.md diff --git a/docs/en/reference/templates-upgrading-guide.md b/docs/en/03_Upgrading/01_Templates_Upgrading_Guide.md similarity index 100% rename from docs/en/reference/templates-upgrading-guide.md rename to docs/en/03_Upgrading/01_Templates_Upgrading_Guide.md diff --git a/docs/en/changelogs/2.0.1.md b/docs/en/04_Changelogs/2.0.1.md similarity index 100% rename from docs/en/changelogs/2.0.1.md rename to docs/en/04_Changelogs/2.0.1.md diff --git a/docs/en/changelogs/2.0.2.md b/docs/en/04_Changelogs/2.0.2.md similarity index 100% rename from docs/en/changelogs/2.0.2.md rename to docs/en/04_Changelogs/2.0.2.md diff --git a/docs/en/changelogs/2.1.0.md b/docs/en/04_Changelogs/2.1.0.md similarity index 100% rename from docs/en/changelogs/2.1.0.md rename to docs/en/04_Changelogs/2.1.0.md diff --git a/docs/en/changelogs/2.1.1.md b/docs/en/04_Changelogs/2.1.1.md similarity index 100% rename from docs/en/changelogs/2.1.1.md rename to docs/en/04_Changelogs/2.1.1.md diff --git a/docs/en/changelogs/2.2.0.md b/docs/en/04_Changelogs/2.2.0.md similarity index 100% rename from docs/en/changelogs/2.2.0.md rename to docs/en/04_Changelogs/2.2.0.md diff --git a/docs/en/changelogs/2.2.1.md b/docs/en/04_Changelogs/2.2.1.md similarity index 100% rename from docs/en/changelogs/2.2.1.md rename to docs/en/04_Changelogs/2.2.1.md diff --git a/docs/en/changelogs/2.2.2.md b/docs/en/04_Changelogs/2.2.2.md similarity index 100% rename from docs/en/changelogs/2.2.2.md rename to docs/en/04_Changelogs/2.2.2.md diff --git a/docs/en/changelogs/2.2.3.md b/docs/en/04_Changelogs/2.2.3.md similarity index 100% rename from docs/en/changelogs/2.2.3.md rename to docs/en/04_Changelogs/2.2.3.md diff --git a/docs/en/changelogs/2.2.4.md b/docs/en/04_Changelogs/2.2.4.md similarity index 100% rename from docs/en/changelogs/2.2.4.md rename to docs/en/04_Changelogs/2.2.4.md diff --git a/docs/en/changelogs/2.3.0.md b/docs/en/04_Changelogs/2.3.0.md similarity index 100% rename from docs/en/changelogs/2.3.0.md rename to docs/en/04_Changelogs/2.3.0.md diff --git a/docs/en/changelogs/2.3.1.md b/docs/en/04_Changelogs/2.3.1.md similarity index 100% rename from docs/en/changelogs/2.3.1.md rename to docs/en/04_Changelogs/2.3.1.md diff --git a/docs/en/changelogs/2.3.10.md b/docs/en/04_Changelogs/2.3.10.md similarity index 100% rename from docs/en/changelogs/2.3.10.md rename to docs/en/04_Changelogs/2.3.10.md diff --git a/docs/en/changelogs/2.3.11.md b/docs/en/04_Changelogs/2.3.11.md similarity index 100% rename from docs/en/changelogs/2.3.11.md rename to docs/en/04_Changelogs/2.3.11.md diff --git a/docs/en/changelogs/2.3.12.md b/docs/en/04_Changelogs/2.3.12.md similarity index 100% rename from docs/en/changelogs/2.3.12.md rename to docs/en/04_Changelogs/2.3.12.md diff --git a/docs/en/changelogs/2.3.13.md b/docs/en/04_Changelogs/2.3.13.md similarity index 100% rename from docs/en/changelogs/2.3.13.md rename to docs/en/04_Changelogs/2.3.13.md diff --git a/docs/en/changelogs/2.3.2.md b/docs/en/04_Changelogs/2.3.2.md similarity index 100% rename from docs/en/changelogs/2.3.2.md rename to docs/en/04_Changelogs/2.3.2.md diff --git a/docs/en/changelogs/2.3.3.md b/docs/en/04_Changelogs/2.3.3.md similarity index 100% rename from docs/en/changelogs/2.3.3.md rename to docs/en/04_Changelogs/2.3.3.md diff --git a/docs/en/changelogs/2.3.4.md b/docs/en/04_Changelogs/2.3.4.md similarity index 100% rename from docs/en/changelogs/2.3.4.md rename to docs/en/04_Changelogs/2.3.4.md diff --git a/docs/en/changelogs/2.3.5.md b/docs/en/04_Changelogs/2.3.5.md similarity index 100% rename from docs/en/changelogs/2.3.5.md rename to docs/en/04_Changelogs/2.3.5.md diff --git a/docs/en/changelogs/2.3.6.md b/docs/en/04_Changelogs/2.3.6.md similarity index 100% rename from docs/en/changelogs/2.3.6.md rename to docs/en/04_Changelogs/2.3.6.md diff --git a/docs/en/changelogs/2.3.7.md b/docs/en/04_Changelogs/2.3.7.md similarity index 100% rename from docs/en/changelogs/2.3.7.md rename to docs/en/04_Changelogs/2.3.7.md diff --git a/docs/en/changelogs/2.3.8.md b/docs/en/04_Changelogs/2.3.8.md similarity index 100% rename from docs/en/changelogs/2.3.8.md rename to docs/en/04_Changelogs/2.3.8.md diff --git a/docs/en/changelogs/2.3.9.md b/docs/en/04_Changelogs/2.3.9.md similarity index 100% rename from docs/en/changelogs/2.3.9.md rename to docs/en/04_Changelogs/2.3.9.md diff --git a/docs/en/changelogs/2.4.0.md b/docs/en/04_Changelogs/2.4.0.md similarity index 100% rename from docs/en/changelogs/2.4.0.md rename to docs/en/04_Changelogs/2.4.0.md diff --git a/docs/en/changelogs/2.4.1.md b/docs/en/04_Changelogs/2.4.1.md similarity index 100% rename from docs/en/changelogs/2.4.1.md rename to docs/en/04_Changelogs/2.4.1.md diff --git a/docs/en/changelogs/2.4.10.md b/docs/en/04_Changelogs/2.4.10.md similarity index 100% rename from docs/en/changelogs/2.4.10.md rename to docs/en/04_Changelogs/2.4.10.md diff --git a/docs/en/changelogs/2.4.2.md b/docs/en/04_Changelogs/2.4.2.md similarity index 100% rename from docs/en/changelogs/2.4.2.md rename to docs/en/04_Changelogs/2.4.2.md diff --git a/docs/en/changelogs/2.4.3.md b/docs/en/04_Changelogs/2.4.3.md similarity index 100% rename from docs/en/changelogs/2.4.3.md rename to docs/en/04_Changelogs/2.4.3.md diff --git a/docs/en/changelogs/2.4.4.md b/docs/en/04_Changelogs/2.4.4.md similarity index 100% rename from docs/en/changelogs/2.4.4.md rename to docs/en/04_Changelogs/2.4.4.md diff --git a/docs/en/changelogs/2.4.5.md b/docs/en/04_Changelogs/2.4.5.md similarity index 100% rename from docs/en/changelogs/2.4.5.md rename to docs/en/04_Changelogs/2.4.5.md diff --git a/docs/en/changelogs/2.4.6.md b/docs/en/04_Changelogs/2.4.6.md similarity index 100% rename from docs/en/changelogs/2.4.6.md rename to docs/en/04_Changelogs/2.4.6.md diff --git a/docs/en/changelogs/2.4.7.md b/docs/en/04_Changelogs/2.4.7.md similarity index 100% rename from docs/en/changelogs/2.4.7.md rename to docs/en/04_Changelogs/2.4.7.md diff --git a/docs/en/changelogs/2.4.8.md b/docs/en/04_Changelogs/2.4.8.md similarity index 100% rename from docs/en/changelogs/2.4.8.md rename to docs/en/04_Changelogs/2.4.8.md diff --git a/docs/en/changelogs/3.0.0.md b/docs/en/04_Changelogs/3.0.0.md similarity index 100% rename from docs/en/changelogs/3.0.0.md rename to docs/en/04_Changelogs/3.0.0.md diff --git a/docs/en/changelogs/3.0.1.md b/docs/en/04_Changelogs/3.0.1.md similarity index 100% rename from docs/en/changelogs/3.0.1.md rename to docs/en/04_Changelogs/3.0.1.md diff --git a/docs/en/changelogs/3.0.2.md b/docs/en/04_Changelogs/3.0.2.md similarity index 100% rename from docs/en/changelogs/3.0.2.md rename to docs/en/04_Changelogs/3.0.2.md diff --git a/docs/en/changelogs/3.0.3.md b/docs/en/04_Changelogs/3.0.3.md similarity index 100% rename from docs/en/changelogs/3.0.3.md rename to docs/en/04_Changelogs/3.0.3.md diff --git a/docs/en/changelogs/3.0.4.md b/docs/en/04_Changelogs/3.0.4.md similarity index 100% rename from docs/en/changelogs/3.0.4.md rename to docs/en/04_Changelogs/3.0.4.md diff --git a/docs/en/changelogs/3.0.5.md b/docs/en/04_Changelogs/3.0.5.md similarity index 100% rename from docs/en/changelogs/3.0.5.md rename to docs/en/04_Changelogs/3.0.5.md diff --git a/docs/en/changelogs/3.0.6.md b/docs/en/04_Changelogs/3.0.6.md similarity index 100% rename from docs/en/changelogs/3.0.6.md rename to docs/en/04_Changelogs/3.0.6.md diff --git a/docs/en/changelogs/3.0.7.md b/docs/en/04_Changelogs/3.0.7.md similarity index 100% rename from docs/en/changelogs/3.0.7.md rename to docs/en/04_Changelogs/3.0.7.md diff --git a/docs/en/changelogs/3.0.8.md b/docs/en/04_Changelogs/3.0.8.md similarity index 100% rename from docs/en/changelogs/3.0.8.md rename to docs/en/04_Changelogs/3.0.8.md diff --git a/docs/en/04_Changelogs/3.0.9.md b/docs/en/04_Changelogs/3.0.9.md new file mode 100644 index 000000000..089cde8f8 --- /dev/null +++ b/docs/en/04_Changelogs/3.0.9.md @@ -0,0 +1,35 @@ +# 3.0.9 + +## Overview + +### Default current Versioned "stage" to "Live" rather than "Stage" + +Previously only the controllers responsible for page and CMS display +(`LeftAndMain` and `ContentController`) explicitly set a stage through +`Versioned::choose_site_stage()`. Unless this method is called, +the default stage will be "Stage", showing draft content. +Any direct subclasses of `Controller` interacting with "versioned" objects +are vulnerable to exposing unpublished content, unless `choose_site_stage()` +is called explicitly in their own logic. + +In order to provide more secure default behaviour, we have changed +`choose_site_stage()` to be called on all requests, defaulting to the "Live" stage. +If your logic relies on querying draft content, use `Versioned::reading_stage('Stage')`. + +Important: The `choose_site_stage()` call only deals with setting the default stage, +and doesn't check if the user is authenticated to view it. As with any other controller logic, +please use `DataObject->canView()` to determine permissions. + + :::php + class MyController extends Controller { + private static $allowed_actions = array('showpage'); + public function showpage($request) { + $page = Page::get()->byID($request->param('ID')); + if(!$page->canView()) return $this->httpError(401); + // continue with authenticated logic... + } + } + +### API Changes + + * 2013-08-03 [0e7231f](https://github.com/silverstripe/sapphire/commit/0e7231f) Disable discontinued Google Spellcheck in TinyMCE (Ingo Schommer) \ No newline at end of file diff --git a/docs/en/changelogs/3.1.0.md b/docs/en/04_Changelogs/3.1.0.md similarity index 100% rename from docs/en/changelogs/3.1.0.md rename to docs/en/04_Changelogs/3.1.0.md diff --git a/docs/en/changelogs/3.1.1.md b/docs/en/04_Changelogs/3.1.1.md similarity index 100% rename from docs/en/changelogs/3.1.1.md rename to docs/en/04_Changelogs/3.1.1.md diff --git a/docs/en/changelogs/3.1.2.md b/docs/en/04_Changelogs/3.1.2.md similarity index 100% rename from docs/en/changelogs/3.1.2.md rename to docs/en/04_Changelogs/3.1.2.md diff --git a/docs/en/changelogs/3.1.6.md b/docs/en/04_Changelogs/3.1.6.md similarity index 100% rename from docs/en/changelogs/3.1.6.md rename to docs/en/04_Changelogs/3.1.6.md diff --git a/docs/en/changelogs/_images/cms22screenie.jpg b/docs/en/04_Changelogs/_images/cms22screenie.jpg similarity index 100% rename from docs/en/changelogs/_images/cms22screenie.jpg rename to docs/en/04_Changelogs/_images/cms22screenie.jpg diff --git a/docs/en/changelogs/_images/tab-paths-after.png b/docs/en/04_Changelogs/_images/tab-paths-after.png similarity index 100% rename from docs/en/changelogs/_images/tab-paths-after.png rename to docs/en/04_Changelogs/_images/tab-paths-after.png diff --git a/docs/en/changelogs/_images/tab-paths-before.png b/docs/en/04_Changelogs/_images/tab-paths-before.png similarity index 100% rename from docs/en/changelogs/_images/tab-paths-before.png rename to docs/en/04_Changelogs/_images/tab-paths-before.png diff --git a/docs/en/changelogs/_images/tab-paths-customtab.png b/docs/en/04_Changelogs/_images/tab-paths-customtab.png similarity index 100% rename from docs/en/changelogs/_images/tab-paths-customtab.png rename to docs/en/04_Changelogs/_images/tab-paths-customtab.png diff --git a/docs/en/changelogs/alpha/2.4.0-alpha1.md b/docs/en/04_Changelogs/alpha/2.4.0-alpha1.md similarity index 100% rename from docs/en/changelogs/alpha/2.4.0-alpha1.md rename to docs/en/04_Changelogs/alpha/2.4.0-alpha1.md diff --git a/docs/en/changelogs/alpha/3.0.0-alpha1.md b/docs/en/04_Changelogs/alpha/3.0.0-alpha1.md similarity index 100% rename from docs/en/changelogs/alpha/3.0.0-alpha1.md rename to docs/en/04_Changelogs/alpha/3.0.0-alpha1.md diff --git a/docs/en/changelogs/alpha/3.0.0-alpha2.md b/docs/en/04_Changelogs/alpha/3.0.0-alpha2.md similarity index 100% rename from docs/en/changelogs/alpha/3.0.0-alpha2.md rename to docs/en/04_Changelogs/alpha/3.0.0-alpha2.md diff --git a/docs/en/changelogs/beta/2.4.0-beta1.md b/docs/en/04_Changelogs/beta/2.4.0-beta1.md similarity index 100% rename from docs/en/changelogs/beta/2.4.0-beta1.md rename to docs/en/04_Changelogs/beta/2.4.0-beta1.md diff --git a/docs/en/changelogs/beta/2.4.0-beta2.md b/docs/en/04_Changelogs/beta/2.4.0-beta2.md similarity index 100% rename from docs/en/changelogs/beta/2.4.0-beta2.md rename to docs/en/04_Changelogs/beta/2.4.0-beta2.md diff --git a/docs/en/changelogs/beta/3.0.0-beta1.md b/docs/en/04_Changelogs/beta/3.0.0-beta1.md similarity index 100% rename from docs/en/changelogs/beta/3.0.0-beta1.md rename to docs/en/04_Changelogs/beta/3.0.0-beta1.md diff --git a/docs/en/changelogs/beta/3.0.0-beta2.md b/docs/en/04_Changelogs/beta/3.0.0-beta2.md similarity index 100% rename from docs/en/changelogs/beta/3.0.0-beta2.md rename to docs/en/04_Changelogs/beta/3.0.0-beta2.md diff --git a/docs/en/changelogs/beta/3.0.0-beta3.md b/docs/en/04_Changelogs/beta/3.0.0-beta3.md similarity index 100% rename from docs/en/changelogs/beta/3.0.0-beta3.md rename to docs/en/04_Changelogs/beta/3.0.0-beta3.md diff --git a/docs/en/changelogs/beta/3.1.0-beta1.md b/docs/en/04_Changelogs/beta/3.1.0-beta1.md similarity index 100% rename from docs/en/changelogs/beta/3.1.0-beta1.md rename to docs/en/04_Changelogs/beta/3.1.0-beta1.md diff --git a/docs/en/changelogs/beta/3.1.0-beta2.md b/docs/en/04_Changelogs/beta/3.1.0-beta2.md similarity index 100% rename from docs/en/changelogs/beta/3.1.0-beta2.md rename to docs/en/04_Changelogs/beta/3.1.0-beta2.md diff --git a/docs/en/changelogs/beta/3.1.0-beta3.md b/docs/en/04_Changelogs/beta/3.1.0-beta3.md similarity index 100% rename from docs/en/changelogs/beta/3.1.0-beta3.md rename to docs/en/04_Changelogs/beta/3.1.0-beta3.md diff --git a/docs/en/changelogs/index.md b/docs/en/04_Changelogs/index.md similarity index 100% rename from docs/en/changelogs/index.md rename to docs/en/04_Changelogs/index.md diff --git a/docs/en/changelogs/pr/3.0.0-pr1.md b/docs/en/04_Changelogs/pr/3.0.0-pr1.md similarity index 100% rename from docs/en/changelogs/pr/3.0.0-pr1.md rename to docs/en/04_Changelogs/pr/3.0.0-pr1.md diff --git a/docs/en/changelogs/rc/2.3.11-rc1.md b/docs/en/04_Changelogs/rc/2.3.11-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.3.11-rc1.md rename to docs/en/04_Changelogs/rc/2.3.11-rc1.md diff --git a/docs/en/changelogs/rc/2.3.8-rc1.md b/docs/en/04_Changelogs/rc/2.3.8-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.3.8-rc1.md rename to docs/en/04_Changelogs/rc/2.3.8-rc1.md diff --git a/docs/en/changelogs/rc/2.4.0-rc1.md b/docs/en/04_Changelogs/rc/2.4.0-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.0-rc1.md rename to docs/en/04_Changelogs/rc/2.4.0-rc1.md diff --git a/docs/en/changelogs/rc/2.4.0-rc2.md b/docs/en/04_Changelogs/rc/2.4.0-rc2.md similarity index 100% rename from docs/en/changelogs/rc/2.4.0-rc2.md rename to docs/en/04_Changelogs/rc/2.4.0-rc2.md diff --git a/docs/en/changelogs/rc/2.4.0-rc3.md b/docs/en/04_Changelogs/rc/2.4.0-rc3.md similarity index 100% rename from docs/en/changelogs/rc/2.4.0-rc3.md rename to docs/en/04_Changelogs/rc/2.4.0-rc3.md diff --git a/docs/en/changelogs/rc/2.4.1-rc1.md b/docs/en/04_Changelogs/rc/2.4.1-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.1-rc1.md rename to docs/en/04_Changelogs/rc/2.4.1-rc1.md diff --git a/docs/en/changelogs/rc/2.4.1-rc2.md b/docs/en/04_Changelogs/rc/2.4.1-rc2.md similarity index 100% rename from docs/en/changelogs/rc/2.4.1-rc2.md rename to docs/en/04_Changelogs/rc/2.4.1-rc2.md diff --git a/docs/en/changelogs/rc/2.4.2-rc1.md b/docs/en/04_Changelogs/rc/2.4.2-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.2-rc1.md rename to docs/en/04_Changelogs/rc/2.4.2-rc1.md diff --git a/docs/en/changelogs/rc/2.4.2-rc2.md b/docs/en/04_Changelogs/rc/2.4.2-rc2.md similarity index 100% rename from docs/en/changelogs/rc/2.4.2-rc2.md rename to docs/en/04_Changelogs/rc/2.4.2-rc2.md diff --git a/docs/en/changelogs/rc/2.4.3-rc1.md b/docs/en/04_Changelogs/rc/2.4.3-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.3-rc1.md rename to docs/en/04_Changelogs/rc/2.4.3-rc1.md diff --git a/docs/en/changelogs/rc/2.4.3-rc2.md b/docs/en/04_Changelogs/rc/2.4.3-rc2.md similarity index 100% rename from docs/en/changelogs/rc/2.4.3-rc2.md rename to docs/en/04_Changelogs/rc/2.4.3-rc2.md diff --git a/docs/en/changelogs/rc/2.4.4-rc1.md b/docs/en/04_Changelogs/rc/2.4.4-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.4-rc1.md rename to docs/en/04_Changelogs/rc/2.4.4-rc1.md diff --git a/docs/en/changelogs/rc/2.4.4-rc2.md b/docs/en/04_Changelogs/rc/2.4.4-rc2.md similarity index 100% rename from docs/en/changelogs/rc/2.4.4-rc2.md rename to docs/en/04_Changelogs/rc/2.4.4-rc2.md diff --git a/docs/en/changelogs/rc/2.4.5-rc1.md b/docs/en/04_Changelogs/rc/2.4.5-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.5-rc1.md rename to docs/en/04_Changelogs/rc/2.4.5-rc1.md diff --git a/docs/en/changelogs/rc/2.4.8-rc1.md b/docs/en/04_Changelogs/rc/2.4.8-rc1.md similarity index 100% rename from docs/en/changelogs/rc/2.4.8-rc1.md rename to docs/en/04_Changelogs/rc/2.4.8-rc1.md diff --git a/docs/en/changelogs/rc/3.0.0-rc1.md b/docs/en/04_Changelogs/rc/3.0.0-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.0.0-rc1.md rename to docs/en/04_Changelogs/rc/3.0.0-rc1.md diff --git a/docs/en/changelogs/rc/3.0.0-rc2.md b/docs/en/04_Changelogs/rc/3.0.0-rc2.md similarity index 100% rename from docs/en/changelogs/rc/3.0.0-rc2.md rename to docs/en/04_Changelogs/rc/3.0.0-rc2.md diff --git a/docs/en/changelogs/rc/3.0.0-rc3.md b/docs/en/04_Changelogs/rc/3.0.0-rc3.md similarity index 100% rename from docs/en/changelogs/rc/3.0.0-rc3.md rename to docs/en/04_Changelogs/rc/3.0.0-rc3.md diff --git a/docs/en/changelogs/rc/3.0.1-rc1.md b/docs/en/04_Changelogs/rc/3.0.1-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.0.1-rc1.md rename to docs/en/04_Changelogs/rc/3.0.1-rc1.md diff --git a/docs/en/changelogs/rc/3.0.1-rc2.md b/docs/en/04_Changelogs/rc/3.0.1-rc2.md similarity index 100% rename from docs/en/changelogs/rc/3.0.1-rc2.md rename to docs/en/04_Changelogs/rc/3.0.1-rc2.md diff --git a/docs/en/changelogs/rc/3.0.1-rc3.md b/docs/en/04_Changelogs/rc/3.0.1-rc3.md similarity index 100% rename from docs/en/changelogs/rc/3.0.1-rc3.md rename to docs/en/04_Changelogs/rc/3.0.1-rc3.md diff --git a/docs/en/changelogs/rc/3.0.2-rc1.md b/docs/en/04_Changelogs/rc/3.0.2-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.0.2-rc1.md rename to docs/en/04_Changelogs/rc/3.0.2-rc1.md diff --git a/docs/en/changelogs/rc/3.0.2-rc2.md b/docs/en/04_Changelogs/rc/3.0.2-rc2.md similarity index 100% rename from docs/en/changelogs/rc/3.0.2-rc2.md rename to docs/en/04_Changelogs/rc/3.0.2-rc2.md diff --git a/docs/en/changelogs/rc/3.0.3-rc1.md b/docs/en/04_Changelogs/rc/3.0.3-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.0.3-rc1.md rename to docs/en/04_Changelogs/rc/3.0.3-rc1.md diff --git a/docs/en/changelogs/rc/3.0.3-rc2.md b/docs/en/04_Changelogs/rc/3.0.3-rc2.md similarity index 100% rename from docs/en/changelogs/rc/3.0.3-rc2.md rename to docs/en/04_Changelogs/rc/3.0.3-rc2.md diff --git a/docs/en/changelogs/rc/3.0.6-rc1.md b/docs/en/04_Changelogs/rc/3.0.6-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.0.6-rc1.md rename to docs/en/04_Changelogs/rc/3.0.6-rc1.md diff --git a/docs/en/changelogs/rc/3.0.6-rc2.md b/docs/en/04_Changelogs/rc/3.0.6-rc2.md similarity index 100% rename from docs/en/changelogs/rc/3.0.6-rc2.md rename to docs/en/04_Changelogs/rc/3.0.6-rc2.md diff --git a/docs/en/changelogs/rc/3.0.7-rc1.md b/docs/en/04_Changelogs/rc/3.0.7-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.0.7-rc1.md rename to docs/en/04_Changelogs/rc/3.0.7-rc1.md diff --git a/docs/en/changelogs/rc/3.1.0-rc1.md b/docs/en/04_Changelogs/rc/3.1.0-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.1.0-rc1.md rename to docs/en/04_Changelogs/rc/3.1.0-rc1.md diff --git a/docs/en/changelogs/rc/3.1.0-rc2.md b/docs/en/04_Changelogs/rc/3.1.0-rc2.md similarity index 100% rename from docs/en/changelogs/rc/3.1.0-rc2.md rename to docs/en/04_Changelogs/rc/3.1.0-rc2.md diff --git a/docs/en/changelogs/rc/3.1.0-rc3.md b/docs/en/04_Changelogs/rc/3.1.0-rc3.md similarity index 100% rename from docs/en/changelogs/rc/3.1.0-rc3.md rename to docs/en/04_Changelogs/rc/3.1.0-rc3.md diff --git a/docs/en/changelogs/rc/3.1.2-rc1.md b/docs/en/04_Changelogs/rc/3.1.2-rc1.md similarity index 100% rename from docs/en/changelogs/rc/3.1.2-rc1.md rename to docs/en/04_Changelogs/rc/3.1.2-rc1.md diff --git a/docs/en/misc/contributing/issues.md b/docs/en/05_Contributing/00_Issues_and_Bugs.md similarity index 100% rename from docs/en/misc/contributing/issues.md rename to docs/en/05_Contributing/00_Issues_and_Bugs.md diff --git a/docs/en/misc/contributing/code.md b/docs/en/05_Contributing/01_Code.md similarity index 100% rename from docs/en/misc/contributing/code.md rename to docs/en/05_Contributing/01_Code.md diff --git a/docs/en/misc/release-process.md b/docs/en/05_Contributing/02_Release_Process.md similarity index 100% rename from docs/en/misc/release-process.md rename to docs/en/05_Contributing/02_Release_Process.md diff --git a/docs/en/misc/contributing/documentation.md b/docs/en/05_Contributing/03_Documentation.md similarity index 100% rename from docs/en/misc/contributing/documentation.md rename to docs/en/05_Contributing/03_Documentation.md diff --git a/docs/en/misc/contributing/translation.md b/docs/en/05_Contributing/04_Translation.md similarity index 100% rename from docs/en/misc/contributing/translation.md rename to docs/en/05_Contributing/04_Translation.md diff --git a/docs/en/misc/translation-process.md b/docs/en/05_Contributing/05_Translation_Process.md similarity index 100% rename from docs/en/misc/translation-process.md rename to docs/en/05_Contributing/05_Translation_Process.md diff --git a/docs/en/misc/contributing/index.md b/docs/en/05_Contributing/index.md similarity index 100% rename from docs/en/misc/contributing/index.md rename to docs/en/05_Contributing/index.md diff --git a/docs/en/topics/_images/assets.png b/docs/en/_images/assets.png similarity index 100% rename from docs/en/topics/_images/assets.png rename to docs/en/_images/assets.png diff --git a/docs/en/topics/_images/assets_editform.png b/docs/en/_images/assets_editform.png similarity index 100% rename from docs/en/topics/_images/assets_editform.png rename to docs/en/_images/assets_editform.png diff --git a/docs/en/topics/_images/assets_sync.png b/docs/en/_images/assets_sync.png similarity index 100% rename from docs/en/topics/_images/assets_sync.png rename to docs/en/_images/assets_sync.png diff --git a/docs/en/topics/_images/assets_up.png b/docs/en/_images/assets_up.png similarity index 100% rename from docs/en/topics/_images/assets_up.png rename to docs/en/_images/assets_up.png diff --git a/docs/en/topics/_images/basicfiles.gif b/docs/en/_images/basicfiles.gif similarity index 100% rename from docs/en/topics/_images/basicfiles.gif rename to docs/en/_images/basicfiles.gif diff --git a/docs/en/topics/_images/basicfiles.gif.png b/docs/en/_images/basicfiles.gif.png similarity index 100% rename from docs/en/topics/_images/basicfiles.gif.png rename to docs/en/_images/basicfiles.gif.png diff --git a/docs/en/topics/_images/basicfilestructure.gif b/docs/en/_images/basicfilestructure.gif similarity index 100% rename from docs/en/topics/_images/basicfilestructure.gif rename to docs/en/_images/basicfilestructure.gif diff --git a/docs/en/topics/_images/basicfilestructure.gif.png b/docs/en/_images/basicfilestructure.gif.png similarity index 100% rename from docs/en/topics/_images/basicfilestructure.gif.png rename to docs/en/_images/basicfilestructure.gif.png diff --git a/docs/en/reference/_images/cms-architecture.png b/docs/en/_images/cms-architecture.png similarity index 100% rename from docs/en/reference/_images/cms-architecture.png rename to docs/en/_images/cms-architecture.png diff --git a/docs/en/tutorials/_images/comments.jpg b/docs/en/_images/comments.jpg similarity index 100% rename from docs/en/tutorials/_images/comments.jpg rename to docs/en/_images/comments.jpg diff --git a/docs/en/topics/_images/controllers-and-dataobjects.png b/docs/en/_images/controllers-and-dataobjects.png similarity index 100% rename from docs/en/topics/_images/controllers-and-dataobjects.png rename to docs/en/_images/controllers-and-dataobjects.png diff --git a/docs/en/installation/_images/iis7-iusr-permissions.jpg b/docs/en/_images/iis7-iusr-permissions.jpg similarity index 100% rename from docs/en/installation/_images/iis7-iusr-permissions.jpg rename to docs/en/_images/iis7-iusr-permissions.jpg diff --git a/docs/en/tutorials/_images/layout.css b/docs/en/_images/layout.css similarity index 100% rename from docs/en/tutorials/_images/layout.css rename to docs/en/_images/layout.css diff --git a/docs/en/reference/_images/modeladmin_edit.png b/docs/en/_images/modeladmin_edit.png similarity index 100% rename from docs/en/reference/_images/modeladmin_edit.png rename to docs/en/_images/modeladmin_edit.png diff --git a/docs/en/reference/_images/modeladmin_results.png b/docs/en/_images/modeladmin_results.png similarity index 100% rename from docs/en/reference/_images/modeladmin_results.png rename to docs/en/_images/modeladmin_results.png diff --git a/docs/en/reference/_images/modeladmin_search.png b/docs/en/_images/modeladmin_search.png similarity index 100% rename from docs/en/reference/_images/modeladmin_search.png rename to docs/en/_images/modeladmin_search.png diff --git a/docs/en/topics/_images/modules_folder.jpg b/docs/en/_images/modules_folder.jpg similarity index 100% rename from docs/en/topics/_images/modules_folder.jpg rename to docs/en/_images/modules_folder.jpg diff --git a/docs/en/tutorials/_images/navigator.jpg b/docs/en/_images/navigator.jpg similarity index 100% rename from docs/en/tutorials/_images/navigator.jpg rename to docs/en/_images/navigator.jpg diff --git a/docs/en/tutorials/_images/news-comments.jpg b/docs/en/_images/news-comments.jpg similarity index 100% rename from docs/en/tutorials/_images/news-comments.jpg rename to docs/en/_images/news-comments.jpg diff --git a/docs/en/topics/_images/pagetype-inheritance.png b/docs/en/_images/pagetype-inheritance.png similarity index 100% rename from docs/en/topics/_images/pagetype-inheritance.png rename to docs/en/_images/pagetype-inheritance.png diff --git a/docs/en/tutorials/_images/rss.jpg b/docs/en/_images/rss.jpg similarity index 100% rename from docs/en/tutorials/_images/rss.jpg rename to docs/en/_images/rss.jpg diff --git a/docs/en/tutorials/_images/search-file.gif b/docs/en/_images/search-file.gif similarity index 100% rename from docs/en/tutorials/_images/search-file.gif rename to docs/en/_images/search-file.gif diff --git a/docs/en/tutorials/_images/search-file.jpg b/docs/en/_images/search-file.jpg similarity index 100% rename from docs/en/tutorials/_images/search-file.jpg rename to docs/en/_images/search-file.jpg diff --git a/docs/en/tutorials/_images/searchresults.jpg b/docs/en/_images/searchresults.jpg similarity index 100% rename from docs/en/tutorials/_images/searchresults.jpg rename to docs/en/_images/searchresults.jpg diff --git a/docs/en/tutorials/_images/silverstripe-cms-book-front-cover-design-june2009preview.jpg b/docs/en/_images/silverstripe-cms-book-front-cover-design-june2009preview.jpg similarity index 100% rename from docs/en/tutorials/_images/silverstripe-cms-book-front-cover-design-june2009preview.jpg rename to docs/en/_images/silverstripe-cms-book-front-cover-design-june2009preview.jpg diff --git a/docs/en/reference/_images/sitereport.png b/docs/en/_images/sitereport.png similarity index 100% rename from docs/en/reference/_images/sitereport.png rename to docs/en/_images/sitereport.png diff --git a/docs/en/tutorials/_images/treeicons/home-file.gif b/docs/en/_images/treeicons/home-file.gif similarity index 100% rename from docs/en/tutorials/_images/treeicons/home-file.gif rename to docs/en/_images/treeicons/home-file.gif diff --git a/docs/en/tutorials/_images/treeicons/news-file.gif b/docs/en/_images/treeicons/news-file.gif similarity index 100% rename from docs/en/tutorials/_images/treeicons/news-file.gif rename to docs/en/_images/treeicons/news-file.gif diff --git a/docs/en/tutorials/_images/treeicons/search-file.gif b/docs/en/_images/treeicons/search-file.gif similarity index 100% rename from docs/en/tutorials/_images/treeicons/search-file.gif rename to docs/en/_images/treeicons/search-file.gif diff --git a/docs/en/tutorials/_images/tutorial1_2nd_level-cut.jpg b/docs/en/_images/tutorial1_2nd_level-cut.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_2nd_level-cut.jpg rename to docs/en/_images/tutorial1_2nd_level-cut.jpg diff --git a/docs/en/tutorials/_images/tutorial1_addpage.jpg b/docs/en/_images/tutorial1_addpage.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_addpage.jpg rename to docs/en/_images/tutorial1_addpage.jpg diff --git a/docs/en/tutorials/_images/tutorial1_cms-basic.jpg b/docs/en/_images/tutorial1_cms-basic.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_cms-basic.jpg rename to docs/en/_images/tutorial1_cms-basic.jpg diff --git a/docs/en/tutorials/_images/tutorial1_cms-numbered-3.jpg b/docs/en/_images/tutorial1_cms-numbered-3.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_cms-numbered-3.jpg rename to docs/en/_images/tutorial1_cms-numbered-3.jpg diff --git a/docs/en/tutorials/_images/tutorial1_cms-numbered-5.jpg b/docs/en/_images/tutorial1_cms-numbered-5.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_cms-numbered-5.jpg rename to docs/en/_images/tutorial1_cms-numbered-5.jpg diff --git a/docs/en/tutorials/_images/tutorial1_cms-numbered.jpg b/docs/en/_images/tutorial1_cms-numbered.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_cms-numbered.jpg rename to docs/en/_images/tutorial1_cms-numbered.jpg diff --git a/docs/en/tutorials/_images/tutorial1_home-small.jpg b/docs/en/_images/tutorial1_home-small.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_home-small.jpg rename to docs/en/_images/tutorial1_home-small.jpg diff --git a/docs/en/tutorials/_images/tutorial1_home-template.jpg b/docs/en/_images/tutorial1_home-template.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_home-template.jpg rename to docs/en/_images/tutorial1_home-template.jpg diff --git a/docs/en/tutorials/_images/tutorial1_homepage-type.jpg b/docs/en/_images/tutorial1_homepage-type.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_homepage-type.jpg rename to docs/en/_images/tutorial1_homepage-type.jpg diff --git a/docs/en/tutorials/_images/tutorial1_menu-two-level-small.jpg b/docs/en/_images/tutorial1_menu-two-level-small.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_menu-two-level-small.jpg rename to docs/en/_images/tutorial1_menu-two-level-small.jpg diff --git a/docs/en/tutorials/_images/tutorial1_menu-two-level.jpg b/docs/en/_images/tutorial1_menu-two-level.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_menu-two-level.jpg rename to docs/en/_images/tutorial1_menu-two-level.jpg diff --git a/docs/en/tutorials/_images/tutorial1_menu.jpg b/docs/en/_images/tutorial1_menu.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_menu.jpg rename to docs/en/_images/tutorial1_menu.jpg diff --git a/docs/en/tutorials/_images/tutorial1_subtemplates-diagram.jpg b/docs/en/_images/tutorial1_subtemplates-diagram.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_subtemplates-diagram.jpg rename to docs/en/_images/tutorial1_subtemplates-diagram.jpg diff --git a/docs/en/tutorials/_images/tutorial1_url.jpg b/docs/en/_images/tutorial1_url.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial1_url.jpg rename to docs/en/_images/tutorial1_url.jpg diff --git a/docs/en/tutorials/_images/tutorial2_articleholder.jpg b/docs/en/_images/tutorial2_articleholder.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_articleholder.jpg rename to docs/en/_images/tutorial2_articleholder.jpg diff --git a/docs/en/tutorials/_images/tutorial2_create-staff.jpg b/docs/en/_images/tutorial2_create-staff.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_create-staff.jpg rename to docs/en/_images/tutorial2_create-staff.jpg diff --git a/docs/en/tutorials/_images/tutorial2_data-collation.jpg b/docs/en/_images/tutorial2_data-collation.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_data-collation.jpg rename to docs/en/_images/tutorial2_data-collation.jpg diff --git a/docs/en/tutorials/_images/tutorial2_einstein.jpg b/docs/en/_images/tutorial2_einstein.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_einstein.jpg rename to docs/en/_images/tutorial2_einstein.jpg diff --git a/docs/en/tutorials/_images/tutorial2_homepage-news.jpg b/docs/en/_images/tutorial2_homepage-news.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_homepage-news.jpg rename to docs/en/_images/tutorial2_homepage-news.jpg diff --git a/docs/en/tutorials/_images/tutorial2_icons2.jpg b/docs/en/_images/tutorial2_icons2.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_icons2.jpg rename to docs/en/_images/tutorial2_icons2.jpg diff --git a/docs/en/tutorials/_images/tutorial2_news-cms.jpg b/docs/en/_images/tutorial2_news-cms.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_news-cms.jpg rename to docs/en/_images/tutorial2_news-cms.jpg diff --git a/docs/en/tutorials/_images/tutorial2_news.jpg b/docs/en/_images/tutorial2_news.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_news.jpg rename to docs/en/_images/tutorial2_news.jpg diff --git a/docs/en/tutorials/_images/tutorial2_newslist.jpg b/docs/en/_images/tutorial2_newslist.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_newslist.jpg rename to docs/en/_images/tutorial2_newslist.jpg diff --git a/docs/en/tutorials/_images/tutorial2_pagetype-inheritance.jpg b/docs/en/_images/tutorial2_pagetype-inheritance.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_pagetype-inheritance.jpg rename to docs/en/_images/tutorial2_pagetype-inheritance.jpg diff --git a/docs/en/tutorials/_images/tutorial2_photo.jpg b/docs/en/_images/tutorial2_photo.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_photo.jpg rename to docs/en/_images/tutorial2_photo.jpg diff --git a/docs/en/tutorials/_images/tutorial2_rss-feed.jpg b/docs/en/_images/tutorial2_rss-feed.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_rss-feed.jpg rename to docs/en/_images/tutorial2_rss-feed.jpg diff --git a/docs/en/tutorials/_images/tutorial2_staff-section.jpg b/docs/en/_images/tutorial2_staff-section.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial2_staff-section.jpg rename to docs/en/_images/tutorial2_staff-section.jpg diff --git a/docs/en/tutorials/_images/tutorial3_pollform.jpg b/docs/en/_images/tutorial3_pollform.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial3_pollform.jpg rename to docs/en/_images/tutorial3_pollform.jpg diff --git a/docs/en/tutorials/_images/tutorial3_pollresults.jpg b/docs/en/_images/tutorial3_pollresults.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial3_pollresults.jpg rename to docs/en/_images/tutorial3_pollresults.jpg diff --git a/docs/en/tutorials/_images/tutorial3_validation.jpg b/docs/en/_images/tutorial3_validation.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial3_validation.jpg rename to docs/en/_images/tutorial3_validation.jpg diff --git a/docs/en/tutorials/_images/tutorial4_search.jpg b/docs/en/_images/tutorial4_search.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial4_search.jpg rename to docs/en/_images/tutorial4_search.jpg diff --git a/docs/en/tutorials/_images/tutorial4_searchbox.jpg b/docs/en/_images/tutorial4_searchbox.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial4_searchbox.jpg rename to docs/en/_images/tutorial4_searchbox.jpg diff --git a/docs/en/tutorials/_images/tutorial5-completecode-blackcandy.zip b/docs/en/_images/tutorial5-completecode-blackcandy.zip similarity index 100% rename from docs/en/tutorials/_images/tutorial5-completecode-blackcandy.zip rename to docs/en/_images/tutorial5-completecode-blackcandy.zip diff --git a/docs/en/tutorials/_images/tutorial5-completecode.zip b/docs/en/_images/tutorial5-completecode.zip similarity index 100% rename from docs/en/tutorials/_images/tutorial5-completecode.zip rename to docs/en/_images/tutorial5-completecode.zip diff --git a/docs/en/tutorials/_images/tutorial5_addNew.jpg b/docs/en/_images/tutorial5_addNew.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_addNew.jpg rename to docs/en/_images/tutorial5_addNew.jpg diff --git a/docs/en/tutorials/_images/tutorial5_mentor.jpg b/docs/en/_images/tutorial5_mentor.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_mentor.jpg rename to docs/en/_images/tutorial5_mentor.jpg diff --git a/docs/en/tutorials/_images/tutorial5_mentor_creation.jpg b/docs/en/_images/tutorial5_mentor_creation.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_mentor_creation.jpg rename to docs/en/_images/tutorial5_mentor_creation.jpg diff --git a/docs/en/tutorials/_images/tutorial5_mentor_students.jpg b/docs/en/_images/tutorial5_mentor_students.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_mentor_students.jpg rename to docs/en/_images/tutorial5_mentor_students.jpg diff --git a/docs/en/tutorials/_images/tutorial5_module_creation.jpg b/docs/en/_images/tutorial5_module_creation.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_module_creation.jpg rename to docs/en/_images/tutorial5_module_creation.jpg diff --git a/docs/en/tutorials/_images/tutorial5_module_selection.jpg b/docs/en/_images/tutorial5_module_selection.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_module_selection.jpg rename to docs/en/_images/tutorial5_module_selection.jpg diff --git a/docs/en/tutorials/_images/tutorial5_project.jpg b/docs/en/_images/tutorial5_project.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_project.jpg rename to docs/en/_images/tutorial5_project.jpg diff --git a/docs/en/tutorials/_images/tutorial5_project_creation.jpg b/docs/en/_images/tutorial5_project_creation.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_project_creation.jpg rename to docs/en/_images/tutorial5_project_creation.jpg diff --git a/docs/en/tutorials/_images/tutorial5_projects_table.jpg b/docs/en/_images/tutorial5_projects_table.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_projects_table.jpg rename to docs/en/_images/tutorial5_projects_table.jpg diff --git a/docs/en/tutorials/_images/tutorial5_student_tab.jpg b/docs/en/_images/tutorial5_student_tab.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_student_tab.jpg rename to docs/en/_images/tutorial5_student_tab.jpg diff --git a/docs/en/tutorials/_images/tutorial5_students.jpg b/docs/en/_images/tutorial5_students.jpg similarity index 100% rename from docs/en/tutorials/_images/tutorial5_students.jpg rename to docs/en/_images/tutorial5_students.jpg diff --git a/docs/en/installation/_images/webpi-2-a-silverstripe-choice.jpg b/docs/en/_images/webpi-2-a-silverstripe-choice.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-a-silverstripe-choice.jpg rename to docs/en/_images/webpi-2-a-silverstripe-choice.jpg diff --git a/docs/en/installation/_images/webpi-2-b-dependencies.jpg b/docs/en/_images/webpi-2-b-dependencies.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-b-dependencies.jpg rename to docs/en/_images/webpi-2-b-dependencies.jpg diff --git a/docs/en/installation/_images/webpi-2-c-downloading-and-installaing.jpg b/docs/en/_images/webpi-2-c-downloading-and-installaing.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-c-downloading-and-installaing.jpg rename to docs/en/_images/webpi-2-c-downloading-and-installaing.jpg diff --git a/docs/en/installation/_images/webpi-2-d-installer-questions-step1.jpg b/docs/en/_images/webpi-2-d-installer-questions-step1.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-d-installer-questions-step1.jpg rename to docs/en/_images/webpi-2-d-installer-questions-step1.jpg diff --git a/docs/en/installation/_images/webpi-2-e-installer-questions-step2.jpg b/docs/en/_images/webpi-2-e-installer-questions-step2.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-e-installer-questions-step2.jpg rename to docs/en/_images/webpi-2-e-installer-questions-step2.jpg diff --git a/docs/en/installation/_images/webpi-2-f-success-message.jpg b/docs/en/_images/webpi-2-f-success-message.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-f-success-message.jpg rename to docs/en/_images/webpi-2-f-success-message.jpg diff --git a/docs/en/installation/_images/webpi-2-g-silverstripe-homepage.jpg b/docs/en/_images/webpi-2-g-silverstripe-homepage.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-g-silverstripe-homepage.jpg rename to docs/en/_images/webpi-2-g-silverstripe-homepage.jpg diff --git a/docs/en/installation/_images/webpi-2-h-cms-interface-working.jpg b/docs/en/_images/webpi-2-h-cms-interface-working.jpg similarity index 100% rename from docs/en/installation/_images/webpi-2-h-cms-interface-working.jpg rename to docs/en/_images/webpi-2-h-cms-interface-working.jpg diff --git a/docs/en/topics/_images/widget_demo.gif b/docs/en/_images/widget_demo.gif similarity index 100% rename from docs/en/topics/_images/widget_demo.gif rename to docs/en/_images/widget_demo.gif diff --git a/docs/en/topics/_images/widget_demo.gif.png b/docs/en/_images/widget_demo.gif.png similarity index 100% rename from docs/en/topics/_images/widget_demo.gif.png rename to docs/en/_images/widget_demo.gif.png diff --git a/docs/en/changelogs/3.0.10.md b/docs/en/changelogs/3.0.10.md deleted file mode 100644 index 8e06089aa..000000000 --- a/docs/en/changelogs/3.0.10.md +++ /dev/null @@ -1,26 +0,0 @@ -# 3.0.10 - -## Upgrading - - * If relying on partial caching of content between logged in users, be aware that the cache is now automatically - segmented based on both the current member ID, and the versioned reading mode. If this is not an appropriate - method (such as if the same content is served to logged in users within partial caching) then it is necessary - to adjust the config value of `SSViewer.global_key` to something more or less sensitive. - -## Security - - * [BUG Fix issue with versioned dataobjects being cached between stages](https://github.com/silverstripe/silverstripe-framework/commit/4415a75d9304a3930b9c28763fc092299640c685) - See [announcement SS-2014-007](http://www.silverstripe.org/ss-2014-007-confidentiality-breach-can-occur-between-draft-and-live-modes/) - * [BUG Fix encoding of JS redirection script](https://github.com/silverstripe/silverstripe-framework/commit/f8e3bbe3ae3f29f22d85abb73cea033659511168) - See [announcement SS-2014-006](http://www.silverstripe.org/ss-2014-006-xss-in-returnurl-redirection/) - * [Amends solution to SS-2014-006](https://github.com/silverstripe/silverstripe-framework/commit/5b0a96979484fad12e11ce69aef98feda57b321f) - * [FIX Prevent SQLi when no URL filters are applied](https://github.com/silverstripe/silverstripe-cms/commit/114df8a3a5e4800ef7586c5d9c8d79798fd2a11d) - See [announcement SS-2014-004](http://www.silverstripe.org/ss-2014-004-sql-injection-in-sitetree-with-custom-urlsegmentfilter-rules/) - * [FIX Do now allow arbitary class creation in CMS](https://github.com/silverstripe/silverstripe-cms/commit/bf9b22fd4331a6f78cec12a75262f570b025ec2d) - See [announcement SS-2014-005](http://www.silverstripe.org/ss-2014-005-arbitrary-class-creation-in-cms-backend/) - -## General - - * [Rewrote usages of error suppression operator](https://github.com/silverstripe/silverstripe-framework/commit/6d5d3d8cb7e69e0b37471b1e34077211b0f631fe) - -## Changelog - - * [framework](https://github.com/silverstripe/silverstripe-framework/releases/tag/3.0.10) - * [cms](https://github.com/silverstripe/silverstripe-cms/releases/tag/3.0.10) - * [installer](https://github.com/silverstripe/silverstripe-installer/releases/tag/3.0.10) diff --git a/docs/en/changelogs/3.0.11.md b/docs/en/changelogs/3.0.11.md deleted file mode 100644 index 71191bd7e..000000000 --- a/docs/en/changelogs/3.0.11.md +++ /dev/null @@ -1,19 +0,0 @@ -# 3.0.11 - -Minor security release - -## Security - - * 2014-04-16 [9d74bc4](https://github.com/silverstripe/sapphire/commit/9d74bc4) Potential DoS exploit in TinyMCE - See [announcement SS-2014-009](http://www.silverstripe.org/ss-2014-009-potential-dos-exploit-in-tinymce/) - * 2014-05-05 [9bfeffd](https://github.com/silverstripe/silverstripe-framework/commit/9bfeffd) Injection / Filesystem vulnerability in generatesecuretoken - See [announcement SS-2014-010](http://www.silverstripe.org/ss-2014-010-injection-filesystem-vulnerability-in-generatesecuretoken/) - * 2014-05-07 [0099a18](https://github.com/silverstripe/silverstripe-framework/commit/0099a18) Folder filename injection - See [announcement SS-2014-011](http://www.silverstripe.org/ss-2014-011-folder-filename-injection/) - -### Bugfixes - - * 2013-06-20 [f2c4a62](https://github.com/silverstripe/sapphire/commit/f2c4a62) ConfirmedPasswordField used to expose existing hash (Hamish Friedlander) - -## Changelog - - * [framework](https://github.com/silverstripe/silverstripe-framework/releases/tag/3.0.11) - * [cms](https://github.com/silverstripe/silverstripe-cms/releases/tag/3.0.11) - * [installer](https://github.com/silverstripe/silverstripe-installer/releases/tag/3.0.11) diff --git a/docs/en/changelogs/3.0.9.md b/docs/en/changelogs/3.0.9.md deleted file mode 100644 index d734f9f61..000000000 --- a/docs/en/changelogs/3.0.9.md +++ /dev/null @@ -1,12 +0,0 @@ -# 3.0.9 - -## Overview - - * Security: Require ADMIN for ?flush=1&isDev=1 ([SS-2014-001](http://www.silverstripe.org/ss-2014-001-require-admin-for-flush1-and-isdev1)) - * Security: XSS in third party library (SWFUpload) ([SS-2014-002](http://www.silverstripe.org/ss-2014-002-xss-in-third-party-library-swfupload/)) - -## Changelog - - * [framework](https://github.com/silverstripe/silverstripe-framework/releases/tag/3.0.9) - * [cms](https://github.com/silverstripe/silverstripe-framework/releases/tag/3.0.9) - * [installer](https://github.com/silverstripe/silverstripe-framework/releases/tag/3.0.9) \ No newline at end of file diff --git a/docs/en/changelogs/3.1.3.md b/docs/en/changelogs/3.1.3.md deleted file mode 100644 index d43eb42fb..000000000 --- a/docs/en/changelogs/3.1.3.md +++ /dev/null @@ -1,29 +0,0 @@ -# 3.1.3 - -## Overview - - * Security: Require ADMIN for ?flush=1&isDev=1 ([SS-2014-001](http://www.silverstripe.org/ss-2014-001-require-admin-for-flush1-and-isdev1)) - * Security: XSS in third party library (SWFUpload) ([SS-2014-002](http://www.silverstripe.org/ss-2014-002-xss-in-third-party-library-swfupload/)) - * Security: SiteTree.ExtraMeta allows JavaScript for malicious CMS authors ([SS-2014-003](http://www.silverstripe.org/ss-2014-003-extrameta-allows-javascript-for-malicious-cms-authors-/)) - * Better loading performance when using multiple `UploadField` instances - * Option for `force_js_to_bottom` on `Requirements` class (ignoring inline `