diff --git a/docs/en/changelogs/2.3.0.md b/docs/en/changelogs/2.3.0.md
index c34ac607a..af6cf2ff8 100644
--- a/docs/en/changelogs/2.3.0.md
+++ b/docs/en/changelogs/2.3.0.md
@@ -33,7 +33,7 @@ calling `dev/build`. See [#2847](http://open.silverstripe.com/ticket/2847)
### Newsletter moved into new module
-Newsletter functionality has been moved into its own module called **[newsletter](modules/newsletter)**. If you were
+Newsletter functionality has been moved into its own module called **[newsletter](https://github.com/silverstripe-labs/silverstripe-newsletter)**. If you were
previously using this as a feature out of the box with SilverStripe, then you will need to download the userforms module
to continue using it.
@@ -53,12 +53,12 @@ The auth_openid module has been removed from default installation. Please insta
GenericDataAdmin functionality has been moved into its own module called
-**[genericdataadmin](modules/genericdataadmin)**. If you were previously using this as a feature out of the box with
+**[genericdataadmin](https://github.com/silverstripe-labs/silverstripe-genericdataadmin)**. If you were previously using this as a feature out of the box with
SilverStripe, then you will need to download this module to continue using it.
### User Defined Form moved into new module
-User Defined Form has been moved into its own module called **[userforms](modules/userforms)**. If you were previously
+User Defined Form has been moved into its own module called **[userforms](https://github.com/silverstripe/silverstripe-userforms)**. If you were previously
using this as a feature out of the box with SilverStripe, then you will need to download the userforms module to
continue using it.
@@ -105,8 +105,8 @@ Flushing the manifest with `?flush=1` doesn't need to be explicitly added.
* Removed Debug::warning(), use user_error("your message", E_USER_WARNING)
* Removed SiteTree->canView_page(), Use instance-specific SiteTree->canView() instead by checking for `$this->ID`.
* Deprecated URL parameter ?buildmanifest=1 (please use ?flush=1)
-* i18ntextcollector is executed from a new URL. Use http://mysite.com/dev/task/i18nTextCollectorTask instead of
-http://mysite.com/i18ntextcollector
+* i18ntextcollector is executed from a new URL. Use `http://mysite.com/dev/task/i18nTextCollectorTask` instead of
+`http://mysite.com/i18ntextcollector`
### Director::addRules()
@@ -197,7 +197,7 @@ also that the DOCTYPE altering, which was a frequent cause of pain, only execute
* Removed deprecated File::loadallcontent(), use Upload class
* Image->URL returns relative instead of absolute URL. Use Image->AbsoluteURL instead.
* Moved DataReport and SQLReport into the ecommerce module. If you're using these classes, please download the
-[ecommerce module](modules/ecommerce).
+[ecommerce module](http://addons.silverstripe.org/add-ons?search=ecommerce).
### Default mysite/_config.php
diff --git a/docs/en/changelogs/2.4.0.md b/docs/en/changelogs/2.4.0.md
index 8d3215fa9..c8d2c4dbf 100644
--- a/docs/en/changelogs/2.4.0.md
+++ b/docs/en/changelogs/2.4.0.md
@@ -124,8 +124,7 @@ still contained within the `ClassName.php'' file (no `SS_` prefix)
### Nested URLs enabled by default
When using our installer, the "nested URLs" feature will be enabled by default by a setting in *mysite/_config.php* (see
-[blog
-post](http://www.silverstripe.org/preview-of-silverstripe-2-4-hierarchical-urls-a-developer-community-contribution/)).
+[blog post](https://www.silverstripe.org/nz/blog/preview-of-silverstripe-2-4-hierarchical-urls-a-developer-community-contribution/)).
You can enable it manually for existing websites. Existing URLs will automatically change to the nested format without
republication (your old URLs should redirect automatically).
diff --git a/docs/en/changelogs/2.4.1.md b/docs/en/changelogs/2.4.1.md
index 8745e9c56..f9caeed93 100644
--- a/docs/en/changelogs/2.4.1.md
+++ b/docs/en/changelogs/2.4.1.md
@@ -98,8 +98,7 @@ Example: Setting German date formats in *mysite/_config.php*:
i18n::set_time_format('HH:mm');
-Please note that these form fields use [ISO date
-format](http://framework.zend.com/manual/en/zend.date.constants.html#zend.date.constants.selfdefinedformats), not PHP's
+Please note that these form fields use [ISO date format](http://framework.zend.com/manual/1.12/en/zend.date.constants.html#zend.date.constants.selfdefinedformats), not PHP's
built-in [date()](http://nz.php.net/manual/en/function.date.php).
To set the locale and date/time formats for all existing members, use the following SQL (adjust to your preferred
diff --git a/docs/en/changelogs/2.4.12.md b/docs/en/changelogs/2.4.12.md
index 9bdd26b3c..dbea4a38f 100644
--- a/docs/en/changelogs/2.4.12.md
+++ b/docs/en/changelogs/2.4.12.md
@@ -4,15 +4,15 @@
### Security: Privilege escalation through Group hierarchy setting (SS-2013-003)
-See [announcement](http://www.silverstripe.org/ss-2013-003-privilege-escalation-through-group-hierarchy-setting/)
+See [announcement](https://www.silverstripe.org/download/security-releases/ss-2013-003-privilege-escalation-through-group-hierarchy-setting/)
### Security: Privilege escalation through Group and Member CSV upload (SS-2013-004)
-See [announcement](http://www.silverstripe.org/ss-2013-004-privilege-escalation-through-group-and-member-csv-upload/)
+See [announcement](https://www.silverstripe.org/download/security-releases/ss-2013-004-privilege-escalation-through-group-and-member-csv-upload/)
### Security: Privilege escalation through APPLY_ROLES assignment (SS-2013-005)
-See [announcement](http://www.silverstripe.org/ss-2013-005-privilege-escalation-through-apply-roles-assignment/)
+See [announcement](https://www.silverstripe.org/download/security-releases/ss-2013-005-privilege-escalation-through-apply-roles-assignment/)
## Changelog
diff --git a/docs/en/changelogs/2.4.13.md b/docs/en/changelogs/2.4.13.md
index 680e16307..ec78c4e48 100644
--- a/docs/en/changelogs/2.4.13.md
+++ b/docs/en/changelogs/2.4.13.md
@@ -4,11 +4,11 @@
### Security: XSS in form validation errors (SS-2013-008)
-See [announcement](http://www.silverstripe.org/ss-2013-008-xss-in-form-validation-errors/)
+See [announcement](https://www.silverstripe.org/download/security-releases/ss-2013-008-xss-in-numericfield-validation/)
### Security: XSS in CMS "Pages" section (SS-2013-009)
-See [announcement](http://www.silverstripe.org/ss-2013-009-xss-in-cms-pages-section/)
+See [announcement](https://www.silverstripe.org/download/security-releases/ss-2013-009-xss-in-cms-pages-section/)
### API: Form validation message no longer allow HTML
diff --git a/docs/en/changelogs/2.4.3.md b/docs/en/changelogs/2.4.3.md
index 5acada27d..f37a0857d 100644
--- a/docs/en/changelogs/2.4.3.md
+++ b/docs/en/changelogs/2.4.3.md
@@ -26,8 +26,8 @@ your site to see the environment information.
Forum references of where the community have had issues:
- * http://silverstripe.org/installing-silverstripe/show/14878
- * http://www.silverstripe.org/general-questions/show/14861
+ * http://www.silverstripe.org/community/forums/general-questions/show/14878
+ * http://www.silverstripe.org/community/forums/installing-silverstripe/show/14878
### Important: Add manual request forgery protection to destructive controller actions
diff --git a/docs/en/changelogs/2.4.6.md b/docs/en/changelogs/2.4.6.md
index 32995e0ac..824a75f5d 100644
--- a/docs/en/changelogs/2.4.6.md
+++ b/docs/en/changelogs/2.4.6.md
@@ -29,7 +29,7 @@ Please note that all these files are still exposed through the webserver if the
regardless of the `ShowInSearch` setting. To fully secure uploaded files,
you can apply protection on a webserver level (e.g. `.htaccess`/`web.config` configuration).
Alternatively, you can proxy these files through your own permission control system
-rather than exposing them directly through the webserver (e.g. with the ["securefiles" module](http://www.silverstripe.org/secure-files/)).
+rather than exposing them directly through the webserver (e.g. with the ["securefiles" module](http://addons.silverstripe.org/add-ons/silverstripe/secureassets/)).
One common way to allow user-uploaded files is the ["userforms" module](http://www.silverstripe.org/user-forms-module/). This module has been altered to mark all uploaded files with `ShowInSearch`=0 by default.
@@ -91,7 +91,7 @@ which has the same bugfixes applied.
* 2011-09-15 [83ad8d4](https://github.com/silverstripe/sapphire/commit/83ad8d4) Added File.ShowInSearch flag to mirror the existing SiteTree.ShowInSearch flag - e.g. useful to limit visibility of user-uploaded files. Enforced in MySQLDatabase->searchEngine(). (Ingo Schommer)
* 2011-05-26 [9d344a0](https://github.com/silverstripe/sapphire/commit/9d344a0) Allowing filtered arguments on specific functions like mysql_connect() in SS_Backtrace (Ingo Schommer)
* 2011-02-11 [c6992f3](https://github.com/silverstripe/sapphire/commit/c6992f3) Adjusted from-source documentation to github and piston (Ingo Schommer)
- * 2011-02-07 [8bd01d6](https://github.com/silverstripe/sapphire/commit/8bd01d6) Added sapphire/docs (migrated from https://github.com/chillu/silverstripe-doc-restructuring) (Ingo Schommer)
+ * 2011-02-07 [8bd01d6](https://github.com/silverstripe/sapphire/commit/8bd01d6) Added sapphire/docs (Ingo Schommer)
* 2011-02-02 [590dbb5](https://github.com/silverstripe/sapphire/commit/590dbb5) Made it possible to attach utility links to a ComplexTableField beyond just exporting (e.g. printing). (ajshort)
### Bugfixes
diff --git a/docs/en/changelogs/beta/2.4.0-beta1.md b/docs/en/changelogs/beta/2.4.0-beta1.md
index ddfa3bbbe..45038e464 100644
--- a/docs/en/changelogs/beta/2.4.0-beta1.md
+++ b/docs/en/changelogs/beta/2.4.0-beta1.md
@@ -357,7 +357,7 @@
* [rev:96551] getting rid of problem with disappearing buttons on the initial page load (not ajax). The initialization was called twice on the CMSForm, and on the second call the ajaxActionsAtTop was removing the buttons - now the buttons are removed only when there is something to be added.
* [rev:96443] Check for functions existence
* [rev:96441] Check for empty
- * [rev:96427] Fixed reloading of TableFields after ajax save. (http://mingle.silverstripe.com/projects/air_nz_cms_enhancements/cards/154) (from r88921)
+ * [rev:96427] Fixed reloading of TableFields after ajax save. (from r88921)
* [rev:96363] Fix multiselect tree selection, since changes in r91342
* [rev:96362] Readonly TreeMultiSelectField has form linked properly
* [rev:95973] #4140 When clicking a tree node that was just dragged, "Stack overflow" error would be given in IE. Firebug would report "Too much recursion"
diff --git a/docs/en/changelogs/index.md b/docs/en/changelogs/index.md
index 5955fdbf3..ddc548e48 100644
--- a/docs/en/changelogs/index.md
+++ b/docs/en/changelogs/index.md
@@ -62,8 +62,4 @@ For information on how to upgrade to newer versions consult the [upgrading](/ins
* [2.4.0-beta1](beta/2.4.0-beta1) - 29 January 2010
* [2.4.0-alpha1](alpha/2.4.0-alpha1) - 11 November 2009
* [2.3.11-rc1](rc/2.3.11-rc1) - 31 January 2011
- * [2.3.10-rc2](rc/2.3.10-rc2) - 20 December 2010
- * [2.3.10-rc1](rc/2.3.10-rc1) - 10 December 2010
- * [2.3.9-rc2](rc/2.3.9-rc2) - 4 November 2010
- * [2.3.9-rc1](rc/2.3.9-rc1) - 1 November 2010
* [2.3.8-rc1](rc/2.3.8-rc1) - 16 July 2010
diff --git a/docs/en/howto/csv-import.md b/docs/en/howto/csv-import.md
index 607234d23..0d5fadec0 100644
--- a/docs/en/howto/csv-import.md
+++ b/docs/en/howto/csv-import.md
@@ -197,5 +197,5 @@ Sample implementation of a custom loader. Assumes a CSV-file in a certain format
## Related
-* [api:CsvParser]
* [api:ModelAdmin]
+* [api:CSVParser]
diff --git a/docs/en/index.md b/docs/en/index.md
index 0e81374ca..f94f244a9 100644
--- a/docs/en/index.md
+++ b/docs/en/index.md
@@ -18,11 +18,11 @@ Please read our [guide to contributing documentation](misc/contributing#writing-
* [Introduction to PHP5 (zend.com)](http://devzone.zend.com/node/view/id/627)
* [Tutorials](tutorials)
- * [1. Building a basic site](tutorials/1-building-a-basic-site)
- * [2. Extending a basic site](tutorials/2-extending-a-basic-site)
- * [3. Forms](tutorials/3-forms)
- * [4. Site Search](tutorials/4-site-search)
- * [5. Relationships](tutorials/5-dataobject-relationship-management)
+ * [Building a basic site](tutorials/building-a-basic-site)
+ * [Extending a basic site](tutorials/extending-a-basic-site)
+ * [Forms](tutorials/forms)
+ * [Site Search](tutorials/site-search)
+ * [Relationships](tutorials/dataobject-relationship-management)
* [Common Problems](installation/common-problems)
### Level 2: SilverStripe fundamentals
diff --git a/docs/en/installation/from-source.md b/docs/en/installation/from-source.md
index 2a41303ad..e4d3289c7 100644
--- a/docs/en/installation/from-source.md
+++ b/docs/en/installation/from-source.md
@@ -39,7 +39,7 @@ These options aren't very clear cut, you can mix-and-match approaches to suit yo
### Requirements ###
* A **git client** to check out the core repositories, see ["Getting started with Git and Github"](http://help.github.com/).
- * A **webserver+database environment** to run SilverStripe (see [server requirements](/misc/server-requirements)).
+ * A **webserver+database environment** to run SilverStripe (see [server requirements](server-requirements)).
* The **php commandline utility** (to run scripts in the `tools/` folder)
* (optional) **Piston** ([website](http://piston.rubyforge.org)): A thirdparty tool to manage files from an external repository. It is our recommended way to start your own project, and still provide an easy way to update from our repository. You will need Ruby and the ["Rubygems"](http://rubygems.org/) package manager to install it: `gem install piston`
Note for Windows users: The installation process assumes a Linux/Unix/OSX system.
diff --git a/docs/en/installation/index.md b/docs/en/installation/index.md
index 58d2a328b..f75b4f10b 100644
--- a/docs/en/installation/index.md
+++ b/docs/en/installation/index.md
@@ -32,4 +32,4 @@ If you run into trouble, see [common-problems](common-problems) or post to the
## Related
* [Module installation](../topics/modules)
- * [Suggested web hosts](http://doc.silverstripe.org/old/suggested-web-hosts)
+ * [Suggested web hosts](http://www.silverstripe.org/community/forums/archive/show/393)
diff --git a/docs/en/installation/windows-manual-iis-6.md b/docs/en/installation/windows-manual-iis-6.md
index 84476d6fb..afcecb9dd 100644
--- a/docs/en/installation/windows-manual-iis-6.md
+++ b/docs/en/installation/windows-manual-iis-6.md
@@ -109,12 +109,12 @@ You should see some output showing the PHP version. If you get something else, o
## Install SilverStripe
- - [Download SilverStripe](http://silverstripe.org/downloads)
+ - [Download SilverStripe](http://www.silverstripe.org/download/release-archive/)
- Extract the download contents to **C:\Inetpub\wwwroot\silverstripe**
- Open **inetmgr.exe**
- Right click **Web Sites** and go to **New** > **Web Site**
- Fill in all appropriate details. If you enter **(All Unassigned)** for the IP address field, make sure the port is something other than **80**, as this will conflict with "Default Web Site" in IIS. When asked for path, enter **C:\Inetpub\wwwroot\silverstripe**
- - Browse to **http://localhost:8888** or to the IP address you just assigned in your browser.
+ - Browse to `http://localhost:8888` or to the IP address you just assigned in your browser.
An installation screen should appear. There may be some permission problems, which you should be able to correct by assigning the **Users** group write permissions by right clicking files / folders in Windows Explorer and going to **Properties** then the **Security** tab.
@@ -147,4 +147,4 @@ Friendly URLs should now be working when you browse to your site.
Remember that IIRF works on a per-virtual host basis. This means for each site you want IIRF to work for, you need to add a new entry to **Web Sites** in **inetmgr.exe**.
-Thanks to **kcd** for the rules: [http://www.silverstripe.org/installing-silverstripe/show/10488#post294415](http://www.silverstripe.org/installing-silverstripe/show/10488#post294415)
\ No newline at end of file
+Thanks to **kcd** for the rules: [http://www.silverstripe.org/community/forums/installing-silverstripe/show/10488](http://www.silverstripe.org/community/forums/installing-silverstripe/show/10488)
diff --git a/docs/en/installation/windows-manual-iis-7.md b/docs/en/installation/windows-manual-iis-7.md
index 800520322..a8340c900 100755
--- a/docs/en/installation/windows-manual-iis-7.md
+++ b/docs/en/installation/windows-manual-iis-7.md
@@ -12,7 +12,7 @@ These versions of Windows will **NOT** work with this guide:
* Windows Server 2003
* Windows XP
-**IMPORTANT**: Windows Server 2003 users should [follow this guide](http://doc.silverstripe.org/installation-on-windows-server-2003-iis-6) to installing SilverStripe.
+**IMPORTANT**: Windows Server 2003 users should [follow this link](https://www.silverstripe.org/blog/installing-on-windows-now-easier-thanks-to-microsoft-web-platform-installer/) to instal SilverStripe.
The goal is to get a good working web server platform so that one or more SilverStripe projects can be easily deployed onto the server using SVN.
@@ -133,7 +133,7 @@ Now that we've got the software installed, it's time to install the SilverStripe
Create a new file called **_ss_environment.php** in **C:\inetpub\wwwroot**
-This file tells SilverStripe projects installed on this machine which database server and credentials, as well as anything environment specific. [More information on setting up the environment file](environment-management) is available.
+This file tells SilverStripe projects installed on this machine which database server and credentials, as well as anything environment specific. [More information on setting up the environment file](../topics/environment-management) is available.
Inside the newly created _ss_environment.php file, insert the following code:
@@ -172,7 +172,7 @@ First of all, install a copy of TortoiseSVN and then follow these steps:
## Start SilverStripe installer
-Open a browser and point it to http://localhost/ss24
+Open a browser and point it to `http://localhost/ss24`
If an installation screen shows up, congratulations! We're very close now.
@@ -201,7 +201,7 @@ Now that it's installed, all your PHP scripts should be executed considerably fa
To check if it's installed, have a look at the phpinfo() output and look for wincache.
-To examine how it's being cached, visit http://localhost/wincache.php and enter the login details you set up above. This page will show you which files are currently cached and some basic reports of how the module is operating.
+To examine how it's being cached, visit `http://localhost/wincache.php` and enter the login details you set up above. This page will show you which files are currently cached and some basic reports of how the module is operating.
## Configuring PHP and IIS for production environments
@@ -264,7 +264,7 @@ To find out who the current user is, try echoing the result of get_current_user(
**Q: When I try to access my SilverStripe site for the first time, I get a 404 error**
-**A:** Try accessing dev/build?username=admin&password=password at the end of the URL you requested. For example, http://localhost/ss24/dev/build?username=admin&password=password. This will ensure the database is built properly
+**A:** Try accessing dev/build?username=admin&password=password at the end of the URL you requested. For example, `http://localhost/ss24/dev/build?username=admin&password=password`. This will ensure the database is built properly
**Q: How do I make IIS expose errors instead of giving a generic 500 or 404 page?**
@@ -272,7 +272,7 @@ To find out who the current user is, try echoing the result of get_current_user(
Also, make sure that display_errors, display_startup_errors and html_errors in are set to On in php.ini.
-**Q: I get a 500 server error when trying to access the SilverStripe site. e.g. http://localhost/ss24**
+**Q: I get a 500 server error when trying to access the SilverStripe site. e.g. `http://localhost/ss24`**
**A:** One of the reasons why this could be happening is the web.config file inside the ss24 directory has XML that is not well formed. Make sure there are NO spaces before the starting tag, and make sure that everything is tabbed out correctly.
diff --git a/docs/en/installation/windows-manual-iis.md b/docs/en/installation/windows-manual-iis.md
index 3d2127b19..ae60ee70d 100644
--- a/docs/en/installation/windows-manual-iis.md
+++ b/docs/en/installation/windows-manual-iis.md
@@ -28,4 +28,4 @@ Instructions are available for [installing PHP on IIS 6](http://learn.iis.net/pa
On Windows XP, you need to disable **Check that file exists**. See [installation-on-windows-pi](windows-pi) for more information.
-Matthew Poole has expanded on these instructions [with a tutorial](http://cubiksoundz.blogspot.com/2008/12/tech-note-installing-silverstripe-cms.html).
+[See also](http://www.silverstripe.org/community/forums/installing-silverstripe/show/8305)
diff --git a/docs/en/installation/windows-pi.md b/docs/en/installation/windows-pi.md
index 83a1ca916..c78827d99 100644
--- a/docs/en/installation/windows-pi.md
+++ b/docs/en/installation/windows-pi.md
@@ -5,7 +5,7 @@
## Installing SilverStripe
* Download and run Microsoft Web Platform Installer (WebPI):
-[![](http://www.silverstripe.org/assets/downloads/webpi/wpiBadgeGreen.jpg)](http://www.microsoft.com/web/gallery/install.aspx?appsxml=www.microsoft.com%2fweb%2fwebpi%2f2.0%2fWebApplicationList.xml&appid=105)
+(http://www.microsoft.com/web/gallery/install.aspx?appsxml=www.microsoft.com%2fweb%2fwebpi%2f2.0%2fWebApplicationList.xml&appid=105)
* In WebPI, select 'SilverStripe' from the 'Content Management System' link
* Select install. It will install dependancies like MySQL and PHP if you don't have these installed already.
@@ -33,10 +33,9 @@ necessary for URLs of the form http://localhost/silverstripe/index.php/about-us/
## Support
-* http://www.silverstripe.org/installing-on-windows-now-easier-thanks-to-microsoft-web-platform-installer/ (This shows
-a beta version of the software)
+* https://www.silverstripe.org/blog/installing-on-windows-now-easier-thanks-to-microsoft-web-platform-installer/
* Microsoft Forum: http://forums.iis.net/1155.aspx
-* SilverStripe Installation Issues Forum: http://silverstripe.org/installing-silverstripe/
+* SilverStripe Installation Issues Forum: http://www.silverstripe.org/community/forums/installing-silverstripe/
## Screenshots
diff --git a/docs/en/misc/contributing.md b/docs/en/misc/contributing.md
index 14682887e..64faa593c 100644
--- a/docs/en/misc/contributing.md
+++ b/docs/en/misc/contributing.md
@@ -30,7 +30,7 @@ the archive downloads, typically using a version control system like "git" or "[
General guidelines:
* Adhere to our [coding conventions](coding-conventions)
-* If your patch is extensive, discuss it first on the [silverstripe forum](http///www.silverstripe.org/forums/) (ideally before doing any serious coding)
+* If your patch is extensive, discuss it first on the [silverstripe forum](http://www.silverstripe.org/forums/) (ideally before doing any serious coding)
* When working on existing tickets, assign them to you and provide status updates through ticket comments
* Check your patches against the latest "trunk" or "master", as well as the latest release.
Please not that the latest stable release will often not be sufficient! (of all modules)
diff --git a/docs/en/reference/advanced-templates.md b/docs/en/reference/advanced-templates.md
index 9942f95e1..1fcdd80f3 100644
--- a/docs/en/reference/advanced-templates.md
+++ b/docs/en/reference/advanced-templates.md
@@ -79,7 +79,7 @@ If the method/field returned is an iterator such as a `[api:DataObject]`, then t
each element of that iterator. This is the cornerstone of all menu and list generation in SilverStripe.
In this example, `Menu(1)` returns a `[api:DataObjectSet]` listing each top level main menu item (for more info on `Menu(1)`:
-[Making a Navigation System](/tutorials/1-building-a-basic-site#Making-a-Navigation-System)). The ``
+[Making a Navigation System](/tutorials/building-a-basic-site#Making-a-Navigation-System)). The ``
tag is repeated once for each main menu item, and the `$Link` and `$Title` values for each menu item is substituted in.
:::ss
diff --git a/docs/en/reference/searchcontext.md b/docs/en/reference/searchcontext.md
index 8f4f88130..4de8ffb91 100644
--- a/docs/en/reference/searchcontext.md
+++ b/docs/en/reference/searchcontext.md
@@ -127,7 +127,7 @@ The change is in **$results = $this->getResults($data);**, because you are using
Another thing you cant forget is to check the name of the singleton you are using in your project. the example uses
**MyDataObject**, you need to change it for the one you are using
-For more information on how to paginate your results within the template, see [Tutorial: Site Search](/tutorials/4-site-search).
+For more information on how to paginate your results within the template, see [Tutorial: Site Search](/tutorials/site-search).
### The Pagination Template
@@ -189,4 +189,4 @@ See `[api:SearchFilter]` API Documentation
* `[api:ModelAdmin]`
* `[api:RestfulServer]`
-* [Tutorial: Site Search](/tutorials/4-site-search)
+* [Tutorial: Site Search](/tutorials/site-search)
diff --git a/docs/en/reference/urlvariabletools.md b/docs/en/reference/urlvariabletools.md
index 789b082f8..4da1eb852 100644
--- a/docs/en/reference/urlvariabletools.md
+++ b/docs/en/reference/urlvariabletools.md
@@ -69,7 +69,7 @@ Append the option and corresponding value to your URL in your browser's address
## Security Redirects
You can set an URL to redirect back to after a [Security](/topics/security) action. See the section on [URL
-Redirections](security#redirect_back_to_another_page_after_login) for more information and examples.
+Redirections](reference/director/#redirection) for more information and examples.
| URL Variable | | Values | | Description |
| ------------ | | ------ | | ----------- |
diff --git a/docs/en/topics/commandline.md b/docs/en/topics/commandline.md
index e658998a1..ccb5045a5 100644
--- a/docs/en/topics/commandline.md
+++ b/docs/en/topics/commandline.md
@@ -53,7 +53,7 @@ To work this out, you should add lines of this form to your [_ss_environment.php
What the line says is that any Folder under /Users/sminnee/Sites/ can be accessed in a web browser from
-http://localhost. For example, /Users/sminnee/Sites/mysite will be available at http://localhost/mysite.
+http://localhost. For example, /Users/sminnee/Sites/mysite will be available at `http://localhost/mysite`.
You can add multiple file to url mapping definitions. The most specific mapping will be used. For example:
diff --git a/docs/en/topics/debugging.md b/docs/en/topics/debugging.md
index 16df09ac5..cd983e7ec 100644
--- a/docs/en/topics/debugging.md
+++ b/docs/en/topics/debugging.md
@@ -134,8 +134,8 @@ with core modules, such as the templates.
#### Unit Testing
-A good way to avoid writing the same test stubs and var_dump() commands over and over again is to codify them as [unit
-tests](testing-guide). This way you integrate the debugging process right into your quality control, and eventually in
+A good way to avoid writing the same test stubs and var_dump() commands over and over again is to codify them as
+[unit tests](/topics/testing/). This way you integrate the debugging process right into your quality control, and eventually in
the development effort itself as "test-driven development".
#### Profiling
diff --git a/docs/en/topics/i18n.md b/docs/en/topics/i18n.md
index dc4f0a1b9..cd59a1dfd 100644
--- a/docs/en/topics/i18n.md
+++ b/docs/en/topics/i18n.md
@@ -70,9 +70,9 @@ to write your own logic for any frontend output.
i18n::set_date_format('dd.MM.YYYY');
i18n::set_time_format('HH:mm');
-Most localization routines in SilverStripe use the [http://framework.zend.com/manual/en/zend.date.html](Zend_Date API).
+Most localization routines in SilverStripe use the [Zend_Date API](http://framework.zend.com/manual/1.12/en/zend.date.overview.html).
This means all formats are defined in
-[http://framework.zend.com/manual/en/zend.date.constants.html#zend.date.constants.selfdefinedformats](ISO date format),
+[ISO date format](http://framework.zend.com/manual/1.12/en/zend.date.constants.html#zend.date.constants.selfdefinedformats),
not PHP's built-in [date()](http://nz.php.net/manual/en/function.date.php).
### i18n in Form Fields
diff --git a/docs/en/topics/module-development.md b/docs/en/topics/module-development.md
index c0759d10b..508b177ae 100644
--- a/docs/en/topics/module-development.md
+++ b/docs/en/topics/module-development.md
@@ -51,8 +51,8 @@ adherence to conventions, writing documentation, and releasing updates. See [con
**Useful Links:**
-* [Modules](modules)
-* [Module Release Process](module-release-process)
+* [Modules](/topics/modules)
+* [Module Release Process](/misc/module-release-process)
* [Debugging methods](/topics/debugging)
* [URL Variable Tools](/reference/urlvariabletools) - Lists a number of “page options” , “rendering tools” or “special
URL variables” that you can use to debug your sapphire applications
diff --git a/docs/en/topics/modules.md b/docs/en/topics/modules.md
index e06c8dace..72c413404 100644
--- a/docs/en/topics/modules.md
+++ b/docs/en/topics/modules.md
@@ -89,5 +89,5 @@ Exit the editor and then run
**Useful Links:**
-* [Modules](module-developement)
-* [Module Release Process](module-release-process)
\ No newline at end of file
+* [Module Development](/topics/module-development)
+* [Module Release Process](/topics/module-release-process)
diff --git a/docs/en/topics/page-types.md b/docs/en/topics/page-types.md
index 3fc936413..b73a69c40 100644
--- a/docs/en/topics/page-types.md
+++ b/docs/en/topics/page-types.md
@@ -10,7 +10,7 @@ Page Types are the basic building blocks of any SilverStripe website. A page typ
when the form is submitted
All the pages on the base installation are of the page type "Page". See
-[tutorial:2-extending-a-basic-site](/tutorials/2-extending-a-basic-site) for a good introduction to page-types.
+[tutorial:extending-a-basic-site](/tutorials/extending-a-basic-site) for a good introduction to page-types.
Each page type on your website is a sub-class of the SiteTree class. Usually, you’ll define a class called ‘Page’
and use this template to lay out the basic design elements that don’t change. Take a look at mysite/templates/Page.ss.
@@ -72,7 +72,7 @@ model works.
## Adding formfields and tabs
-See [form](/topics/forms) and [tutorial:2-extending-a-basic-site](/tutorials/2-extending-a-basic-site)
+See [form](/topics/forms) and [tutorial:extending-a-basic-site](/tutorials/extending-a-basic-site)
## Removing inherited form fields and tabs
@@ -125,8 +125,8 @@ required on a certain page-type.
This will also work if you want to remove a whole tab e.g. $fields->removeByName('Metadata'); will remove the whole
Metadata tab.
-For more information on forms, see [form](/topics/forms), [tutorial:2-extending-a-basic-site](/tutorials/2-extending-a-basic-site)
-and [tutorial:3-forms](/tutorials/3-forms).
+For more information on forms, see [form](/topics/forms), [tutorial:extending-a-basic-site](/tutorials/extending-a-basic-site)
+and [tutorial:forms](/tutorials/forms).
## Creating a new page:
diff --git a/docs/en/topics/search.md b/docs/en/topics/search.md
index 769e195ba..2b4bbf38b 100644
--- a/docs/en/topics/search.md
+++ b/docs/en/topics/search.md
@@ -3,7 +3,7 @@
## Searching for Pages (and Files)
Fulltext search for page content (and other attributes like "Title" or "MetaTags") can be easily added to SilverStripe.
-See [Tutorial: Site Search](/tutorials/4-site-search) for details.
+See [Tutorial: Site Search](/tutorials/site-search) for details.
## Searching for DataObject's
@@ -22,7 +22,7 @@ dedicated search service like the [sphinx module](http://silverstripe.org/sphinx
* `[api:ModelAdmin]`
* `[api:RestfulServer]`
-* [Tutorial: Site Search](/tutorials/4-site-search)
+* [Tutorial: Site Search](/tutorials/site-search)
* [SearchContext](/reference/searchcontext)
* [genericviews module](http://silverstripe.org/generic-views-module)
* [sphinx module](http://silverstripe.org/sphinx-module)
diff --git a/docs/en/topics/templates.md b/docs/en/topics/templates.md
index 04c1f3dcd..31829e0c8 100644
--- a/docs/en/topics/templates.md
+++ b/docs/en/topics/templates.md
@@ -73,7 +73,7 @@ TODO Explain SiteTree properties and SiteTree->MetaTags() overloading
### Including CSS and JavaScript files
See [CSS](/topics/css) and [Javascript](/topics/javascript) topics for individual including of files and
-[requirements](reference/requirements) for good examples of including both Javascript and CSS files.
+[requirements](../reference/requirements) for good examples of including both Javascript and CSS files.
### Layout Tag
@@ -120,5 +120,5 @@ For more information about templates go to the [Advanced Templates](/reference/a
* [themes](/topics/themes)
* [widgets](/topics/widgets)
* [images](/reference/image)
-* [Tutorial 1: Building a basic site](/tutorials/1-building-a-basic-site)
-* [Tutorial 2: Extending a basic site](/tutorials/2-extending-a-basic-site)
\ No newline at end of file
+* [Building a basic site](/tutorials/building-a-basic-site)
+* [Extending a basic site](/tutorials/extending-a-basic-site)
\ No newline at end of file
diff --git a/docs/en/topics/testing/testing-guide-troubleshooting.md b/docs/en/topics/testing/testing-guide-troubleshooting.md
index 3c615ce0b..505eea20c 100644
--- a/docs/en/topics/testing/testing-guide-troubleshooting.md
+++ b/docs/en/topics/testing/testing-guide-troubleshooting.md
@@ -1,7 +1,5 @@
# Troubleshooting
-Part of the [SilverStripe Testing Guide](testing-guide).
-
## I can't run my new test class
If you've just added a test class, but you can't see it via the web interface, chances are, you haven't flushed your
diff --git a/docs/en/topics/theme-development.md b/docs/en/topics/theme-development.md
index 29e7a283b..b03ea2292 100644
--- a/docs/en/topics/theme-development.md
+++ b/docs/en/topics/theme-development.md
@@ -2,7 +2,7 @@
## Introduction
-[Tutorial 1](/tutorials/1-building-a-basic-site#templates) shows you how to create page templates. This guide will help
+The first [Tutorial](/tutorials/building-a-basic-site#templates) shows you how to create page templates. This guide will help
you create your own SilverStripe website theme.
Developing your own theme in SilverStripe is a piece of cake thanks to a very straight forward and clean templating
@@ -40,7 +40,7 @@ Layout template.
### HTML Templates
Once you have created your folders you need to start to fill it out with a couple 'Core' files. First and most
-importantly is we need a HTML template for our design. Read the [Tutorial 1](/tutorials/1-building-a-basic-site#templates)
+importantly is we need a HTML template for our design. Read the [Tutorial 1](/tutorials/building-a-basic-site#templates)
and the HTML pages for more in-depth discussion about the HTML templates and how they work. At the very least
we need a Page.ss file (note the .ss extenstion - Don't worry its just HTML and any text editor will still read it). So
go ahead and create 2 Page.ss files. One in templates, the other in Layout.
@@ -111,7 +111,7 @@ All you have to do now is tell your site to use your new theme - This is defined
Go to yoursite.com/?flush=1 and check it out. You should be using your new theme! Not really that awesome or amazing is
it? Next we need to add some CSS Magic!
-See [Templates](/reference/themes) for more information about templates.
+See [Templates](/topics/templates) for more information about templates.
### CSS Files
diff --git a/docs/en/tutorials/1-building-a-basic-site.md b/docs/en/tutorials/building-a-basic-site.md
similarity index 98%
rename from docs/en/tutorials/1-building-a-basic-site.md
rename to docs/en/tutorials/building-a-basic-site.md
index 7b6e95e57..c0254393d 100644
--- a/docs/en/tutorials/1-building-a-basic-site.md
+++ b/docs/en/tutorials/building-a-basic-site.md
@@ -1,4 +1,4 @@
-# Tutorial 1 - Building a Basic Site
+# Building a Basic Site
## Overview
@@ -46,7 +46,7 @@ When designing your site you should only need to modify the *mysite*, *themes* a
## Using the CMS
-The CMS is the area in which you can manage your site content. You can access the cms at http://localhost/admin. You
+The CMS is the area in which you can manage your site content. You can access the cms at `http://localhost/admin`. You
will be presented with a login screen. You can login with the details you provided at installation. After logging in you
should be greeted with the CMS, pictured below (we've entered some test content).
@@ -76,7 +76,7 @@ behavior. We will explain page types in more depth as we progress; for now, make
**SilverStripe's virtual URLs**
While you are on the draft or live SilverStripe site, you may notice the URLs point to files that don't exist, e.g.
-http://localhost/contact. SilverStripe uses the URL field on the Meta-Data tab of the editor to look up the appropriate
+`http://localhost/contact`. SilverStripe uses the URL field on the Meta-Data tab of the editor to look up the appropriate
page in the database.
![](_images/url.jpg)
@@ -466,11 +466,11 @@ to build a basic but fully functional site. You have also been briefly introduce
correspond to templates and subtemplates. By using these templates, you have seen how to customize the site content
according to the page type of the page you are displaying.
-In the next tutorial, [Extending a Basic Site](2-extending-a-basic-site), we will explore page types on a
+In the next tutorial, [Extending a Basic Site](extending-a-basic-site), we will explore page types on a
deeper level, and see how you can customize your own page types to extend SilverStripe to do much more interesting
things.
-[Next Tutorial >>](2-extending-a-basic-site)
+[Next Tutorial >>](extending-a-basic-site)
## Books on SilverStripe
diff --git a/docs/en/tutorials/5-dataobject-relationship-management.md b/docs/en/tutorials/dataobject-relationship-management.md
similarity index 99%
rename from docs/en/tutorials/5-dataobject-relationship-management.md
rename to docs/en/tutorials/dataobject-relationship-management.md
index 517024a23..d87f6292c 100644
--- a/docs/en/tutorials/5-dataobject-relationship-management.md
+++ b/docs/en/tutorials/dataobject-relationship-management.md
@@ -1,8 +1,8 @@
-# Tutorial 5 - Dataobject Relationship Management
+# Dataobject Relationship Management
## Overview
-In the [second tutorial](2-extending-a-basic-site) we have learned how to add extrafields to a page type thanks
+In the [second tutorial](extending-a-basic-site) we have learned how to add extrafields to a page type thanks
to the *$db* array and how to add an image using the *$has_one* array and so create a relationship between a table and
the *Image* table by storing the id of the respective *Image* in the first table. This tutorial explores all this
relations between [DataObjects](/topics/datamodel#relations) and the way to manage them easily.
diff --git a/docs/en/tutorials/2-extending-a-basic-site.md b/docs/en/tutorials/extending-a-basic-site.md
similarity index 99%
rename from docs/en/tutorials/2-extending-a-basic-site.md
rename to docs/en/tutorials/extending-a-basic-site.md
index 046162cfe..50f20a8b0 100644
--- a/docs/en/tutorials/2-extending-a-basic-site.md
+++ b/docs/en/tutorials/extending-a-basic-site.md
@@ -1,10 +1,10 @@
-# Tutorial 2 - Extending a basic site
+# Extending a basic site
## Overview
-In the [first tutorial](1-building-a-basic-site) we learned how to create a basic site using SilverStripe. This
-tutorial builds on what you have learned in [the first tutorial](1-building-a-basic-site), so it is recommended
+In the [first tutorial](building-a-basic-site) we learned how to create a basic site using SilverStripe. This
+tutorial builds on what you have learned in [the first tutorial](building-a-basic-site), so it is recommended
that you complete it first.
In this tutorial you will explore extending SilverStripe by creating your own page types. In doing this you will get a
@@ -684,4 +684,4 @@ a complete staff section.
In this tutorial we have explored the concept of page types. In the process of creating and extending page types you
have been introduced to many of the concepts required to build a site with SilverStripe.
-[Next Tutorial >>](3-forms)
+[Next Tutorial >>](forms)
diff --git a/docs/en/tutorials/3-forms.md b/docs/en/tutorials/forms.md
similarity index 98%
rename from docs/en/tutorials/3-forms.md
rename to docs/en/tutorials/forms.md
index 9fb425ffe..898259e0f 100644
--- a/docs/en/tutorials/3-forms.md
+++ b/docs/en/tutorials/forms.md
@@ -1,4 +1,4 @@
-# Tutorial 3 - Forms
+# Forms
## Overview
@@ -168,7 +168,7 @@ Add the following code to the form style sheet:
This CSS code will ensure that the form is formatted and positioned correctly. All going according to plan, if you visit
-[http://localhost/home?flush=1](http://localhost/home?flush=1) it should look something like below.
+`http://localhost/home?flush=1` it should look something like below.
![](_images/pollform.jpg)
@@ -417,4 +417,4 @@ In this tutorial we have explored forms, and seen the different approaches to cr
decide to use the [userforms module](http://silverstripe.org/user-forms-module) or create a form in PHP depends on the situation and flexibility
required.
-[Next Tutorial >>](4-site-search)
+[Next Tutorial >>](site-search)
diff --git a/docs/en/tutorials/index.md b/docs/en/tutorials/index.md
index 7686c37ac..79638482a 100644
--- a/docs/en/tutorials/index.md
+++ b/docs/en/tutorials/index.md
@@ -1,12 +1,12 @@
# Written Tutorials
- * [Tutorial 1: Building a basic site](building-a-basic-site): An introduction to building a site with
+ * [Building a basic site](building-a-basic-site): An introduction to building a site with
SilverStripe
- * [Tutorial 2: Extending a basic site](extending-a-basic-site): A tutorial that builds on "Building a basic
+ * [Extending a basic site](extending-a-basic-site): A tutorial that builds on "Building a basic
site"
- * [Tutorial 3: Forms](forms): An introduction to forms in SilverStripe.
- * [Tutorial 4: Site Search](site-search): Learn how to add search to your site.
- * [Tutorial 5: Dataobject Relationship Management](dataobject-relationship-management): Learn how to create
+ * [Forms](forms): An introduction to forms in SilverStripe.
+ * [Site Search](site-search): Learn how to add search to your site.
+ * [Dataobject Relationship Management](dataobject-relationship-management): Learn how to create
a simple data relationships
# Video tutorials
diff --git a/docs/en/tutorials/4-site-search.md b/docs/en/tutorials/site-search.md
similarity index 98%
rename from docs/en/tutorials/4-site-search.md
rename to docs/en/tutorials/site-search.md
index e706ad2c6..56082ed2d 100644
--- a/docs/en/tutorials/4-site-search.md
+++ b/docs/en/tutorials/site-search.md
@@ -1,4 +1,4 @@
-# Tutorial 4 - Site Search
+# Site Search
## Overview
@@ -259,4 +259,4 @@ Then finally add ?flush=1 to the URL and you should see the new template.
This tutorial has demonstrated how easy it is to have full text searching on your site. To add search to a SilverStripe
site, only a search form and a results page need to be created.
-[Next Tutorial >>](5-dataobject-relationship-management)
+[Next Tutorial >>](dataobject-relationship-management)