Commit Graph

2044 Commits

Author SHA1 Message Date
Daniel Hensby
0a835c6fe7
Merge branch '3.4' into 3 2016-11-03 13:27:31 +00:00
Damian Mooyman
af27a0f888 Added 4.0.0-alpha3 changelog 2016-11-03 15:27:10 +13:00
Matt Peel
45048ae3b3 Update 14_PHP_Coding_Conventions.md (#6094)
Include a note preferring type-safe identical comparisons (===) over equality (==) where possible.
2016-11-01 18:12:11 +13:00
Antony Thorpe
148126fb79 Updated 01_Error_Handling.md (#6128)
Corrected indentation in yaml
2016-11-01 18:11:10 +13:00
Jono Menz
fdfd0c4fc3 DOCS Remove duped content (#6214)
D.R.Y.
2016-11-01 17:56:32 +13:00
Daniel Hensby
3859a1d7e7
Merge branch '3.4' into 3 2016-10-27 16:16:04 +01:00
Damian Mooyman
ea6851fd70 API Rename _versions table to _Versions
API Support case-sensitive changes to tables
Fixes #2365
2016-10-25 13:27:21 +13:00
Matthew Hailwood
7778357b03 Switch Mandrill recommendation to sparkpost. (#6196)
Now that Mandrill has become a paid part of Campaign Monitor it makes sense for us to recommend the free alternative SparkPost.

The package I've linked to is by the same author as the original Mandrill package.
2016-10-25 13:26:56 +13:00
Nicola Fontana
4d327f81fd DOCS Specify that the selectors change the scope (#6213)
Follow up of issue #4015.
2016-10-21 09:15:27 -07:00
Damian Mooyman
316ac86036
API Writes to versioned dataobjects always writes to stage even when written on live
API Remove "Archive" actions
API "Delete" actions for pages now archives records
BUG Fix batch actions failing on certain controllers
Fixes #6059
2016-10-21 13:16:32 +13:00
Damian Mooyman
840f275235 API Created a generic FormFactory interface (#6178)
Created a generic DataObject FormFactory interface that can be substituted in place of getCMSFields. Different FormFactories can depend on different kinds of context, such as
'Record' or 'Controller' - it's the responsibility of the code calling the factory to interpret and
supply this context.

The expected use-case is that rather than overriding getCMSFields(), developers can
change CMS UIs by manipulating the FormFactory associated with the given DataObject.

This is an experimental UI and may change before 4.0 stable is released.
2016-10-20 12:42:24 +13:00
Jonathon Menz
d2c0b98bc5 DOCS Clarify nested cache block restrictions
Fixes #6078
2016-10-13 14:52:41 -07:00
Jonathon Menz
646d34ec48 DOCS Non-extendable classes
Closes #6129
2016-10-13 09:39:46 -07:00
Jonathon Menz
bfdac2b7b6 DOCS Template debugging 2016-10-13 09:39:10 -07:00
Jonathon Menz
e9a75a54d9 DOCS Partial caching of relationships
Fixes #6177
2016-10-13 09:38:49 -07:00
Jonathon Menz
a893e2aa0f DOCS How to increase partial cache expiry
Closes #3649
2016-10-13 09:37:52 -07:00
Damian Mooyman
92e34b7434 API controller::join_links supports array values 2016-10-07 13:25:56 +13:00
Damian Mooyman
cb24d199b6 API Convert fieldSpec options to bitwise operators (#6161)
Fixes #6159
2016-10-06 23:23:22 +01:00
Damian Mooyman
11bbed4f76
API Move many methods from DataObject to DataObjectSchema 2016-10-06 19:57:24 +13:00
Damian Mooyman
f0dd9af699 API Support named join alias for many_many through list
Add tests for sorting on joined alias
2016-10-06 17:39:48 +13:00
Damian Mooyman
e7303170c2 API Implement many_many through
API Remove DataObject::validateModelDefinitions, and move to DataObjectSchema
API Remove deprecated 3.0 syntax for addSelect()
API made DataList::createDataObject public
API Move component parsing logic to DataObjectSchema
API Remove support for triangular has_many / belongs_many relationships
2016-10-06 17:39:48 +13:00
Damian Mooyman
380d6523c5
API Cleaned up versioned status checks 2016-10-06 10:31:09 +13:00
Jonathon Menz
24f8f2715c DOCS Introduce TemplateGlobalProvider 2016-10-03 09:36:47 -07:00
Daniel Hensby
45736ef2db
Merge branch '3' 2016-10-03 12:00:20 +01:00
jeffreyguo
801574b9b0 Update index.md (#4020)
MINOR: wording correction
2016-09-29 13:21:17 +13:00
Daniel Hensby
99f98e51d0
Merge branch '3' 2016-09-23 17:15:59 +01:00
Daniel Hensby
6022012481
Merge branch '3.4' into 3 2016-09-23 16:33:45 +01:00
Daniel Hensby
004bb8f03a
Merge pull request #5998 from sminnee/remove-bbcode 2016-09-23 15:28:30 +01:00
Damian Mooyman
68ac1283d0 Add changelog placeholder 2016-09-23 16:27:11 +12:00
Loz Calver
fc72434ea5 Update 4.0.0.md 2016-09-22 16:56:37 +01:00
Damian Mooyman
e8375111b1
API Enable default value to be specified for dbstring types at the db level
Fixes #1409
2016-09-22 15:19:30 +12:00
Ingo Schommer
54aad839c4 Clarified <% include %> use in SS4 (see #5952) 2016-09-22 11:29:32 +12:00
Jason Irish
dcc51ec479 Docs - sort by random instructions
Added instructions for sorting per database type. `RAND()` throws errors in PostgreSQL and SQLite
2016-09-20 14:16:22 -05:00
Ingo Schommer
a0c0a4ae4f Updated docs with sass-lint references 2016-09-18 16:25:16 +12:00
Sam Minnee
c2ebff5c19 NEW: Use sass-lint over scss-lint
SCSS linting now uses the node-based sass-lint tool, since we’re
shifting away from CodeClimate.

This has the benefit of not requiring a ruby gem on dev tools -
everything is provided as npm dev dependencies.

This was also necessary to run the linting inside travis.
2016-09-18 14:50:27 +12:00
Daniel Hensby
f65168ef8d
Merge branch '3' 2016-09-16 13:43:23 +01:00
Ingo Schommer
8f23fa99a5 API Moved CMS-specific JavaScript to admin/thirdparty
The 'admin' module will be split off from 'framework',
where 'framework' only provides (mostly) frontend-agnostic PHP classes.
For example, HTMLEditorField.php has a TinyMCEConfig.php driver,
but doesn't come with its own JS includes.
2016-09-16 13:46:10 +12:00
Ingo Schommer
2316b0da9f API Remove i18n::js_i18n option
The JavaScript i18n functionality in SilverStripe is used in the CMS as well as form field implementations.
Form fields used to include their own JavaScript for usage outside of CMS. This now requires custom build tooling in a project.
Hence there's no need for an i18n shim (i18nx.js), since the CMS always uses i18n support.
2016-09-16 13:46:09 +12:00
Ingo Schommer
ee10dbb680 API Moved frontend assets into admin/ "module"
We've removed the ability to directly reference JS and CSS files
for form fields and other SilverStripe features in favour of a common bundle built by Webpack.

The logical next step is to make the framework module free of frontend dependencies,
which should simplify its operation, and avoid another time intensive "npm install" on a module.
2016-09-16 13:46:06 +12:00
Ingo Schommer
0a380a94cd API Removed unused UMD builds of individual JS files
This has been made obsolete, since those files are all included in the main bundle (see bundle-lib.js).
They should not be referenced individually (e.g. through Requirements::block() or Requirements::javascript()).
2016-09-15 22:19:10 +12:00
Sam Minnee
1b527fca3f FIX Webpack handles images & fonts.
Responsibility for finding and referencing images and fonts is now
given to webpack. All the url references are now relative to the
component scss file, and point to font & images files in src/, rather
than assuming someone else will place them in dist.

This makes the source more modular, and makes it easier to, for
example, inline images are data URIs, or create a new build script that
builds several modules for a project in a single pass.

Workaround for bad font path in bundle.css:
ExtactTextPlugin didn’t work as well with a subfolder reference in the
filename. This is just a short-term fix and could probably be improved
to put bundle.css back in the styles subfolder.

Webpack handles images & fonts:
Responsibility for finding and referencing images and fonts is now
given to webpack. All the url references are now relative to the
component scss file, and point to font & images files in src/, rather
than assuming someone else will place them in dist.

This makes the source more modular, and makes it easier to, for
example, inline images are data URIs, or create a new build script that
builds several modules for a project in a single pass.

Clarify docs on spriting and webfonts:
We've decided to remove sprity since it comes with hundreds of dependencies,
and needs compilation within the "npm install" - dragging out the already overweight
install process, and making the resulting node_modules/ folder less portable between systems.
2016-09-15 22:19:09 +12:00
Sam Minnee
2e577ddb1d API Use Webpack
The bundle is generated by running “webpack” directly - gulp is no
longer needed as an intermediary. The resulting config is a lot shorter,
although more configuration is pushed into lib.js.

Modules are shared between javascript files as global variables.
Although this global state pollution is a bit messy, I don’t think it’s
practically any worse than the previous state, and it highlights the
heavy coupling between the different packages we have in place.
Reducing the width of the coupling between the core javascript and
add-on modules would probably be a better way of dealing with this than
replacing global variables with some other kind of global state.

The web pack execution seems roughly twice as fast - if I clear out my
framework/client/dist/js folder, it takes 13.3s to rebuild. However,
it’s not rebuilding other files inside dist, only the bundle files.

CSS files are now included from javascript and incorporated into
bundle.css by the webpack. Although the style-loader is helpful in some
dev workflows (it allows live reload), it introduces a flash of
unstyled content which makes it inappropriate for production.

Instead ExtractTextPlugin is used to write all the aggregated CSS
into a single bundle.css file. A style-loader-based configuration could
be introduced for dev environments, if we make use of the webpack live
reloader in the future.

Note that the following features have been removed as they don't appear to be
necessary when using Webpack:
 - UMD module generation
 - thirdparty dist file copying

LeftAndMain.js deps: Without it, ssui.core.js gets loaded too late,
which leads e.g. to buttons being initialised without this added behaviour.
2016-09-15 22:19:05 +12:00
Daniel Hensby
f25b88b146 showqueries debugging tool now inserts parameters in place (#5885) 2016-09-15 09:15:19 +12:00
Daniel Hensby
4e1d38c209
Merge branch '3' 2016-09-14 11:49:07 +01:00
Daniel Hensby
a9df28c791
Merge branch '3.4' into 3 2016-09-14 11:40:15 +01:00
Sam Minnee
aecf5260fc API: Remove TextParser and BBCodeParser
These have been archived at
https://github.com/silverstripe-archive/silverstripe-bbcodeparser
2016-09-14 09:10:49 +12:00
Daniel Hensby
e3ac75febd
DOCS Reference composer docs for installation instructions 2016-09-12 17:04:20 +01:00
Zaid Al-Dabbagh
d0aa0cb911 Update 01_Error_Handling.md
Indentation error causes yaml parsing error.
2016-09-12 10:51:30 +12:00
Damian Mooyman
bfd9cb1aca Rename SS_ prefixed classes (#5974) 2016-09-09 18:43:05 +12:00
Ingo Schommer
01fdb7949f Clarify upgrader docs 2016-09-09 13:54:54 +12:00
Ingo Schommer
97c2baedeb Less verbosity in upgrading guide 2016-09-09 13:33:52 +12:00
Damian Mooyman
fe5925726e
Restructure 4.0.0.md 2016-09-09 13:16:09 +12:00
Damian Mooyman
8dd644d25d
API Namespace all classes
Namespace all templates
Move difflib and BBCodeParser2 to thirdparty
Remove deprecated API marked for removal in 4.0
2016-09-08 10:23:17 +12:00
Daniel Hensby
918fb94396
Merge branch '3' 2016-09-07 09:31:23 +01:00
Daniel Hensby
3fd9fe3aa0
Merge branch '3.4' into 3 2016-09-07 09:22:06 +01:00
Ingo Schommer
3b71b7731a Merge pull request #5943 from open-sausages/pulls/4.0/template-lookup-redux
API Update template lookup to late resolution for performance reasons
2016-09-06 20:27:11 +12:00
Damian Mooyman
c9b6e9bac0
API Update template lookup to late resolution for performance reasons
API Update behaviour of form fields to use standard template lookup mechanism
API Support custom "type" parameter to template lookup
2016-09-06 12:54:03 +12:00
Daniel Hensby
2fbd1658dd Merge pull request #5949 from open-sausages/pulls/4.0/document-iconv
Document iconv a bit better
2016-09-06 00:00:29 +01:00
Damian Mooyman
ca6be9eddb
Document iconv a bit better
Fixes https://github.com/silverstripe/silverstripe-cms/issues/1002
2016-09-05 17:55:32 +12:00
Damian Mooyman
7105099497
API Change behaviour of filter API to support injected search filter classes
API Remove DataList::applyFilterContext(), superseded by DataList::createSearchFilter()
API SearchFilter::getSupportedModifiers() added to support supported modifier inspection
2016-09-05 17:28:36 +12:00
Ingo Schommer
d38db31eb4 Added link to React coding conventions 2016-09-01 13:59:34 +12:00
Ingo Schommer
1a8348900d Merge pull request #5899 from christopherdarling/patch-7
DOCS add missing commit af3412a to 3.4.1 changelog
2016-09-01 08:17:16 +12:00
Rob Ingram
a0d3ad1875 Change order of fixtures in example
* Make the document explicit about the definition of objects before they are referenced.
2016-08-24 07:37:55 +12:00
Daniel Hensby
1d1227cc9a
Merge branch '3' 2016-08-23 10:37:47 +01:00
Daniel Hensby
058f57979b
Merge branch '3.4' into 3 2016-08-22 16:23:22 +01:00
Daniel Hensby
060bf6b327
Merge branch '3.3' into 3.4 2016-08-22 16:22:37 +01:00
Daniel Hensby
088d88e978
Merge branch '3.2' into 3.3 2016-08-22 16:22:02 +01:00
Daniel Hensby
f4a6e9e517
Merge branch '3.1' into 3.2 2016-08-22 15:30:03 +01:00
Daniel Hensby
8e4e2b4fa8 Merge pull request #4173 from AntonyThorpe/patch-4
DOCS Update 06_Tabbed_Forms.md
2016-08-19 15:49:51 +01:00
Christopher Darling
ef1d93c994 DOCS add missing commit af3412a to 3.4.1 changelog 2016-08-18 16:27:36 +01:00
Damian Mooyman
59efd280ad Fix issues with CMS permission codes
Standardise template locations
Move CMSSettingsController class to SiteConfig module
Fix CMSMenu behaviour for namespaced admin sections
Split classes into one per file
Manual fixes and cleanup
2016-08-17 11:19:14 +12:00
Ingo Schommer
f3db2e3e03 Upgrade note on HeaderField 2016-08-16 11:09:20 +12:00
Damian Mooyman
d88516203c Merge 3.4 into 3 2016-08-15 19:05:20 +12:00
Damian Mooyman
f4ba3cd175 Merge 3.3 into 3.4
# Conflicts:
#	security/ChangePasswordForm.php
#	templates/forms/OptionsetField.ss
2016-08-15 19:03:13 +12:00
Damian Mooyman
ebc0bafea9 Merge 3.2 into 3.3 2016-08-15 18:51:07 +12:00
Damian Mooyman
f3afd14e4f Merge 3.2 into 3.3 2016-08-15 18:47:43 +12:00
Damian Mooyman
8ec89be9d4 Merge 3.1 into 3.2
# Conflicts:
#	forms/CheckboxSetField.php
#	forms/OptionsetField.php
#	security/Member.php
#	tests/forms/CheckboxSetFieldTest.php
2016-08-15 18:46:26 +12:00
Damian Mooyman
1f06e6dd18 Added 3.4.1 changelog 2016-08-15 18:29:38 +12:00
Damian Mooyman
68986558c9 Added 3.3.3 changelog 2016-08-15 18:05:32 +12:00
Damian Mooyman
351bf6cfe4 Added 3.2.5 changelog 2016-08-15 17:22:23 +12:00
Damian Mooyman
6f60d2518b Added 3.1.20 changelog 2016-08-15 16:44:36 +12:00
Damian Mooyman
02000e5446 Added 3.4.1-rc2 changelog 2016-08-15 15:55:19 +12:00
Damian Mooyman
7c0669486a Added 3.3.3-rc2 changelog 2016-08-15 15:34:41 +12:00
Damian Mooyman
d83c678b6a Added 3.3.3-rc2 changelog 2016-08-15 15:07:26 +12:00
Damian Mooyman
1a03bdba7a Added 3.2.5-rc2 changelog 2016-08-15 14:17:41 +12:00
Damian Mooyman
b2a7170c64 Added 3.1.20-rc2 changelog 2016-08-15 13:41:31 +12:00
Christopher Joe
42d36da3fb Switch redux-logger to redux devtools for easier debugging 2016-08-12 16:11:33 +12:00
Damian Mooyman
c7387ff45f API Upgrade to SilverStripe\CMS namespace 2016-08-11 11:50:18 +12:00
Damian Mooyman
7de5b998e1 Merge 3.4 into 3 2016-08-05 19:12:25 +12:00
Damian Mooyman
2299b8e67a Added 3.4.1-rc1 changelog 2016-08-05 18:52:14 +12:00
Damian Mooyman
ca754eb887 Merge 3.3 into 3.4
# Conflicts:
#	admin/javascript/lang/fa_IR.js
#	admin/javascript/lang/it.js
#	admin/javascript/lang/src/fa_IR.js
#	admin/javascript/lang/src/it.js
#	lang/cs.yml
#	lang/eo.yml
#	lang/fa_IR.yml
#	lang/fi.yml
#	lang/it.yml
#	lang/sk.yml
2016-08-05 16:48:26 +12:00
Damian Mooyman
958344eb5d Added 3.3.3-rc1 changelog 2016-08-05 16:33:22 +12:00
Damian Mooyman
0d5ae23f2b Merge 3.2 into 3.3 2016-08-05 14:36:35 +12:00
Damian Mooyman
6e6451fa71 Added 3.2.5-rc1 changelog 2016-08-05 13:24:35 +12:00
Damian Mooyman
cb39f2ef27 Merge 3.1 into 3.2
# Conflicts:
#	admin/javascript/lang/cs.js
#	admin/javascript/lang/de.js
#	admin/javascript/lang/eo.js
#	admin/javascript/lang/es.js
#	admin/javascript/lang/fa_IR.js
#	admin/javascript/lang/fi.js
#	admin/javascript/lang/fr.js
#	admin/javascript/lang/id.js
#	admin/javascript/lang/id_ID.js
#	admin/javascript/lang/it.js
#	admin/javascript/lang/ja.js
#	admin/javascript/lang/lt.js
#	admin/javascript/lang/mi.js
#	admin/javascript/lang/nb.js
#	admin/javascript/lang/nl.js
#	admin/javascript/lang/pl.js
#	admin/javascript/lang/ro.js
#	admin/javascript/lang/ru.js
#	admin/javascript/lang/sk.js
#	admin/javascript/lang/sl.js
#	admin/javascript/lang/sr.js
#	admin/javascript/lang/sr@latin.js
#	admin/javascript/lang/sr_RS.js
#	admin/javascript/lang/sr_RS@latin.js
#	admin/javascript/lang/src/cs.js
#	admin/javascript/lang/src/de.js
#	admin/javascript/lang/src/eo.js
#	admin/javascript/lang/src/es.js
#	admin/javascript/lang/src/fa_IR.js
#	admin/javascript/lang/src/fi.js
#	admin/javascript/lang/src/fr.js
#	admin/javascript/lang/src/id.js
#	admin/javascript/lang/src/id_ID.js
#	admin/javascript/lang/src/it.js
#	admin/javascript/lang/src/ja.js
#	admin/javascript/lang/src/lt.js
#	admin/javascript/lang/src/mi.js
#	admin/javascript/lang/src/nb.js
#	admin/javascript/lang/src/nl.js
#	admin/javascript/lang/src/pl.js
#	admin/javascript/lang/src/ro.js
#	admin/javascript/lang/src/ru.js
#	admin/javascript/lang/src/sk.js
#	admin/javascript/lang/src/sl.js
#	admin/javascript/lang/src/sr.js
#	admin/javascript/lang/src/sr@latin.js
#	admin/javascript/lang/src/sr_RS.js
#	admin/javascript/lang/src/sr_RS@latin.js
#	admin/javascript/lang/src/sv.js
#	admin/javascript/lang/src/zh.js
#	admin/javascript/lang/sv.js
#	admin/javascript/lang/zh.js
#	javascript/lang/fa_IR.js
#	javascript/lang/src/fa_IR.js
2016-08-05 11:41:04 +12:00
Damian Mooyman
ec969c21e6 Added 3.1.20-rc1 changelog 2016-08-05 11:17:57 +12:00
Paul Clarke
b9445511b7 Bootstrap GridField 2016-08-03 18:35:18 +12:00
Daniel Hensby
d083c9622a Merge pull request #4394 from simonwinter/patch-1
Update 05_Typography.md
2016-08-02 21:27:56 +01:00
Damian Mooyman
9188628ae3 API Add $action parameter to Controller::Link 2016-08-02 10:27:55 +12:00
Damian Mooyman
020d0c181e Changelog for https://github.com/silverstripe/silverstripe-cms/pull/1556 (#5837) 2016-07-25 18:27:38 +12:00