diff --git a/.gitignore b/.gitignore
index b3d5320..0133453 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@
/staticpublisher/
/toolbar/
/display_logic/
+/silverstripe-dynamodb/
+/crontask/
\ No newline at end of file
diff --git a/.htaccess b/.htaccess
index cbc8cf7..26436e2 100644
--- a/.htaccess
+++ b/.htaccess
@@ -9,6 +9,23 @@
Deny from all
+# This denies access to all yml files, since developers might include sensitive
+# information in them. See the docs for work-arounds to serve some yaml files
+
+ Order allow,deny
+ Deny from all
+
+
+ErrorDocument 404 /assets/error-404.html
+ErrorDocument 500 /assets/error-500.html
+
+
+ RedirectMatch 403 /silverstripe-cache(/|$)
+ RedirectMatch 403 /vendor(/|$)
+ RedirectMatch 403 /composer\.(json|lock)
+ RedirectMatch 403 /assets/\.lucene-index(/|$)
+
+
RewriteEngine On
diff --git a/.htaccess_live b/.htaccess_live
deleted file mode 100644
index 53ed5a7..0000000
--- a/.htaccess_live
+++ /dev/null
@@ -1,357 +0,0 @@
-
- Order deny,allow
- Deny from all
- Allow from 127.0.0.1
-
-
-
- Order deny,allow
- Deny from all
-
-
-
- RewriteEngine On
-
- # Legacy rewrite from sapphire/ to framework/ namespace
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_URI} !^framework/main\.php
- RewriteRule ^sapphire/?(.*) http://doc.silverstripe.org/framework/$1 [R=301,L]
-
- # DokuWiki rewrite rules: Need to happen before other rules in order to redirect /doku.php?id=
- # to /pagename, which can then be matched by the legacy rewrite rules further down
- RewriteCond %{QUERY_STRING} ^(\bid\b=([^&]*)&?(.*)?)
- RewriteRule ^doku.php$ http://doc.silverstripe.org/%2?%3 [R=301,L]
-
- # Redirect legacy URLs (assumes we're not redirecting other assets, for performance reasons)
- # Note: Just works on top-level domains, not if the webroot is in a subfolder
- RewriteCond %{REQUEST_URI} ^(.*)$
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
- #RewriteRule ^execution-pipeline$ http://doc.silverstripe.org/framework/en/reference/ [R=301,L]
-
- RewriteRule ^arraydata$ http://api.silverstripe.org/search/lookup/?q=ArrayData&module=sapphire [R=301,L]
- RewriteRule ^autocompletefield$ http://api.silverstripe.org/search/lookup/?q=AutocompleteField&module=sapphire [R=301,L]
- RewriteRule ^bbcode$ http://doc.silverstripe.org/framework/en/reference/ [R=301,L]
- RewriteRule ^building-for-modularity$ http://doc.silverstripe.org/framework/en/topics/module-development [R=301,L]
- RewriteRule ^built-in-page-controls$ http://doc.silverstripe.org/framework/en/reference/built-in-page-controls [R=301,L]
- RewriteRule ^cache-control$ http://wiki.silverstripe.org/howto:cache-control [R=301,L]
- RewriteRule ^casting$ http://doc.silverstripe.org/framework/en/topics/data-types [R=301,L]
- RewriteRule ^checkboxfield$ http://api.silverstripe.org/search/lookup/?q=CheckboxField&module=sapphire [R=301,L]
- RewriteRule ^checkboxsetfield$ http://api.silverstripe.org/search/lookup/?q=CheckboxSetField&module=sapphire [R=301,L]
- RewriteRule ^checkoutpagetest$ http://doc.silverstripe.org/old/checkoutpagetest [R=301,L]
- RewriteRule ^cmsmain$ http://doc.silverstripe.org/framework/en/topics/extending-the-cms [R=301,L]
- RewriteRule ^cmsmenu$ http://api.silverstripe.org/search/lookup/?q=CMSMenu&module=sapphire [R=301,L]
- RewriteRule ^common-problems$ http://doc.silverstripe.org/framework/en/installation/common-problems [R=301,L]
- RewriteRule ^community_run_third_party_websites$ http://doc.silverstripe.org/old/community_run_third_party_websites [R=301,L]
- RewriteRule ^complextablefield$ http://doc.silverstripe.org/framework/en/reference/complextablefield [R=301,L]
- RewriteRule ^complextablefieldexamples$ http://doc.silverstripe.org/old/complextablefieldexamples [R=301,L]
- RewriteRule ^compositefield$ http://api.silverstripe.org/search/lookup/?q=CompositeField&module=sapphire [R=301,L]
- RewriteRule ^configuration$ http://doc.silverstripe.org/framework/en/topics/configuration [R=301,L]
- RewriteRule ^contentdeliverynetworkissues$ http://doc.silverstripe.org/old/contentdeliverynetworkissues [R=301,L]
- RewriteRule ^contentnegotiator$ http://api.silverstripe.org/search/lookup/?q=ContentNegotiator&module=sapphire [R=301,L]
- RewriteRule ^contributors$ http://doc.silverstripe.org/old/contributors [R=301,L]
- RewriteRule ^contributing$ http://doc.silverstripe.org/framework/en/misc/contributing [R=301,L]
- RewriteRule ^controller$ http://doc.silverstripe.org/framework/en/topics/controller [R=301,L]
- RewriteRule ^controllers$ http://doc.silverstripe.org/framework/en/topics/controller [R=301,L]
- RewriteRule ^creating-modules$ http://doc.silverstripe.org/framework/en/topics/module-development [R=301,L]
- RewriteRule ^css$ http://doc.silverstripe.org/framework/en/reference/theme-development [R=301,L]
- RewriteRule ^csvbulkloader$ http://api.silverstripe.org/search/lookup/?q=CSVBulkLoader&module=sapphire [R=301,L]
- RewriteRule ^currencyfield$ http://api.silverstripe.org/search/lookup/?q=CurrencyField&module=sapphire [R=301,L]
- RewriteRule ^daily-builds$ http://doc.silverstripe.org/old/daily-builds [R=301,L]
- RewriteRule ^data-types$ http://doc.silverstripe.org/framework/en/topics/data-types [R=301,L]
- RewriteRule ^database-structure$ http://doc.silverstripe.org/framework/en/reference/database-structure [R=301,L]
- RewriteRule ^database-troubleshooting$ http://doc.silverstripe.org/framework/en/reference/database-troubleshooting [R=301,L]
- RewriteRule ^datamodel$ http://doc.silverstripe.org/framework/en/topics/datamodel [R=301,L]
- RewriteRule ^dataobject$ http://doc.silverstripe.org/framework/en/reference/dataobject [R=301,L]
- RewriteRule ^dataobjectdecorator$ http://doc.silverstripe.org/framework/en/reference/dataobjectdecorator [R=301,L]
- RewriteRule ^dataobjectset$ http://doc.silverstripe.org/framework/en/reference/dataobjectset [R=301,L]
- RewriteRule ^datefield$ http://api.silverstripe.org/search/lookup/?q=DateField&module=sapphire [R=301,L]
- RewriteRule ^debugging$ http://doc.silverstripe.org/framework/en/topics/debugging [R=301,L]
- RewriteRule ^deprecation$ http://doc.silverstripe.org/framework/en/misc/release-process [R=301,L]
- RewriteRule ^director$ http://api.silverstripe.org/search/lookup/?q=Director&module=sapphire [R=301,L]
- RewriteRule ^directory-structure$ http://doc.silverstripe.org/framework/en/topics/directory-structure [R=301,L]
- RewriteRule ^documentation-guidelines$ http://doc.silverstripe.org/framework/en/misc/contributing [R=301,L]
- RewriteRule ^dropdownfield$ http://api.silverstripe.org/search/lookup/?q=DropdownField&module=sapphire [R=301,L]
- RewriteRule ^ecommercerole$ http://doc.silverstripe.org/old/ecommercerole [R=301,L]
- RewriteRule ^email$ http://doc.silverstripe.org/framework/en/topics/email [R=301,L]
- RewriteRule ^emailfield$ http://api.silverstripe.org/search/lookup/?q=EmailField&module=sapphire [R=301,L]
- RewriteRule ^environment-management$ http://doc.silverstripe.org/framework/en/topics/environment-management [R=301,L]
- RewriteRule ^error-handling$ http://doc.silverstripe.org/framework/en/topics/error-handling [R=301,L]
- RewriteRule ^escape-types$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
- RewriteRule ^fieldgroup$ http://api.silverstripe.org/search/lookup/?q=FieldGroup&module=sapphire [R=301,L]
- RewriteRule ^filefield$ http://api.silverstripe.org/search/lookup/?q=FileField&module=sapphire [R=301,L]
- RewriteRule ^flickrservice$ http://doc.silverstripe.org/old/flickrservice [R=301,L]
- RewriteRule ^form$ http://doc.silverstripe.org/framework/en/topics/forms [R=301,L]
- RewriteRule ^form-field-types$ http://doc.silverstripe.org/framework/en/reference/form-field-types [R=301,L]
- RewriteRule ^form-validation$ http://doc.silverstripe.org/framework/en/topics/form-validation [R=301,L]
- RewriteRule ^formaction$ http://api.silverstripe.org/search/lookup/?q=FormAction&module=sapphire [R=301,L]
- RewriteRule ^functionaltest$ http://api.silverstripe.org/search/lookup/?q=FunctionalTest&module=sapphire [R=301,L]
- RewriteRule ^framework/en/trunk/misc/collaboration-on-git http://doc.silverstripe.org/framework/en/trunk/misc/contributing/code [R=301,L]
- RewriteRule ^gsoc$ http://doc.silverstripe.org/old/gsoc [R=301,L]
- RewriteRule ^hasmanycomplextablefield$ http://api.silverstripe.org/search/lookup/?q=HasManyComplexTableField&module=sapphire [R=301,L]
- RewriteRule ^hasonecomplextablefield$ http://api.silverstripe.org/search/lookup/?q=HasOneComplexTableField&module=sapphire [R=301,L]
- RewriteRule ^headerfield$ http://api.silverstripe.org/search/lookup/?q=HeaderField&module=sapphire [R=301,L]
- RewriteRule ^head_office_boston_ma_-can_never_forget$ http://doc.silverstripe.org/old/head_office_boston_ma_-can_never_forget [R=301,L]
- RewriteRule ^hiddenfield$ http://api.silverstripe.org/search/lookup/?q=HiddenField&module=sapphire [R=301,L]
- RewriteRule ^hide-ancestor$ http://doc.silverstripe.org/old/hide-ancestor [R=301,L]
- RewriteRule ^hierarchy$ http://api.silverstripe.org/search/lookup/?q=Hierarchy&module=sapphire [R=301,L]
- RewriteRule ^how-page-security-works$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
- RewriteRule ^html$ http://doc.silverstripe.org/framework/en/topics/theme-development [R=301,L]
- RewriteRule ^htmleditorconfig$ http://api.silverstripe.org/search/lookup/?q=HTMLEditorConfig&module=sapphire [R=301,L]
- RewriteRule ^htmleditorfield$ http://api.silverstripe.org/search/lookup/?q=HTMLEditorField&module=sapphire [R=301,L]
- RewriteRule ^i18n$ http://doc.silverstripe.org/framework/en/topics/i18n [R=301,L]
- RewriteRule ^image$ http://doc.silverstripe.org/framework/en/reference/image [R=301,L]
- RewriteRule ^imagefield$ http://api.silverstripe.org/search/lookup/?q=ImageField&module=sapphire [R=301,L]
- RewriteRule ^installation$ http://doc.silverstripe.org/framework/en/ [R=301,L]
- RewriteRule ^installation-on-lighttpd$ http://doc.silverstripe.org/framework/en/installation/lighttpd [R=301,L]
- RewriteRule ^installation-on-mac-osx$ http://doc.silverstripe.org/framework/en/installation/mac-osx [R=301,L]
- RewriteRule ^installation-on-nginx$ http://doc.silverstripe.org/framework/en/installation/nginx [R=301,L]
- RewriteRule ^installation-on-webserver$ http://doc.silverstripe.org/framework/en/installation/webserver [R=301,L]
- RewriteRule ^installation-on-windows-manual-iis$ http://doc.silverstripe.org/framework/en/installation/windows-manual-iis [R=301,L]
- RewriteRule ^installation-on-windows-server-2003-iis-6$ http://doc.silverstripe.org/framework/en/installation/windows-manual-iis [R=301,L]
- RewriteRule ^installation-on-windows-pi$ http://doc.silverstripe.org/framework/en/installation/windows-pi [R=301,L]
- RewriteRule ^installation-on-windows-wamp$ http://doc.silverstripe.org/framework/en/installation/windows-wamp [R=301,L]
- RewriteRule ^installing-modules$ http://doc.silverstripe.org/framework/en/topics/modules [R=301,L]
- RewriteRule ^javascript$ http://doc.silverstripe.org/framework/en/reference/javascript [R=301,L]
- RewriteRule ^jquery$ http://doc.silverstripe.org/framework/en/reference/javascript [R=301,L]
- RewriteRule ^labelfield$ http://api.silverstripe.org/search/lookup/?q=LabelField&module=sapphire [R=301,L]
- RewriteRule ^languagedropdownfield$ http://api.silverstripe.org/search/lookup/?q=LanguageDropdownField&module=sapphire [R=301,L]
- RewriteRule ^leftandmain$ http://doc.silverstripe.org/framework/en/reference/leftandmain [R=301,L]
- RewriteRule ^listboxfield$ http://api.silverstripe.org/search/lookup/?q=ListBoxField&module=sapphire [R=301,L]
- RewriteRule ^literalfield$ http://api.silverstripe.org/search/lookup/?q=LiteralField&module=sapphire [R=301,L]
- RewriteRule ^manifestbuilder$ http://api.silverstripe.org/search/lookup/?q=ManifestBuilder&module=sapphire [R=301,L]
- RewriteRule ^member$ http://doc.silverstripe.org/framework/en/reference/member [R=301,L]
- RewriteRule ^modeladmin$ http://doc.silverstripe.org/framework/en/reference/modeladmin [R=301,L]
- RewriteRule ^module-maintainers$ http://doc.silverstripe.org/framework/en/misc/module-release-process [R=301,L]
- RewriteRule ^module-releases$ http://doc.silverstripe.org/framework/en/misc/module-release-process [R=301,L]
- RewriteRule ^module:external-content$ http://doc.silverstripe.org/old/module:external-content [R=301,L]
- RewriteRule ^module:external-content-alfresco-connector$ http://doc.silverstripe.org/old/module:external-content-alfresco-connector [R=301,L]
- RewriteRule ^module:external-content-newconnector$ http://doc.silverstripe.org/old/module:external-content-newconnector [R=301,L]
- RewriteRule ^module:external-content-quickstart$ http://doc.silverstripe.org/old/module:external-content-quickstart [R=301,L]
- RewriteRule ^module:filesystem-connector$ http://doc.silverstripe.org/old/module:filesystem-connector [R=301,L]
- RewriteRule ^module:simplewiki$ http://doc.silverstripe.org/old/module:simplewiki [R=301,L]
- RewriteRule ^modules:auth_ext_ad$ http://doc.silverstripe.org/old/modules:auth_ext_ad [R=301,L]
- RewriteRule ^modules:auth_ext_drivers$ http://doc.silverstripe.org/old/modules:auth_ext_drivers [R=301,L]
- RewriteRule ^modules:auth_ext_ldap$ http://doc.silverstripe.org/old/modules:auth_ext_ldap [R=301,L]
- RewriteRule ^modules:blog$ http://doc.silverstripe.org/old/modules:blog [R=301,L]
- RewriteRule ^modules:bulkuploaderfield$ http://doc.silverstripe.org/old/modules:bulkuploaderfield [R=301,L]
- RewriteRule ^modules:calendar$ http://doc.silverstripe.org/old/modules:calendar [R=301,L]
- RewriteRule ^modules:cmsworkflow$ http://doc.silverstripe.org/old/modules:cmsworkflow [R=301,L]
- RewriteRule ^modules:dataobjectmanager$ http://doc.silverstripe.org/old/modules:dataobjectmanager [R=301,L]
- RewriteRule ^modules:dbplumber$ http://doc.silverstripe.org/old/modules:dbplumber [R=301,L]
- RewriteRule ^modules:diary$ http://doc.silverstripe.org/old/modules:diary [R=301,L]
- RewriteRule ^modules:ecommerce$ http://doc.silverstripe.org/old/modules:ecommerce [R=301,L]
- RewriteRule ^modules:embargoexpiry$ http://doc.silverstripe.org/old/modules:embargoexpiry [R=301,L]
- RewriteRule ^modules:events$ http://doc.silverstripe.org/old/modules:events [R=301,L]
- RewriteRule ^modules:event_calendar$ http://doc.silverstripe.org/old/modules:event_calendar [R=301,L]
- RewriteRule ^modules:external-authentication$ http://doc.silverstripe.org/old/modules:external-authentication [R=301,L]
- RewriteRule ^modules:flickrgallery$ http://doc.silverstripe.org/old/modules:flickrgallery [R=301,L]
- RewriteRule ^modules:flickrservice$ http://doc.silverstripe.org/old/modules:flickrservice [R=301,L]
- RewriteRule ^modules:forum$ http://doc.silverstripe.org/old/modules:forum [R=301,L]
- RewriteRule ^modules:gallery$ http://doc.silverstripe.org/old/modules:gallery [R=301,L]
- RewriteRule ^modules:genericdataadmin$ http://doc.silverstripe.org/old/modules:genericdataadmin [R=301,L]
- RewriteRule ^modules:genericviews$ http://doc.silverstripe.org/old/modules:genericviews [R=301,L]
- RewriteRule ^modules:geocoderfield$ http://doc.silverstripe.org/old/modules:geocoderfield [R=301,L]
- RewriteRule ^modules:gis$ http://doc.silverstripe.org/old/modules:gis [R=301,L]
- RewriteRule ^modules:googleanalytics$ http://doc.silverstripe.org/old/modules:googleanalytics [R=301,L]
- RewriteRule ^modules:googlesitemaps$ http://doc.silverstripe.org/old/modules:googlesitemaps [R=301,L]
- RewriteRule ^modules:hasmanyfilemanager$ http://doc.silverstripe.org/old/modules:hasmanyfilemanager [R=301,L]
- RewriteRule ^modules:image_gallery$ http://doc.silverstripe.org/old/modules:image_gallery [R=301,L]
- RewriteRule ^modules:intranet$ http://doc.silverstripe.org/old/modules:intranet [R=301,L]
- RewriteRule ^modules:maps$ http://doc.silverstripe.org/old/modules:maps [R=301,L]
- RewriteRule ^modules:mollom$ http://doc.silverstripe.org/old/modules:mollom [R=301,L]
- RewriteRule ^modules:mssql$ http://doc.silverstripe.org/old/modules:mssql [R=301,L]
- RewriteRule ^modules:multiform$ http://doc.silverstripe.org/old/modules:multiform [R=301,L]
- RewriteRule ^modules:newsletter$ http://doc.silverstripe.org/old/modules:newsletter [R=301,L]
- RewriteRule ^modules:polls$ http://doc.silverstripe.org/old/modules:polls [R=301,L]
- RewriteRule ^modules:privatemessage$ http://doc.silverstripe.org/old/modules:privatemessage [R=301,L]
- RewriteRule ^modules:recaptcha$ http://doc.silverstripe.org/old/modules:recaptcha [R=301,L]
- RewriteRule ^modules:securefiles$ http://doc.silverstripe.org/old/modules:securefiles [R=301,L]
- RewriteRule ^modules:sharethis$ http://doc.silverstripe.org/old/modules:sharethis [R=301,L]
- RewriteRule ^modules:simplehtmleditorfield$ http://doc.silverstripe.org/old/modules:simplehtmleditorfield [R=301,L]
- RewriteRule ^modules:simpletreedropdownfield$ http://doc.silverstripe.org/old/modules:simpletreedropdownfield [R=301,L]
- RewriteRule ^modules:simplewysiwygfield$ http://doc.silverstripe.org/old/modules:simplewysiwygfield [R=301,L]
- RewriteRule ^modules:simple_guestbook$ http://doc.silverstripe.org/old/modules:simple_guestbook [R=301,L]
- RewriteRule ^modules:sitetreeimporter$ http://doc.silverstripe.org/old/modules:sitetreeimporter [R=301,L]
- RewriteRule ^modules:sortabledataobject$ http://doc.silverstripe.org/old/modules:sortabledataobject [R=301,L]
- RewriteRule ^modules:spamprotection$ http://doc.silverstripe.org/old/modules:spamprotection [R=301,L]
- RewriteRule ^modules:sphinx$ http://doc.silverstripe.org/old/modules:sphinx [R=301,L]
- RewriteRule ^modules:sqlite$ http://doc.silverstripe.org/old/modules:sqlite [R=301,L]
- RewriteRule ^modules:staticimporter$ http://doc.silverstripe.org/old/modules:staticimporter [R=301,L]
- RewriteRule ^modules:subsites$ http://doc.silverstripe.org/old/modules:subsites [R=301,L]
- RewriteRule ^modules:suggestions_field$ http://doc.silverstripe.org/old/modules:suggestions_field [R=301,L]
- RewriteRule ^modules:swfuploadfield$ http://doc.silverstripe.org/old/modules:swfuploadfield [R=301,L]
- RewriteRule ^modules:tagfield$ http://doc.silverstripe.org/old/modules:tagfield [R=301,L]
- RewriteRule ^modules:technoratiservice$ http://doc.silverstripe.org/old/modules:technoratiservice [R=301,L]
- RewriteRule ^modules:translation$ http://doc.silverstripe.org/old/modules:translation [R=301,L]
- RewriteRule ^modules:userforms$ http://doc.silverstripe.org/old/modules:userforms [R=301,L]
- RewriteRule ^modules:youtubeservice$ http://doc.silverstripe.org/old/modules:youtubeservice [R=301,L]
- RewriteRule ^multilingualcontent$ http://doc.silverstripe.org/framework/en/topics/translation [R=301,L]
- RewriteRule ^numericfield$ http://api.silverstripe.org/search/lookup/?q=NumericField&module=sapphire [R=301,L]
- RewriteRule ^object$ http://api.silverstripe.org/search/lookup/?q=Object&module=sapphire [R=301,L]
- RewriteRule ^objectmodel$ http://doc.silverstripe.org/framework/en/topics/datamodel [R=301,L]
- RewriteRule ^optionsetfield$ http://api.silverstripe.org/search/lookup/?q=OptionSetField&module=sapphire [R=301,L]
- RewriteRule ^page$ http://doc.silverstripe.org/framework/en/reference/page-types [R=301,L]
- RewriteRule ^page-types$ http://doc.silverstripe.org/framework/en/topics/page-types [R=301,L]
- RewriteRule ^pagecomment$ http://api.silverstripe.org/search/lookup/?q=PageComment&module=sapphire [R=301,L]
- RewriteRule ^partial-caching$ http://doc.silverstripe.org/framework/en/reference/partial-caching [R=301,L]
- RewriteRule ^passwordfield$ http://api.silverstripe.org/search/lookup/?q=PasswordField&module=sapphire [R=301,L]
- RewriteRule ^permission$ http://doc.silverstripe.org/framework/en/reference/permission [R=301,L]
- RewriteRule ^postale$ http://doc.silverstripe.org/old/postale [R=301,L]
- RewriteRule ^readonlyfield$ http://api.silverstripe.org/search/lookup/?q=ReadonlyField&module=sapphire [R=301,L]
- RewriteRule ^recipes:adding_metatags$ http://doc.silverstripe.org/old/recipes:adding_metatags [R=301,L]
- RewriteRule ^recipes:ajax_basics$ http://doc.silverstripe.org/old/recipes:ajax_basics [R=301,L]
- RewriteRule ^recipes:alphabetical_dataobjectset$ http://doc.silverstripe.org/old/recipes:alphabetical_dataobjectset [R=301,L]
- RewriteRule ^recipes:alternative_sorting_order$ http://doc.silverstripe.org/old/recipes:alternative_sorting_order [R=301,L]
- RewriteRule ^recipes:amazing_looking_forms_using_silverstripe_form_default_rendering$ http://doc.silverstripe.org/old/recipes:amazing_looking_forms_using_silverstripe_form_default_rendering [R=301,L]
- RewriteRule ^recipes:bookmarklets$ http://doc.silverstripe.org/old/recipes:bookmarklets [R=301,L]
- RewriteRule ^recipes:building_a_nice_tree_for_selected_pages$ http://doc.silverstripe.org/old/recipes:building_a_nice_tree_for_selected_pages [R=301,L]
- RewriteRule ^recipes:change_site_name_and_tagline$ http://doc.silverstripe.org/old/recipes:change_site_name_and_tagline [R=301,L]
- RewriteRule ^recipes:changingfields$ http://doc.silverstripe.org/old/recipes:changingfields [R=301,L]
- RewriteRule ^recipes:cheat_sheet$ http://doc.silverstripe.org/old/recipes:cheat_sheet [R=301,L]
- RewriteRule ^recipes:combining_files$ http://doc.silverstripe.org/old/recipes:combining_files [R=301,L]
- RewriteRule ^recipes:controllers$ http://doc.silverstripe.org/old/recipes:controllers [R=301,L]
- RewriteRule ^recipes:customising_image$ http://doc.silverstripe.org/old/recipes:customising_image [R=301,L]
- RewriteRule ^recipes:customising_meta_tags$ http://doc.silverstripe.org/old/recipes:customising_meta_tags [R=301,L]
- RewriteRule ^recipes:displaying_five_latest_pages_from_multiple_pagetypes$ http://doc.silverstripe.org/old/recipes:displaying_five_latest_pages_from_multiple_pagetypes [R=301,L]
- RewriteRule ^recipes:examples_of_creating_and_saving_pages$ http://doc.silverstripe.org/old/recipes:examples_of_creating_and_saving_pages [R=301,L]
- RewriteRule ^recipes:example_config_file$ http://doc.silverstripe.org/old/recipes:example_config_file [R=301,L]
- RewriteRule ^recipes:example_of_data_object$ http://doc.silverstripe.org/old/recipes:example_of_data_object [R=301,L]
- RewriteRule ^recipes:example_of_quotes_on_a_page$ http://doc.silverstripe.org/old/recipes:example_of_quotes_on_a_page [R=301,L]
- RewriteRule ^recipes:extending_the_event_calendar$ http://doc.silverstripe.org/old/recipes:extending_the_event_calendar [R=301,L]
- RewriteRule ^recipes:final_parent$ http://doc.silverstripe.org/old/recipes:final_parent [R=301,L]
- RewriteRule ^recipes:forms$ http://doc.silverstripe.org/old/recipes:forms [R=301,L]
- RewriteRule ^recipes:gallery$ http://doc.silverstripe.org/old/recipes:gallery [R=301,L]
- RewriteRule ^recipes:grouping_fields_from_your_data_object$ http://doc.silverstripe.org/old/recipes:grouping_fields_from_your_data_object [R=301,L]
- RewriteRule ^recipes:installation-into-subversion$ http://doc.silverstripe.org/old/recipes:installation-into-subversion [R=301,L]
- RewriteRule ^recipes:loopthroughassets$ http://doc.silverstripe.org/old/recipes:loopthroughassets [R=301,L]
- RewriteRule ^recipes:many_many-example$ http://doc.silverstripe.org/old/recipes:many_many-example [R=301,L]
- RewriteRule ^recipes:members-only-page$ http://doc.silverstripe.org/old/recipes:members-only-page [R=301,L]
- RewriteRule ^recipes:menus_with_different_colour_buttons$ http://doc.silverstripe.org/old/recipes:menus_with_different_colour_buttons [R=301,L]
- RewriteRule ^recipes:migratefilemanager$ http://doc.silverstripe.org/old/recipes:migratefilemanager [R=301,L]
- RewriteRule ^recipes:multilingual_content$ http://doc.silverstripe.org/old/recipes:multilingual_content [R=301,L]
- RewriteRule ^recipes:overriding-loginform$ http://doc.silverstripe.org/old/recipes:overriding-loginform [R=301,L]
- RewriteRule ^recipes:page_selection_for_special_menu$ http://doc.silverstripe.org/old/recipes:page_selection_for_special_menu [R=301,L]
- RewriteRule ^recipes:pretty_i18n_urls$ http://doc.silverstripe.org/old/recipes:pretty_i18n_urls [R=301,L]
- RewriteRule ^recipes:previousornext$ http://doc.silverstripe.org/old/recipes:previousornext [R=301,L]
- RewriteRule ^recipes:publishing-to-web-server$ http://doc.silverstripe.org/old/recipes:publishing-to-web-server [R=301,L]
- RewriteRule ^recipes:rebranding-the-cms$ http://doc.silverstripe.org/old/recipes:rebranding-the-cms [R=301,L]
- RewriteRule ^recipes:removingassetsfromsearch$ http://doc.silverstripe.org/old/recipes:removingassetsfromsearch [R=301,L]
- RewriteRule ^recipes:requiredfieldsclass$ http://doc.silverstripe.org/old/recipes:requiredfieldsclass [R=301,L]
- RewriteRule ^recipes:retrieving_image_from_your_page$ http://doc.silverstripe.org/old/recipes:retrieving_image_from_your_page [R=301,L]
- RewriteRule ^recipes:selecting_pages_with_the_same_grandparent$ http://doc.silverstripe.org/old/recipes:selecting_pages_with_the_same_grandparent [R=301,L]
- RewriteRule ^recipes:setting_menu_width_dynamically$ http://doc.silverstripe.org/old/recipes:setting_menu_width_dynamically [R=301,L]
- RewriteRule ^recipes:siblings$ http://doc.silverstripe.org/old/recipes:siblings [R=301,L]
- RewriteRule ^recipes:simplesignupform$ http://doc.silverstripe.org/old/recipes:simplesignupform [R=301,L]
- RewriteRule ^recipes:site-news$ http://doc.silverstripe.org/old/recipes:site-news [R=301,L]
- RewriteRule ^recipes:start$ http://doc.silverstripe.org/old/recipes:start [R=301,L]
- RewriteRule ^recipes:structural-guidelines$ http://doc.silverstripe.org/old/recipes:structural-guidelines [R=301,L]
- RewriteRule ^recipes:syntax-highlighting$ http://doc.silverstripe.org/old/recipes:syntax-highlighting [R=301,L]
- RewriteRule ^recipes:typography_overview$ http://doc.silverstripe.org/old/recipes:typography_overview [R=301,L]
- RewriteRule ^recipes:update_records_for_a_class_using_code$ http://doc.silverstripe.org/old/recipes:update_records_for_a_class_using_code [R=301,L]
- RewriteRule ^recipes:what_to_return_from_a_function$ http://doc.silverstripe.org/old/recipes:what_to_return_from_a_function [R=301,L]
- RewriteRule ^recipes:widget-forms-2.3$ http://doc.silverstripe.org/old/recipes:widget-forms-2.3 [R=301,L]
- RewriteRule ^releases$ http://doc.silverstripe.org/framework/en/misc/release-process [R=301,L]
- RewriteRule ^requirements$ http://doc.silverstripe.org/framework/en/reference/requirements [R=301,L]
- RewriteRule ^restfulserver$ http://api.silverstripe.org/search/lookup/?q=RestfulServer&module=sapphire [R=301,L]
- RewriteRule ^restfulservice$ http://doc.silverstripe.org/framework/en/reference/restfulservice [R=301,L]
- RewriteRule ^rssfeed$ http://doc.silverstripe.org/framework/en/reference/rssfeed [R=301,L]
- RewriteRule ^sake$ http://doc.silverstripe.org/framework/en/topics/commandline [R=301,L]
- RewriteRule ^searchcontext$ http://doc.silverstripe.org/framework/en/topics/search [R=301,L]
- RewriteRule ^searchform$ http://doc.silverstripe.org/framework/en/topics/search [R=301,L]
- RewriteRule ^secure-development$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
- RewriteRule ^security$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
- RewriteRule ^security-statement$ http://doc.silverstripe.org/old/security-statement [R=301,L]
- RewriteRule ^selectiongroup$ http://api.silverstripe.org/search/lookup/?q=SelectionGroup&module=sapphire [R=301,L]
- RewriteRule ^server-requirements$ http://doc.silverstripe.org/framework/en/installation/server-requirements [R=301,L]
- RewriteRule ^sessions$ http://api.silverstripe.org/search/lookup/?q=Session&module=sapphire [R=301,L]
- RewriteRule ^shortcodes$ http://doc.silverstripe.org/framework/en/reference/bbcode [R=301,L]
- RewriteRule ^silverstripe-book-errata$ http://doc.silverstripe.org/old/silverstripe-book-errata [R=301,L]
- RewriteRule ^siteconfig$ http://doc.silverstripe.org/framework/en/reference/siteconfig [R=301,L]
- RewriteRule ^sitetree$ http://doc.silverstripe.org/framework/en/reference/sitetree [R=301,L]
- RewriteRule ^sqlquery$ http://doc.silverstripe.org/framework/en/reference/sqlquery [R=301,L]
- RewriteRule ^start$ http://doc.silverstripe.org/framework/en/ [R=301,L]
- RewriteRule ^staticexporter$ http://api.silverstripe.org/search/lookup/?q=StaticExporter&module=sapphire [R=301,L]
- RewriteRule ^staticpublisher$ http://doc.silverstripe.org/framework/en/reference/staticpublisher [R=301,L]
- RewriteRule ^suggested-web-hosts$ http://doc.silverstripe.org/old/suggested-web-hosts [R=301,L]
- RewriteRule ^subversion$ http://doc.silverstripe.org/framework/en/installation/from-source [R=301,L]
- RewriteRule ^tab$ http://api.silverstripe.org/search/lookup/?q=Tab&module=sapphire [R=301,L]
- RewriteRule ^tablefield$ http://doc.silverstripe.org/framework/en/reference/tablefield [R=301,L]
- RewriteRule ^tablelistfield$ http://doc.silverstripe.org/framework/en/reference/tablelistfield [R=301,L]
- RewriteRule ^tabset$ http://api.silverstripe.org/search/lookup/?q=TabSet&module=sapphire [R=301,L]
- RewriteRule ^templates$ http://doc.silverstripe.org/framework/en/topics/templates [R=301,L]
- RewriteRule ^testing-guide$ http://doc.silverstripe.org/framework/en/topics/testing/ [R=301,L]
- RewriteRule ^testing-guide-glossary$ http://doc.silverstripe.org/framework/en/topics/testing/ [R=301,L]
- RewriteRule ^testing-guide-intro$ http://doc.silverstripe.org/framework/en/topics/testing/testing-guide [R=301,L]
- RewriteRule ^testing-guide-troubleshooting$ http://doc.silverstripe.org/framework/en/topics/testing/testing-guide-troubleshooting [R=301,L]
- RewriteRule ^testing-howto:create-functional-test$ http://doc.silverstripe.org/framework/en/topics/testing/create-functional-test [R=301,L]
- RewriteRule ^testing-howto:create-sapphire-test$ http://doc.silverstripe.org/framework/en/topics/testing/create-sapphire-test [R=301,L]
- RewriteRule ^testing-howto:test-email-sending$ http://doc.silverstripe.org/framework/en/topics/testing/email-sending [R=301,L]
- RewriteRule ^textareafield$ http://api.silverstripe.org/search/lookup/?q=TextAreaField&module=sapphire [R=301,L]
- RewriteRule ^textfield$ http://api.silverstripe.org/search/lookup/?q=TextField&module=sapphire [R=301,L]
- RewriteRule ^themes$ http://doc.silverstripe.org/framework/en/topics/themes [R=301,L]
- RewriteRule ^themes:developing$ http://doc.silverstripe.org/framework/en/topics/theme-development [R=301,L]
- RewriteRule ^third-party-packages$ http://doc.silverstripe.org/old/third-party-packages [R=301,L]
- RewriteRule ^tools$ http://doc.silverstripe.org/old/tools [R=301,L]
- RewriteRule ^tools:dreamweaver$ http://doc.silverstripe.org/old/tools:dreamweaver [R=301,L]
- RewriteRule ^tools:eclipse$ http://doc.silverstripe.org/old/tools:eclipse [R=301,L]
- RewriteRule ^tools:gedit$ http://doc.silverstripe.org/old/tools:gedit [R=301,L]
- RewriteRule ^tools:netbeans$ http://doc.silverstripe.org/old/tools:netbeans [R=301,L]
- RewriteRule ^tools:textmate$ http://doc.silverstripe.org/old/tools:textmate [R=301,L]
- RewriteRule ^translatable$ http://doc.silverstripe.org/framework/en/topics/translation [R=301,L]
- RewriteRule ^translation$ http://doc.silverstripe.org/framework/en/topics/translation [R=301,L]
- RewriteRule ^treedropdownfield$ http://api.silverstripe.org/search/lookup/?q=TreeDropdownField&module=sapphire [R=301,L]
- RewriteRule ^treemultiselectfield$ http://api.silverstripe.org/search/lookup/?q=TreeMultiSelectField&module=sapphire [R=301,L]
- RewriteRule ^tutorial:1-building-a-basic-site$ http://doc.silverstripe.org/framework/en/tutorials/1-building-a-basic-site [R=301,L]
- RewriteRule ^tutorial:2-extending-a-basic-site$ http://doc.silverstripe.org/framework/en/tutorials/2-extending-a-basic-site [R=301,L]
- RewriteRule ^tutorial:3-forms$ http://doc.silverstripe.org/framework/en/tutorials/3-forms [R=301,L]
- RewriteRule ^tutorial:4-site-search$ http://doc.silverstripe.org/framework/en/tutorials/4-site-search [R=301,L]
- RewriteRule ^tutorial:5-dataobject-relationship-management$ http://doc.silverstripe.org/framework/en/tutorials/5-dataobject-relationship-management [R=301,L]
- RewriteRule ^tutorials$ http://doc.silverstripe.org/framework/en/tutorials/ [R=301,L]
- RewriteRule ^tutorials$ http://doc.silverstripe.org/framework/en/tutorials/ [R=301,L]
- RewriteRule ^typography$ http://doc.silverstripe.org/framework/en/reference/typography [R=301,L]
- RewriteRule ^upgrading$ http://doc.silverstripe.org/framework/en/installation/upgrading [R=301,L]
- RewriteRule ^upgrading$ http://doc.silverstripe.org/framework/en/installation/upgrading/ [R=301,L]
- RewriteRule ^uploadify$ http://doc.silverstripe.org/old/uploadify [R=301,L]
- RewriteRule ^urlvariabletools$ http://doc.silverstripe.org/framework/en/reference/urlvariabletools [R=301,L]
- RewriteRule ^validator$ http://api.silverstripe.org/search/lookup/?q=Validator&module=sapphire [R=301,L]
- RewriteRule ^versioned$ http://doc.silverstripe.org/framework/en/reference/versioned [R=301,L]
- RewriteRule ^videotours$ http://doc.silverstripe.org/old/videotours [R=301,L]
- RewriteRule ^virtualpage$ http://api.silverstripe.org/search/lookup/?q=VirtualPage&module=sapphire [R=301,L]
- RewriteRule ^widgets$ http://doc.silverstripe.org/framework/en/topics/widgets [R=301,L]
- RewriteRule ^buildbot-try-server$ http://doc.silverstripe.org/old/buildbot-try-server [R=301,L]
-
- # Legacy rewrite: Can't use 'master' as it confuses api.ss.org linking
- RewriteRule ^framework/en/master(.*) http://doc.silverstripe.org/framework/en/trunk$1 [R=301,L]
-
- # Legacy rewrite: sapphire should point to framework
- RewriteRule ^sapphire(.*) http://doc.silverstripe.org/framework$1 [R=301,L]
-
- # Anything in sapphire/en//misc is redirected to trunk, the info in there is usually not version specific,
- # and only updated on master (e.g. contribution and coding guidelines)
- RewriteRule ^framework/en/misc/?(.*) http://doc.silverstripe.org/framework/en/trunk/misc/$1 [R=301,L]
- RewriteRule ^framework/en/[\d.]*/misc/?(.*) http://doc.silverstripe.org/framework/en/trunk/misc/$1 [R=301,L]
-
-
- RewriteCond %{REQUEST_URI} ^(.*)$
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
- RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]
-
-
-ErrorDocument 404 /assets/error-404.html
-ErrorDocument 500 /assets/error-500.html
-
-FileETag INode MTime
-
-
-ExpiresActive on
-ExpiresByType image/* "access plus 7 days"
-ExpiresByType text/css "access plus 7 days"
-ExpiresByType application/x-javascript "access plus 7 days"
-ExpiresByType application/javascript "access plus 7 days"
-
-
-
- SetOutputFilter DEFLATE
-
diff --git a/Makefile b/Makefile
deleted file mode 100644
index b4c9ed7..0000000
--- a/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-all:
- @echo "Available commands:"
- @grep "^[^#[:space:]].*:$$" Makefile
-
-update:
- @make fetch
- @make index
-
-fetch:
- @./bin/update.sh $(CURDIR)
-
-index:
- @php framework/cli-script.php dev/tasks/RebuildLuceneDocsIndex flush=1
-
-test:
- $(MAKE) QUERYSTRING="$(QUERYSTRING)&SkipTests=RestfulServiceTest" -C sapphire test
-
diff --git a/README.md b/README.md
index 3097583..77c3811 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
This is the source code powering http://docs.silverstripe.org. It
primarily consists of the SilverStripe
[framework](https://github.com/silverstripe/silverstripe-framework)
-and [docsviewer](https://github.com/silverstripe/silverstripe-docsviewer)
+and the [docsviewer](https://github.com/silverstripe/silverstripe-docsviewer)
module with minimal configuration.
For adding functionality or editing the style of the documentation see the
@@ -15,9 +15,15 @@ To set up a test instance:
* Clone this repository to a LAMP server.
* Install [Composer](http://docs.silverstripe.org/en/getting_started/composer)
+ * Install [sake](https://docs.silverstripe.org/en/developer_guides/cli/).
* After installing composer run `composer install --prefer-source` to grab the modules.
- * Run `make update` to check out the repositories from which it builds the
- docs (this will take a while the first time)
+ * Run the docs crontask in the browser `dev/tasks/UpdateDocsCronTask`
+ to download all fresh markdown documentation files and reindex them. Note: this
+ will take some time to run. Alternatively, you can use sake
+ to perform these tasks by firstly running the command `sake
+ dev/tasks/RefreshMarkdownTask flush=1` and secondly `sake
+ dev/tasks/RebuildLuceneDocsIndex flush=1`.
+ * Make sure to flush the cache for markdown content to show up.
## Source Documentation Files
@@ -27,17 +33,33 @@ ignored from this repository to allow for easier updating and to keep this
project small.
To update or download the source documentation at any time run the following
-make command in your terminal:
+BuildTask command with sake:
cd /Sites/doc.silverstripe.org/
- make fetch
+ sake dev/tasks/RefreshMarkdownTask flush=1
-`make fetch` will call bin/update.sh to download / update each module as listed
-in the bin/update.sh file.
+This build task will download / update each module as listed in the
+`app/_config/docs-repositories.yml` file. Running `sake
+dev/tasks/RebuildLuceneDocsIndex flush=1` will then create a search
+index and reindex the documentation to facilitate searching.
-Once the `make fetch` command has executed and downloaded the latest files,
+Once the build task has executed and downloaded the latest files,
those files are registered along with the module version the folder relates to
-through the [docsviewer.yml](https://github.com/silverstripe/doc.silverstripe.org/blob/master/app/_config/docsviewer.yml) file.
+through the `app/_config/docsviewer.yml` file.
+
+```yaml
+DocumentationManifest:
+ register_entities:
+ -
+ Path: "src/framework_3.2/docs/"
+ Title: "Developer Documentation"
+ Version: "3.2"
+ Stable: true
+ DefaultEntity: true
+```
+
+Set `Stable: true` on the set of documentation relating the current stable version of SilverStripe.
+
## Contribution
@@ -56,9 +78,12 @@ docs.silverstripe.org via a cron job.
## Cron job
-The cron job keeps docs.silverstripe.org up to date with the latest code. This
-cron task calls `make update`, a script that fetches the latest documentation
-for each module from git and rebuilds the search indexes.
+The cron job `UpdateDocsCronTask` includes tasks that fetch the latest documentation for each module from git and rebuilds the search indexes.
- 05 * * * * sites make -f /sites/ss2doc-v2/www/Makefile -C /sites/ss2doc-v2/www update
+ public function getSchedule() {
+ return "0 20 * * *"; // runs process() function every day at 8PM
+ }
+## Deployment
+
+Deployment is via the SilverStripe Platform deployment tool and uses StackShare.
diff --git a/app/_config.php b/app/_config.php
index 8fe7818..120b348 100644
--- a/app/_config.php
+++ b/app/_config.php
@@ -4,10 +4,11 @@ global $project;
$project = 'app';
global $database;
-$database = 'SS_ssdoc';
-if (defined('SS_DATABASE_NAME')) {
+if(defined('SS_DATABASE_NAME') && SS_DATABASE_NAME) {
$database = SS_DATABASE_NAME;
+} else {
+ $database = 'SS_ssdoc';
}
if(isset($_ENV['CLEARDB_DATABASE_URL'])) {
@@ -57,9 +58,7 @@ Config::inst()->update('DocumentationSearch', 'boost_by_path', array(
));
// Set shared index (avoid issues with different temp paths between CLI and web users)
-if(file_exists(BASE_PATH . '/.lucene-index')) {
- Config::inst()->update('DocumentationSearch', 'index_location', BASE_PATH . '/.lucene-index');
-}
+Config::inst()->update('DocumentationSearch', 'index_location', BASE_PATH . '/assets/.lucene-index');
// Fix invalid character in iconv
// see http://stackoverflow.com/questions/4723135/invalid-characters-for-lucene-text-search
diff --git a/app/_config/config.yml b/app/_config/config.yml
index d1ac530..c27c045 100644
--- a/app/_config/config.yml
+++ b/app/_config/config.yml
@@ -9,4 +9,4 @@ StaticExporter:
disable_sitetree_export: true
Controller:
extensions:
- - ControllerExtension
+ - ControllerExtension
\ No newline at end of file
diff --git a/app/_config/docs-repositiories.yml b/app/_config/docs-repositiories.yml
new file mode 100644
index 0000000..b6bbacf
--- /dev/null
+++ b/app/_config/docs-repositiories.yml
@@ -0,0 +1,32 @@
+---
+Name: docs-repos
+After:
+ - framework/*
+ - cms/*
+---
+RefreshMarkdownTask:
+ documentation_repositories:
+ -
+ - silverstripe/silverstripe-framework
+ - framework
+ - master
+ -
+ - silverstripe/silverstripe-framework
+ - framework
+ - "3.3"
+ -
+ - silverstripe/silverstripe-framework
+ - framework
+ - "3.2"
+ -
+ - silverstripe/silverstripe-framework
+ - framework
+ - "3.1"
+ -
+ - silverstripe/silverstripe-framework
+ - framework
+ - "3.0"
+ -
+ - silverstripe/silverstripe-framework
+ - framework
+ - "2.4"
\ No newline at end of file
diff --git a/app/_config/docsviewer.yml b/app/_config/docsviewer.yml
index 8fcda1d..e23a9e6 100644
--- a/app/_config/docsviewer.yml
+++ b/app/_config/docsviewer.yml
@@ -10,41 +10,35 @@ DocumentationManifest:
automatic_registration: false
register_entities:
-
- Path: "src/framework_master/docs/"
+ Path: "assets/src/framework_master/docs/"
Title: "Framework"
Version: "4.0"
Branch: "master"
DefaultEntity: true
-
- Path: "src/framework_3/docs/"
- Title: "Framework"
- Version: "3.4"
- Branch: "3"
- DefaultEntity: true
- -
- Path: "src/framework_3.3/docs/"
+ Path: "assets/src/framework_3.3/docs/"
Title: "Framework"
Version: "3.3"
Branch: "3.3"
DefaultEntity: true
-
- Path: "src/framework_3.2/docs/"
+ Path: "assets/src/framework_3.2/docs/"
Title: "Framework"
Version: "3.2"
Stable: true
DefaultEntity: true
-
- Path: "src/framework_3.1/docs/"
+ Path: "assets/src/framework_3.1/docs/"
Title: "Framework"
Version: "3.1"
DefaultEntity: true
-
- Path: "src/framework_3.0/docs/"
+ Path: "assets/src/framework_3.0/docs/"
Title: "Framework"
Version: "3.0"
DefaultEntity: true
-
- Path: "src/framework_2.4/docs/"
+ Path: "assets/src/framework_2.4/docs/"
Title: "Framework"
Version: "2.4"
DefaultEntity: true
diff --git a/app/_config/routes.yml b/app/_config/routes.yml
index 541719a..e74f2f7 100644
--- a/app/_config/routes.yml
+++ b/app/_config/routes.yml
@@ -1,5 +1,5 @@
---
-Name: docs
+Name: docs-routes
After: framework/routes#coreroutes
---
Director:
diff --git a/app/_config/toolbar.yml b/app/_config/toolbar.yml
index b78334e..f5f099b 100644
--- a/app/_config/toolbar.yml
+++ b/app/_config/toolbar.yml
@@ -22,7 +22,7 @@ Only:
environment: test
---
GlobalNav:
- hostname: '//sssites-ssorg-uat.sites.silverstripe.com/'
+ hostname: '//www.silverstripe.org/'
css_path: '/themes/ssv3/css/toolbar.min.css'
snippet_path: '/assets'
use_localhost: false
diff --git a/app/code/RefreshMarkdownTask.php b/app/code/RefreshMarkdownTask.php
new file mode 100644
index 0000000..bf18556
--- /dev/null
+++ b/app/code/RefreshMarkdownTask.php
@@ -0,0 +1,119 @@
+printLine("refreshing markdown files...");
+
+ $repositories = $this->getRepositories();
+
+ foreach ($repositories as $repository) {
+ $this->cloneRepository($repository);
+ $this->cleanRepository($repository);
+ }
+ }
+
+ /**
+ * @return string
+ *
+ * @todo document this new configuration parameter
+ */
+ private function getPath()
+ {
+ return ASSETS_PATH;
+ }
+
+ /**
+ * @param string $message
+ */
+ private function printLine($message)
+ {
+ $this->eol = Director::is_cli() ? PHP_EOL : "
";
+ print $message . $this->eol;
+ flush();
+ }
+
+ /**
+ * Returns the array of repos to source markdown docs from
+ *
+ * @return array
+ *
+ */
+ private function getRepositories()
+ {
+ if($repos = $this->config()->documentation_repositories)
+ {
+ return $repos;
+ } else {
+ user_error("You need to set 'RefreshMarkdownTask:documentation_repositories' array in a yaml configuration file", E_USER_WARNING);
+ return null;
+ }
+ }
+
+ /**
+ * @param array $repository
+ *
+ * @todo test this works with all modules
+ */
+ private function cloneRepository(array $repository)
+ {
+ list($remote, $folder, $branch) = $repository;
+
+ $path = $this->getPath();
+
+ exec("mkdir -p {$path}/src");
+ exec("rm -rf {$path}/src/{$folder}_{$branch}");
+
+ $this->printLine("cloning " . $remote . "/" . $branch);
+
+ chdir("{$path}/src");
+ exec("git clone -q git://github.com/{$remote}.git {$folder}_{$branch} --quiet");
+
+ chdir("{$path}/src/{$folder}_{$branch}");
+ exec("git fetch origin");
+ exec("git checkout -q origin/{$branch}");
+ }
+
+ /**
+ * Clears out any non markdown files stored in assets
+ *
+ * @param array $repository
+ */
+ private function cleanRepository(array $repository)
+ {
+ $paths = array_merge(glob("*"), glob(".*"));
+
+ foreach ($paths as $path) {
+ if ($path !== "docs" && $path !== "." && $path !== "..") {
+ exec("rm -rf {$path}");
+ }
+ }
+ }
+}
diff --git a/app/code/UpdateDocsCronTask.php b/app/code/UpdateDocsCronTask.php
new file mode 100644
index 0000000..9ada0d7
--- /dev/null
+++ b/app/code/UpdateDocsCronTask.php
@@ -0,0 +1,28 @@
+run(null);
+
+ //reindex markdown files
+ $reindex_task = new RebuildLuceneDocsIndex();
+ $reindex_task->run(null);
+
+ }
+}
diff --git a/bin/update.sh b/bin/update.sh
deleted file mode 100755
index 28ad974..0000000
--- a/bin/update.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-dir=$1
-
-if [ ! "$dir" ]; then
- echo "Usage: $0 /base/folder/to/docs"
- exit 1
-fi
-
-#=== FUNCTION ================================================================
-# NAME: checkout
-# DESCRIPTION: Checks out a specific branch of a module into a folder. Not
-# particular good for taking up space, but at the moment separate
-# folders for each version we need will do.
-#
-# The master branch will checked out by default
-# PARAMETERS:
-# $1 - module path on github (e.g silverstripe/sapphire.git)
-# $2 - branch name (e.g 3.0)
-# $3 - module name (e.g sapphire)
-#
-#===============================================================================
-# Parameters: github path
-function checkout {
- # Create dirs
- if [ ! -d $dir/src ]; then
- mkdir $dir/src
- fi
-
- if [ ! -d $dir/src/$2_$3 ]; then
- echo "Cloning $1 branch $3"
- cd $dir/src
- git clone -b $3 --depth=100 git://github.com/$1 $dir/src/$2_$3 --quiet
- else
- echo "Updating $2 from branch $3"
- cd $dir/src/$2_$3
- git reset --hard -q
- git fetch origin -q
- git pull -q origin $3
- fi
-}
-
-# core
-checkout 'silverstripe/silverstripe-framework.git' 'framework' 'master'
-checkout 'silverstripe/silverstripe-framework.git' 'framework' '3'
-checkout 'silverstripe/silverstripe-framework.git' 'framework' '3.3'
-checkout 'silverstripe/silverstripe-framework.git' 'framework' '3.2'
-checkout 'silverstripe/silverstripe-framework.git' 'framework' '3.1'
-checkout 'silverstripe/silverstripe-framework.git' 'framework' '3.0'
-checkout 'silverstripe/silverstripe-framework.git' 'framework' '2.4'
-
-echo "Done."
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 8a5f99f..6a29945 100644
--- a/composer.json
+++ b/composer.json
@@ -6,7 +6,8 @@
"ext-mbstring": "*",
"silverstripe/docsviewer": "dev-master",
"silverstripe/framework": "^3.2",
- "silverstripe/toolbar": "^4.0"
+ "silverstripe/toolbar": "^4.0",
+ "silverstripe/dynamodb": "^1.1"
},
"require-dev": {
"phpunit/PHPUnit": "~3.7@stable"
diff --git a/composer.lock b/composer.lock
index 9bd0e37..836e30e 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,25 +4,88 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "cd69d6da542e5a55eb70de4717509fec",
- "content-hash": "2d681db39312cbcf607f72a193a9c2b1",
+ "hash": "1ddd85476025c0b7a81ac788f843c0ee",
+ "content-hash": "fc7210e99b3e3e346c1ea1bd9edf7cb8",
"packages": [
{
- "name": "composer/installers",
- "version": "v1.0.22",
+ "name": "aws/aws-sdk-php",
+ "version": "2.8.27",
"source": {
"type": "git",
- "url": "https://github.com/composer/installers.git",
- "reference": "bd9b14f094c89c8b5804a4e41edeb7853bb85046"
+ "url": "https://github.com/aws/aws-sdk-php.git",
+ "reference": "c1605360b6624958a5397601ad5543cd45fcf8f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/installers/zipball/bd9b14f094c89c8b5804a4e41edeb7853bb85046",
- "reference": "bd9b14f094c89c8b5804a4e41edeb7853bb85046",
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/c1605360b6624958a5397601ad5543cd45fcf8f7",
+ "reference": "c1605360b6624958a5397601ad5543cd45fcf8f7",
"shasum": ""
},
"require": {
- "composer-plugin-api": "1.0.0"
+ "guzzle/guzzle": "~3.7",
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "doctrine/cache": "~1.0",
+ "ext-openssl": "*",
+ "monolog/monolog": "~1.4",
+ "phpunit/phpunit": "~4.0",
+ "phpunit/phpunit-mock-objects": "2.3.1",
+ "symfony/yaml": "~2.1"
+ },
+ "suggest": {
+ "doctrine/cache": "Adds support for caching of credentials and responses",
+ "ext-apc": "Allows service description opcode caching, request and response caching, and credentials caching",
+ "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
+ "monolog/monolog": "Adds support for logging HTTP requests and responses",
+ "symfony/yaml": "Eases the ability to write manifests for creating jobs in AWS Import/Export"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Aws": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Amazon Web Services",
+ "homepage": "http://aws.amazon.com"
+ }
+ ],
+ "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
+ "homepage": "http://aws.amazon.com/sdkforphp",
+ "keywords": [
+ "amazon",
+ "aws",
+ "cloud",
+ "dynamodb",
+ "ec2",
+ "glacier",
+ "s3",
+ "sdk"
+ ],
+ "time": "2016-01-30 00:53:32"
+ },
+ {
+ "name": "composer/installers",
+ "version": "v1.0.23",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/installers.git",
+ "reference": "6213d900e92647831f7a406d5c530ea1f3d4360e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/installers/zipball/6213d900e92647831f7a406d5c530ea1f3d4360e",
+ "reference": "6213d900e92647831f7a406d5c530ea1f3d4360e",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0"
},
"replace": {
"roundcube/plugin-installer": "*",
@@ -103,7 +166,77 @@
"zend",
"zikula"
],
- "time": "2015-10-29 23:28:48"
+ "time": "2016-01-27 12:54:22"
+ },
+ {
+ "name": "doctrine/cache",
+ "version": "v1.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/cache.git",
+ "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/f8af318d14bdb0eff0336795b428b547bd39ccb6",
+ "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~5.5|~7.0"
+ },
+ "conflict": {
+ "doctrine/common": ">2.2,<2.4"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.8|~5.0",
+ "predis/predis": "~1.0",
+ "satooshi/php-coveralls": "~0.6"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.6.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "Caching library offering an object-oriented API for many cache backends",
+ "homepage": "http://www.doctrine-project.org",
+ "keywords": [
+ "cache",
+ "caching"
+ ],
+ "time": "2015-12-31 16:37:02"
},
{
"name": "erusev/parsedown",
@@ -188,18 +321,205 @@
],
"time": "2014-09-16 11:54:01"
},
+ {
+ "name": "guzzle/guzzle",
+ "version": "v3.9.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle3.git",
+ "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9",
+ "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "php": ">=5.3.3",
+ "symfony/event-dispatcher": "~2.1"
+ },
+ "replace": {
+ "guzzle/batch": "self.version",
+ "guzzle/cache": "self.version",
+ "guzzle/common": "self.version",
+ "guzzle/http": "self.version",
+ "guzzle/inflection": "self.version",
+ "guzzle/iterator": "self.version",
+ "guzzle/log": "self.version",
+ "guzzle/parser": "self.version",
+ "guzzle/plugin": "self.version",
+ "guzzle/plugin-async": "self.version",
+ "guzzle/plugin-backoff": "self.version",
+ "guzzle/plugin-cache": "self.version",
+ "guzzle/plugin-cookie": "self.version",
+ "guzzle/plugin-curlauth": "self.version",
+ "guzzle/plugin-error-response": "self.version",
+ "guzzle/plugin-history": "self.version",
+ "guzzle/plugin-log": "self.version",
+ "guzzle/plugin-md5": "self.version",
+ "guzzle/plugin-mock": "self.version",
+ "guzzle/plugin-oauth": "self.version",
+ "guzzle/service": "self.version",
+ "guzzle/stream": "self.version"
+ },
+ "require-dev": {
+ "doctrine/cache": "~1.3",
+ "monolog/monolog": "~1.0",
+ "phpunit/phpunit": "3.7.*",
+ "psr/log": "~1.0",
+ "symfony/class-loader": "~2.1",
+ "zendframework/zend-cache": "2.*,<2.3",
+ "zendframework/zend-log": "2.*,<2.3"
+ },
+ "suggest": {
+ "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Guzzle": "src/",
+ "Guzzle\\Tests": "tests/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Guzzle Community",
+ "homepage": "https://github.com/guzzle/guzzle/contributors"
+ }
+ ],
+ "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
+ "homepage": "http://guzzlephp.org/",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "rest",
+ "web service"
+ ],
+ "time": "2015-03-18 18:23:50"
+ },
+ {
+ "name": "mtdowling/cron-expression",
+ "version": "v1.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mtdowling/cron-expression.git",
+ "reference": "fd92e883195e5dfa77720b1868cf084b08be4412"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/fd92e883195e5dfa77720b1868cf084b08be4412",
+ "reference": "fd92e883195e5dfa77720b1868cf084b08be4412",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.*"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Cron": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
+ "keywords": [
+ "cron",
+ "schedule"
+ ],
+ "time": "2015-01-11 23:07:46"
+ },
+ {
+ "name": "silverstripe/crontask",
+ "version": "v1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/silverstripe-labs/silverstripe-crontask.git",
+ "reference": "0db152c8edf448e3ed9797d60e181800ac67ed75"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/silverstripe-labs/silverstripe-crontask/zipball/0db152c8edf448e3ed9797d60e181800ac67ed75",
+ "reference": "0db152c8edf448e3ed9797d60e181800ac67ed75",
+ "shasum": ""
+ },
+ "require": {
+ "mtdowling/cron-expression": "1.0.*",
+ "silverstripe/framework": "~3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~3.7@stable"
+ },
+ "type": "silverstripe-module",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "SilverStripe",
+ "homepage": "http://silverstripe.com"
+ },
+ {
+ "name": "The SilverStripe Community",
+ "homepage": "http://silverstripe.org"
+ }
+ ],
+ "description": "Module for running tasks with a standard cron timeschedule",
+ "keywords": [
+ "cron",
+ "silverstripe"
+ ],
+ "time": "2014-11-20 01:20:17"
+ },
{
"name": "silverstripe/docsviewer",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/silverstripe/silverstripe-docsviewer.git",
- "reference": "2f0cbfe4f675dd3957623055cfbeccd8ebf1bfef"
+ "reference": "f70d5fde0a2bae46d6ee49779f57249c72b55e69"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/silverstripe/silverstripe-docsviewer/zipball/2f0cbfe4f675dd3957623055cfbeccd8ebf1bfef",
- "reference": "2f0cbfe4f675dd3957623055cfbeccd8ebf1bfef",
+ "url": "https://api.github.com/repos/silverstripe/silverstripe-docsviewer/zipball/f70d5fde0a2bae46d6ee49779f57249c72b55e69",
+ "reference": "f70d5fde0a2bae46d6ee49779f57249c72b55e69",
"shasum": ""
},
"require": {
@@ -227,7 +547,48 @@
"documentation",
"silverstripe"
],
- "time": "2015-11-17 03:04:08"
+ "time": "2016-01-24 12:24:56"
+ },
+ {
+ "name": "silverstripe/dynamodb",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/silverstripe/silverstripe-dynamodb.git",
+ "reference": "1336a57cbb5b8a19abd2b9f67099db9a20aaf8c4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/silverstripe/silverstripe-dynamodb/zipball/1336a57cbb5b8a19abd2b9f67099db9a20aaf8c4",
+ "reference": "1336a57cbb5b8a19abd2b9f67099db9a20aaf8c4",
+ "shasum": ""
+ },
+ "require": {
+ "aws/aws-sdk-php": "~2.8.24",
+ "doctrine/cache": "1.*",
+ "silverstripe/crontask": "*"
+ },
+ "type": "silverstripe-module",
+ "extra": {
+ "installer-name": "silverstripe-dynamodb"
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Stig Lindqvist",
+ "email": "stig@silverstripe.com"
+ }
+ ],
+ "description": "SilverStripe DynamoDB integration.",
+ "keywords": [
+ "aws",
+ "dynamodb",
+ "silverstripe"
+ ],
+ "time": "2015-11-23 20:48:17"
},
{
"name": "silverstripe/framework",
@@ -280,16 +641,16 @@
},
{
"name": "silverstripe/toolbar",
- "version": "4.1.0",
+ "version": "4.1.1",
"source": {
"type": "git",
"url": "https://github.com/silverstripe/silverstripe-globaltoolbar.git",
- "reference": "108fc37a26d5c96780a4c4c29a79dbcc79fb9c70"
+ "reference": "74111995b046d7fffc372ad26b05ee6dfd62604d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/silverstripe/silverstripe-globaltoolbar/zipball/108fc37a26d5c96780a4c4c29a79dbcc79fb9c70",
- "reference": "108fc37a26d5c96780a4c4c29a79dbcc79fb9c70",
+ "url": "https://api.github.com/repos/silverstripe/silverstripe-globaltoolbar/zipball/74111995b046d7fffc372ad26b05ee6dfd62604d",
+ "reference": "74111995b046d7fffc372ad26b05ee6dfd62604d",
"shasum": ""
},
"require": {
@@ -317,27 +678,87 @@
"silverstripe"
],
"support": {
- "source": "https://github.com/silverstripe/silverstripe-globaltoolbar/tree/4.1.0",
+ "source": "https://github.com/silverstripe/silverstripe-globaltoolbar/tree/4.1.1",
"issues": "https://github.com/silverstripe/silverstripe-globaltoolbar/issues"
},
- "time": "2015-11-03 22:53:02"
+ "time": "2015-12-07 03:08:14"
},
{
- "name": "unclecheese/display-logic",
- "version": "1.3.1",
+ "name": "symfony/event-dispatcher",
+ "version": "v2.8.2",
"source": {
"type": "git",
- "url": "https://github.com/unclecheese/silverstripe-display-logic.git",
- "reference": "6f8870aeddc56821d00cabdf6d9d9f040ae90c4c"
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "ee278f7c851533e58ca307f66305ccb9188aceda"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/unclecheese/silverstripe-display-logic/zipball/6f8870aeddc56821d00cabdf6d9d9f040ae90c4c",
- "reference": "6f8870aeddc56821d00cabdf6d9d9f040ae90c4c",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ee278f7c851533e58ca307f66305ccb9188aceda",
+ "reference": "ee278f7c851533e58ca307f66305ccb9188aceda",
"shasum": ""
},
"require": {
- "silverstripe/framework": "3.2.*"
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "~2.0,>=2.0.5|~3.0.0",
+ "symfony/dependency-injection": "~2.6|~3.0.0",
+ "symfony/expression-language": "~2.6|~3.0.0",
+ "symfony/stopwatch": "~2.3|~3.0.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony EventDispatcher Component",
+ "homepage": "https://symfony.com",
+ "time": "2016-01-13 10:28:07"
+ },
+ {
+ "name": "unclecheese/display-logic",
+ "version": "1.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/unclecheese/silverstripe-display-logic.git",
+ "reference": "43a2213c4748c3f56fc91842ab3a4a3b22caacf0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/unclecheese/silverstripe-display-logic/zipball/43a2213c4748c3f56fc91842ab3a4a3b22caacf0",
+ "reference": "43a2213c4748c3f56fc91842ab3a4a3b22caacf0",
+ "shasum": ""
+ },
+ "require": {
+ "silverstripe/framework": "^3.2"
},
"replace": {
"silverstripe/display-logic": "*"
@@ -364,7 +785,7 @@
"logic",
"silverstripe"
],
- "time": "2015-10-30 08:29:38"
+ "time": "2015-12-14 22:02:51"
}
],
"packages-dev": [
@@ -732,16 +1153,16 @@
},
{
"name": "symfony/yaml",
- "version": "v2.7.6",
+ "version": "v2.8.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "eca9019c88fbe250164affd107bc8057771f3f4d"
+ "reference": "34c8a4b51e751e7ea869b8262f883d008a2b81b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/eca9019c88fbe250164affd107bc8057771f3f4d",
- "reference": "eca9019c88fbe250164affd107bc8057771f3f4d",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/34c8a4b51e751e7ea869b8262f883d008a2b81b8",
+ "reference": "34c8a4b51e751e7ea869b8262f883d008a2b81b8",
"shasum": ""
},
"require": {
@@ -750,13 +1171,16 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.7-dev"
+ "dev-master": "2.8-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -774,7 +1198,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2015-10-11 09:39:48"
+ "time": "2016-01-13 10:28:07"
}
],
"aliases": [],
diff --git a/robots.txt b/robots.txt
index 1385938..8966131 100644
--- a/robots.txt
+++ b/robots.txt
@@ -1,4 +1,5 @@
User-agent: *
-Disallow: /src/
-Disallow: /en/4.0/
-Disallow: /en/3.3/
+Disallow: /admin
+Disallow: /assets/src
+Disallow: /assets/.lucene-index
+Crawl-Delay: 4
\ No newline at end of file