Why hello there!
Well, this is the first post for PluralSpace Core, the open-source variant of PluralSpace. Wanted to say hello, and also give you a little bit of insight into what is going on with PluralSpace Core.
So, first off, hello! I'm Drexel, the creator of PluralSpace. I have had lots of questions about open sourcing PluralSpace, and I want to do that, but in a way that would be more sustainable for me to maintain and more accessible to the community.
That's where PluralSpace Core comes in! Little housekeeping real quick, I will be referring to PluralSpace Core as "Core" and the current PluralSpace codebase as "Cloud" from here on out. Just so I am not having to type out the entire name over and over again.
So, Core... I wanted to make a version of PluralSpace that is easier to run for everyone, extendable, and does not require any complex servers or infrastructure like Cloud requires. Cloud at this point is running across a distributed network of servers, large Redis and Valkey caches, multiple queue workers, and so much more that is not necessary for Core.
Not only that, but I made a lot of changes to how Cloud's requests are handled since Cloud runs Laravel Octane, and Core will not (unless you install it and want to). Laravel Octane is amazing at allowing the scale and high performance that Cloud needs to support the 16,000+ users, 1.2M jobs, and 3.8M socket events that Cloud has to handle daily.
Core will not have to deal with that, so... strip the things that are not necessary for Core and make it easier to run for everyone.
Okay, but what is this about plugins?
Ah yes, plugins! I was talking to friends (IRL) about how I should go about open sourcing PluralSpace and allowing others to extend it easily. We were talking about other platforms that allow for plugins (namely WordPress and Drupal), and I realized that I could do the same thing with Core. So, I decided to do a proof of concept, thinking I wouldn't get it to work.
I was wrong.
I was able to get a plugin system working (zip files or 1 click install via the admin panel), and instantly realized that this was the way to go. I could allow others to extend Core without having to worry about maintaining a large codebase.
So, what is next?
Well, I have a lot of work to do! I need to get more done with the plugin system and start working on porting over some more of the features from Cloud to Core. (Fun fact! About 70% of the code so far for Core is copied directly from Cloud!)
When I get closer to having Core functional and tests passing consistently, then I will be publishing the repo for Core on GitHub. Documentation for Core and how to get started with it (including how to develop plugins for Core) will be published here.
When does it come out though!? I am excited!
I get it! I do! I am excited too! Now, I posted to the discord the other day teasing that I was working on something, but I also am moving right now. While I would love to pour my all into this 24/7, I also have to make sure I am taking care of myself, my job, my move, Cloud, and everything else that is going on in my life. I don't want to make any promises on when Core will be released, don't worry though, I will be posting updates here and on the discord as I make progress.
Okay, I think that's it for now... I am so excited for the future of what Core will be, what features people add, and how it will grow!
Till next time,
- Drexel :)