SilverStripeBackend now has a createEndpointFetcher method, described
in its docblock in more detail.
It’s based the asset-admin code for apiCallerFromEndpoint(). It’s
refactored and generalised into framework in order to provide a
general-purpose API for tying Javascript components to backend APIs.
@todo: tests
FIX: Ensure post has correct content-type header.
Exporting silverstripe-backend lets other modules (such as asset-admin)
use it.
In addition, the Content-type header of a post request of URL-encoded
data was being set to text/plain by default, which isn’t correct and
stopped PHP from interpreting it.
We've had a few failures where framework caused regressions in CMS,
so these builds are helpful. They'll increase the overall build
times on the "silverstripe" user because of Travis' build limitations.
The parallel per-build run times shouldn't increase, since
framework builds take longer than cms builds anyway:
CMS Behat build took 13:53 on last 3.3 run,
framework MySQL PDO build took 16:12.
Added a test for the forgot password email.
Improved the test for the change-password email.
Fixed issue where `SapphireTest::mailer` was cleared during `setUp` by moving instantiation of the mailer at the end of the `setUp` method.
No longer use deprecated i18n method in test-setup.
Replace potentially real Email Address with a fake one.
It makes very little difference between "npm run build"
and "npm run build --development" (both under a second),
since the gulp pipeline is smart enough to only uglify the new bits.
Creating different dist files with "--development"
is causing grief during pull requests, since most
devs will add the changed files without reviewing them.
It also means you can commit without stopping your "watch" npm task.
This task appears to have been superseded by a new task called `RegenerateCachedImagesTask` but it was not documented, so `FlushGeneratedImagesTask` simply appeared to have vanished. This will update the documentation to reflect this change for both v3.2 and v3.3 (separate PR).
Renaming state operations from 'campaign' to 'record'.
Implemented API endpoint retrieval of GridField data.
Added more mock data into CampaignAdmin (rather than hardcoding in client),
to be replaced by CampaignAdmin API endpoint querying the real datamodel.
Using more native isomorphic-fetch instead of jQuery.ajax
to minimise dependencies and get into a more forward-thinking API.
Also catching errors in ReactJS API backend:
Emulate jQuery.ajax() behaviour. Might change at a later point
if we have a general purpose backend with a promise-based catch()
implementation.