2020-12-31
Hey there,
I've added the showcase for
Pluggable which is the functionality that will make Chevereto V4 pluggable. If you are into modify/extend Chevereto take a look to it. During the past days I've been organizing the project and manifested my interest in other software projects, if you want to get into my projects (even not Chevereto related)
take a look and get in touch.
Regarding Chevereto V4, I've started a new project packaging by separating the software in 4 different repos:
The repo at chevereto/api provides the user API that plugs to chevereto/peafowl and chevereto/api-admin does the same but for chevereto/dashboard. This is what headless means, the application is an API that can be commanded from anywhere, specially HTTP, but not limited to other protocols. This means that both chevereto/api and chevereto/api-admin could be plugged to *any* other user interface, making possible to use Chevereto V4 just as the base of your next media related project, regardless of how you plan to display it to users.
This is great for separation of concepts as it allows to define smaller repositories with limited scopes rather than just squish everything into just "one thing". Now, don't get me wrong the software will also have its chevereto/chevereto default distribution that will orchestrate those. It also enables to perform easier optimization and bring more reliability as one repo failing won't compromise others.
V3 to V4 routing
At this time I'm, carrying the process of converting V3 routing to V4, this is a relatively easy process but the software does so many different things in so many different places that it is just slow. For example, let me show you V3 language dashboard settings:
The above section allows you to control language in your Chevereto V3 installation. It works by posting the form to /dashboard and using
route.dashboard.php to
process the language. That's the only interface you get to tweak those values, otherwise you have to edit the database directly.
In V4 this is way more granular and all options are accesible via API:
Up there you have that you can toggle a language {id} to be enabled/disabled, you get a /api/language/all/ that returns a list of the application languages enabled and at /api/language/default you can either get or change the default language. The same options, but presented in a modular way that allows anything on top of it.
This is just the case for the dashboard language, I'm doing exactly the same
for all the existing system features and
existing user actions because V4 is being made for the existing Chevereto user base. While V4 does "the same things", it does it in a way in which you can extend on top of it, and make it uniquely yours. The level of customization and granularity is unmatched and not only in image hosting, this software is bringing many new stuff to the table and at some point I will show you how fast it
spins and how fast it builds.
2021
I hope to launch V4 in 2021, but please note that I won't label this as released until I'm sure that the software is ready for your existing websites. There will be V4 betas going on but due to the size of the software I doubt that all V3 features get matched for V4 in 2021 (honestly, V3 is beast feature-wise).
Many thanks for following the updates & my work, hope to keep delivering in 2021 💪🏽