The future of Sylius
Hey there Sylius community!
The development speed might seem a bit lower recently, especially when compared to our usual pace of breaking things. This is mostly because of me working, being at conferences, talking to other communities and planning.
As you probably know, in the open source world of Sylius, I am just one guy with an awesome core team and the thing that kept me busy was figuring out a way to fund the development of Sylius. More on that in another blog post!
I wrote the first bits of Sylius code back in 2011, but the real development of Sylius/Sylius started in the beginning of last year. It is not much time for a project of such scope, but I think we have achieved quite a lot in terms of features, quality and architecture.
We got to the point, where we can start adding features much faster. Before that happens, we have to complete some last crucial tasks, which have already been started.
What are the most important tasks for Sylius?
Over the past few weeks I have been reevaluating what I have to do for Sylius and its community, in order to make it a good and open product. Here are my conclusions:
I have bootstrapped an effort called Sylius Documentation Sprint and it will one of our most important challenges in the coming weeks.
BETA and stable release
Despite my warnings, people are starting a new Sylius projects every week and that makes me very happy. That being said, I am constantly asked for the BETA release and 1.0.0. I think wider adoption of Sylius will bring much more contributors and feedback.
What is still missing?
Among few smaller things, there are three main features missing in Sylius right now, but the good news is that all of them are already in development. For search and API functionality, you can really easily implement them using standard Symfony bundles and this is what most people currently do. We just want a universal and elegant solutions out-of-the-box.
Most people use ElasticSearch with Sylius, and this is the recommended solution, but we want to provide a basic SQL based search for smaller stores, which do not require a more powerful engine
SyliusSearchBundle is already in works and I hope to get the most basic implementation merged into master quite soon. Notice that it will work with both Doctrine ORM and ElasticSearch.
We want to start simple and expand on this in future versions. We already have a great foundation to support both XML and JSON formats, as well as HATEOAS.
The storefront (homepage) has already reached implementation stage and I can’t wait to show you more designs, but I will leave that for a separate article.
A few weeks ago I have prepared a very ambitious roadmap and features list for Sylius, but then I realized it is unrealistic and would delay BETA even more. I have decided to remove everything not needed for most common e-commerce scenarios and leave it for future versions. I have tons of marketing features and technical improvements in mind, but I think this is not most important for Sylius at the current stage.
I have spent a lot of time on building the foundation and with the help of community we created a really decent core. It requires polishing and adding few missing features, but after we reach BETA and stable, we will have all the tools and components required to add all the awesome features we want.
I want to release much more often and enter the BETA in the middle of Q3 2014. That is a lot of work, but I am confident we can achieve this milestone.
The upcoming version, which is almost ready to ship, is v0.10.0, which will include some really nice improvements (components, state machines and much more) to v0.9.0.
You can see the full roadmap here.