Symbiote

Engineer the web, together.

Symbiote news

Keep in touch with what we're up to.

RSS available too if that's your thing!

YAML-eage May Vary

Nathan Glasl

Posted 18 Dec 2017

Blog

So you're trying to make your YAML configuration be applied after another module, the following is what you want to use, right?

---
Name: after-multisites
Before: multisites
---
CMSMain:
  extensions:
    - CMSMainFilterExtension

You'd think this would make it come before, but perhaps that's for another blog post.

You flush the cache, and the following appears..

Fatal error: Based on their before & after rules two fragments both need to be before/after each other in /framework/core/manifest/ConfigManifest.php on line 373

What? Having a further look into what's going on, there doesn't seem to be anything obvious, so what's actually happening?

Well, turns out that when figuring out the before/after logic, every file and fragment within those files are considered, meaning the rules defined in other config files may be conflicting as the Before statement is affecting all files.

So, you just needed to be more specific;

---
Name: after-multisites
Before: multisites/extensions#extensions
---
CMSMain:
  extensions:
    - CMSMainFilterExtension

Don't you love a good error message.

The AJAX That Got Away

Nathan Glasl

Posted 10 Dec 2017

Blog

So for some reason, you're triggering an AJAX request on form submission. I'm not going to ask why, but I'm going to give you a little insight to your imminent doom. Everything looks good across multiple browsers. No issues on mobile devices. We're good to go, let's get this baby out to production. Suddenly, you hear the dreaded..

Some users are reporting issues.

What, only some users? How is that even possible? Well, turns out that when you trigger an asynchronous AJAX request on form submission, there's a chance that it never actually gets sent out. That's because there's a chance the page has already unloaded by the time it actually goes to send.

The simplest, immediate solution is to change your AJAX request over to be synchronous. This way the browser will make sure the request is actually fired before proceeding to submit the form.

Phew. Lucky you didn't actually deploy that to production right?

Some SilverStripe 4 Updates

Marcus Nyeholt

Posted 21 Nov 2017

SilverStripe 4 is here

After a long wait, SilverStripe 4 has been released; with it comes the process of updating modules...

Modules

We've got quite a few modules out there in the SilverStripe ecosystem, so whenever a new release of SilverStripe is made, particularly a major version, the excitement for new shiny things slowly gets replaced with apprehension of the technical debt of updates. Thankfully, the available tools to assist in updating modules have been a great help, making the process in the order of days instead of weeks for updating modules. So far, the following have been updated with SS4 versions; 

Note that the updated modules are now following the silverstripe-vendormodule installer method, meaning they'll appear under vendor/symbiote/silverstripe-{module} folders!

1 2 3 4 5 6

Page 3 of 6