• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • ๐Ÿ˜Œ This community is user driven. Be polite with other users.
    • ๐Ÿ‘‰ Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • ๐Ÿ’ธ Purchase a Pro Subscription to get access to active software support and faster ticket response times.

Chevereto v4.0 "macanudo" announcement

Rodolfo

๐Ÿ‘‘ Chevereto Godlike
Chevereto Staff
Administrator
Dear all,

Blog: Chevereto Macanudo

With release v4.0 (macanudo) I'm improving on coqueto with the addition of improved third-party login support (which was delayed since V3.17) and the addition of the user based API.

Macanudo is all about making Chevereto more open to its users, hence the added login providers and extended API options. With macanudo not only you, but your users will be all able to craft anything on top of the Chevereto API.


๐Ÿ‘€ Update 2022-04-27

Macanudo is being progressively delivered, at this time it is still on beta preview. Here below you can check the already published beta releases. There's an staggering count of new features and improvements:
๐Ÿ’ก By clicking on each release you can read release notes and access to the release announcement where you can learn even more about it.

๐Ÿ˜ Release date for 4.0.0

Production release is likely to arrive after 4.0.0.beta.9, but I'm a bit skeptical so if you want to push it further then help us testing it, install it on your dev/test machines and provide us feedback.
 
Last edited:
I am really looking forward to User based API. It will help me create mobile app for my website.
 
Last edited:
waiting for this great upgrade i am waiting as soon as its available i will purchase it and start my new website currently i have stopped my website just waiting for this major release ๐Ÿ™‚
 
I can't wait! I can get rid of my custom oauth login hooks ๐Ÿ˜œ

So excited for the massive update!
 
Hey there, work in progress report here.

In V4.0 the process starts by replacing the internal API at app/routes/route.json.php with a Chevere based API. Basically, we go from this:

1626296852236.png

^ We call it "El fideo" in the HQ

To this, where each endpoint is wired now to controllers and it represents the translation from V3 to V4 instructions. As you may notice, there's a V1 API (which is the API currently documented) and a V4 API which is how I arbitrary named this API version, also consistency with the software versioning.

Now that I've all these elements mapped I need to rip the code from route.json.php (each case in the code above) into controllers now. In this part the instructions will be just translated from one system to another and it will take a while, is just a lot of code.

I will keep posting updates, by the way let me know if you want to be added to beta testers as I will enable 100 more seats.
 
Do we have to apply separately to beta test v4, or existing beta tester will be able to volunteer automatically?
 
Do we have to apply separately to beta test v4, or existing beta tester will be able to volunteer automatically?
Is the same beta program so all those already on beta will get V4 beta.

it will be free upgrade for v3 users as your site say https://chevereto.com/pricing? what other changes is planned to add?
The V4 upgrade is free only for new purchases, old purchases will have to pay a one-time fee to upgrade.

will it work a bit faster?
V4.0 should be a bit faster than V3 as V4.0 is PHP 8 native and the system now uses application cache. On top of that, for V4.X we will be adding several cache layers and the result should be a system dramatically faster than the one we have today.
 
Hello, I want to contribute to the development of the beta program, to help improve the experience, I hope you can pass my application
 
Update

Pretty much about a month since last update (codewise) and sorry for the low update rate but the previous weeks have been very time consuming and I've skipped reporting. Also, I'm upgrading my dev infra and I'm now using macOS with M1 chip. This has pushed new development in docker multi-arch builds (which I haven't announced yet) and that also took me time from V4.

But enough chatter, here's the ongoing development report for Chevereto V4.0!

Multi-architecture

Support for different CPU instructions is now a thing for V4.0 and our official Docker imaginery will be amd64 and arm64v8 compatible. More architectures will be added based on demand, on usage requirements. Why I picked those by default? I run machines with these so I provide support for what I use. In any case, feel free to suggest other architectures ๐Ÿ˜Š.

Routing definition

For V4.0 I will introduce a new routing spec for declaring routes in the system. Remember the route.json.php file? That's part of the routing system, in which case that file define all what /json does. That system is being replaced with an endpoint to controller logic.

Wow, sounds great... But is better if you see it, we go from this:

1628343028637.png

To this:

1628343278260.png

Routes are now defined on file(s), and it allows to easily declare route endpoints (a path + HTTP method + a Controller for that method). This makes way more easier to understand how the system works, if you have ever tried to find something in V3 you will surely welcome this change.

With this we now can easily create new routes, or move something from one path to another.

Controllers

The Controller is in charge of defining parameters for client requests made to the application. The file below is V4's representation of route.api.php taking input parameters.

The controller layer defines what it does at getDescription, the __ you see is our new translation system, that stuff is replacing the old _s, _se, _n, _ne gang used to declare translations, the new system is more flexible (will talk about that on another update).

1628344250054.png

If you pay attention to getParameters you will notice that format parameter takes a regex, that enables already a filtering layer for incoming requests.

As you may see there's a lot of PHP 8 (I like to call it The Ocho) on V4. Besides the clever usage of named arguments, there are attributes which in the case of the controller example above it links to a Workflow provider.

A what provider??!

Workflow Provider for Controller

At line #24 in the code above there's the relationship attribute that links to the UploadPostWorkflow, this is a simple class that using getWorkflow() provides a set of default instructions (Actions) to carry in sequential order:
1628345493335.pngI think that the logic is very expressive, you get all the steps in order and a very descriptive instruction set... What I wanted to achieve is to allow anyone to easily understand (therefore extend) what the system does. The new logic starts from the very basic elements, and easily drives you towards exactly what the system is doing.

Actions

There are also actions, in fact... that's the actual logic. Here's how the system goes: Routing > Controller > Workflow > Action.

Actions are the most basic form of functions in the system, it defines parameters and arunnablee logic that's all. These exists in a deeper level, is not a "surface" element as Controller.

1628346133354.png

What I'm achieving with actions is that I'm creating disposable sets of useful "things" that the application can do. Nothing stops you from creating your own routes, map to your own defined workflows, use the default actions or provide others, is really flexible.

Progress status

Being honest, I'm quite delayed for the September goal but I will get a better idea by the end of this month. There's a lot of new development (specially in routing) which is allowing me to gain more speed and that was introduced just 2 days ago.

I will dare to say that V4.0 is 20% done and likely I will take some shortcuts because I really don't want to delay this any further.

Hope you like the heads up and thanks for your support and patience!
 
Will v4 have new unique look that looks different to v3 or did you choose to keep old design from v3 but on v4 as well?
 
Will v4 have new unique look that looks different to v3 or did you choose to keep old design from v3 but on v4 as well?
Hi,

Kindly note that this topic is for V4.0 (release), not for V4 (versioning). For V4.X there will be a theme update that will add some neat user customization features and color schemes, it should happen before video.

As for V4.0, there won't be any theme change or upgrade as such upgrade already happened in V3.20. This was a most needed catch up to keep the old web interface operative and functional. Perhaps you don't tell the difference, but certainly is way faster than the previous one and the effects and its performance are way better driven for mobile devices.
 
Hey there, almost time!

I will release V4.0.0.beta.1 on September 30, available for all customers (no need to request access for it). I will carry up to 3 months of beta testing before shipping V4.0.0.

We can afford this new initiative as V3.20 is stable and mature to allow room for user provided feedback at this development stage. This evolves from the old formula where we shipped the software "done" and I nagged a while about compatibility issues. We're trying to pin these server issues early in development and that's why I will beta release that long.

We're getting closer!

Thank you for your support.
 
Back
Top