I'm pretty confident that I've found a way to make Sprout support the following data-isolation approaches: ✅ Separate instance ✅ Shared instance ✅ Separate schemas ✅ Partitioning ✅ Discriminator ✅ Row-level-security In ANY combination, with different approaches per tenant! #multitenancy #laravel
Sprout for Laravel
@sprout.ollieread.com
Multitenancy for your Laravel application. Sprout is an easy to use multitenancy solution that integrates seamlessly with your Laravel application, while remaining flexible. #laravel #multitenancy By @ollieread.com https://sprout.ollieread.com
I'm currently working on Sprout 2.0, which will have multi-database and domain support, as well as a whole host of additional supporting features! #laravel #multitenancy
After MUCH delay, I've finally completed the documentation for the service overrides that ship with Sprout. #multitenancy #laravel sprout.ollieread.com/docs/1.x/ser...
Service Overrides: Core Concepts - Sprout - Multitenancy for Laravel
Feature rich, flexible, and easy to use multitenancy package that integrates seamlessly with your Laravel application
sprout.ollieread.com
👋 Going to jump back in this week, starting with an overhaul for the docs. I'm not happy with them as they are.
The next part of Sprouts development will be the add-on Bud, which adds support for runtime resolved tenant-specific configuration. It comes with implementations for: - Auth Providers - Database Connections - Cache Stores - Filesystem Disks - and more #laravel #multitenancy
I’ve just released Sprout 1.1 which includes a few minor tweaks and refactors. github.com/sprout-larav...
Release v1.1.0 · sprout-laravel/sprout
What's Changed refactor(eloquent.resources): Allow for overriding of resource key by @ollieread in #111 refactor: Improve routing by @ollieread in #112 Full Changelog: v1.0.0...v1.1.0
github.com
I'm putting together some plans for a Laravel starter kit, and I've decided that it's going to involve some “dev tools”, for things like generating the config using an interactive command.
The “no results” analytics feedback from Algolia is going to be useful. Mostly at least, I’m not sure what “assign” refers to 😅
I'm happy with the design for the Sprout site, but I'm not 100% sold on the content of the site. I think it needs more, but I'm really not a "marketing" content person. Anyone have any suggestions? sprout.ollieread.com
I'm pleased to announce that Sprout v1.0.0 is now available! There's still a bit to add to the docs, but the package is fully working, and there's enough documentation to get you going! #laravel #multitenancy packagist.org/packages/spr...
sprout/sprout - Packagist
A flexible, seamless and easy to use multitenancy solution for Laravel
packagist.org
V1 will be released on the 24th February! That date has been pushed back to give me time to finish the documentation, as I've been out of commission, unable to use my arms for a few days. #laravel #multitenancy github.com/sprout-larav...
V1 Release Milestone · sprout-laravel/sprout
A flexible, seamless and easy to use multitenancy solution for Laravel - V1 Release Milestone · sprout-laravel/sprout
github.com
I had an idea earlier, and it's now part of Sprout ready for v1. It introduces a “stacked override” so you can layer multiple overrides for a single service. This is particularly useful for Sprout Bud :P Onto the docs now. #laravel #multitenancy github.com/sprout-larav...
feat: Introduce stacked overrides for layering of multiple overrides by ollieread · Pull Request #99 · sprout-laravel/sprout
This PR introduces a special kind of service override Sprout\Overrides\StackedOverride, which allows for multiple overrides to be stacked up for one service. It also refactors two existing override...
github.com
FINALLY! 100%! Let's appreciate that the majority of the 11% was done in-between cooking a roast dinner! One step closer! #laravel #multitenancy
I guess I've got no choice but to test this functionality now then 😅
I guess I've got no choice but to test this functionality now then 😅
Got the final checklist ready for a v1 release! github.com/sprout-larav... #laravel #multitenancy
Prepare for v1 release :tada: · Issue #44 · sprout-laravel/sprout
The following need to happen before we can look at a v1 tag: #91 #36 Add more facades for Sprouts core components Complete documentation Once those parts of the code/documentation have been complet...
github.com
I'm going to be honest. I've really outdone myself with @sprout.ollieread.com. I've just created a demo app to show someone how quick it is to set up and configure, and, the actual Sprout part was like 3 minutes. IF THAT!
Right! I'm confident that's enough for the unit tests, now that the service override refactor has been merged in. All that's left now, are the feature tests, updating the docs, and then it's release time! #multitenancy #laravel
Fun fact, the core Sprout package is currently about 13,400 lines long, which works out as… 4800 lines of comments 4600 lines of code 4000 lines of tests That's only 70% coverage and doesn't involve feature tests! #multitenancy #laravel #opensource
Hello all! I am still working away on Sprout, with the refactors mostly completed, and all focus now on writing tests, both unit and feature! I know it's taking time, but having a robust test suite is crucial! #multitenancy #laravel
There's going to be a slight delay on the stable release, as I need to do a bit of refactoring. The service override functionality has a grown a fair bit, and I'd rather refactor this now than after release! Shouldn't take long. Details here: github.com/sprout-larav...
Separate service overrides to their own manager to allow for more complex configuration · Issue #88 · sprout-laravel/sprout
Service overrides are currently handled entirely by the core Sprout class, which was great to start with, but it means that the functionality has had to be separated out to a trait as it grows more...
github.com
I'm working my way through the final tests! It should ideally be ready for a full stable launch this weekend or next week! #laravel #multitenancy #opensource
Morning all, and happy new year! I'm back working today, which also means I'll be able to get the last bits for @sprout.ollieread.com finished, and finally make a v1.0.0-stable release! (I can also get started on Seedling, Terra and Bud, the addons) #multitenancy #laravel
Sprout hasn't been an alpha for a long time, so I've finally bumped the versioning to v1.0-beta #laravel #multitenancy #opensource github.com/sprout-larav...
Release v1.0-beta · sprout-laravel/sprout
It's about time I bumped this up to a beta release, Sprout isn't an alpha, it's only in beta because I haven't finished the docs or testsuite! What's Changed feat: Add service override events by @...
github.com
I think I'm going to bump @sprout.ollieread.com to v1.0-beta today because it's really not an alpha, it is a beta! #multitenancy #laravel #opensource
Just released v1.2-alpha which includes a new helper method for generating tenanted routes from outside multitenanted context. #multitenancy #laravel #øpensource github.com/sprout-larav...
Release v1.2-alpha · sprout-laravel/sprout
What's Changed feat: Add a tenanted route URL generator by @ollieread in #77 Full Changelog: v1.1-alpha...v1.2-alpha
github.com
Redoing the tests for Sprout is coming along! I've decided to separate the tests out into unit tests and feature tests, as about a third of the package can't really be tested without a Laravel installation. #multitenancy #laravel #opensource #testing
I've been so ill I've not even been able to sit at my desk for the last week. So today, to get myself back into everything, I'm going to build something different and fun! I will be continuing with the @sprout.ollieread.com docs asap, but I need something else for now.
There will be no updates today for @sprout.ollieread.com and what not. I have the flu/covid, so any docs or tests I write will be delirious!