• 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.

Building the next-gen Chevereto (old topic)

Status
Not open for further replies.
@Rodolfo i wanted to ask you sir, if there is any change in the upcoming Chevereto version for Translations, are we gonna stay with current translated files, or, are you gonna implement something new, because i have started translating few languages and fixing others, especially German (alot missing phrases), so i thought if u re gonna change something, maybe it would be better to wait, if not, then i will continue working on the translations, otherwise i would like to help translating the Docs in to German language if you wish?

Best regards and stay healthy
 
@Rodolfo i wanted to ask you sir, if there is any change in the upcoming Chevereto version for Translations, are we gonna stay with current translated files, or, are you gonna implement something new
At this point I really doubt that the translation system is going to change at all. After years building the translations is obvious that I will seek to preserve most of it. I think that V4 should preserve ~70% of the language strings, and many new strings will improve in the redundant old strings, so the translations should be smaller.
 
In my opinion, i think that MariaDB it's better in long term, there are few another links:

Benchmark: MariaDB vs MySQL on Commodity Cloud Hardware: Amazon AWS EC2 and RDS, large to 12xlarge instances
What's New in MariaDB Enterprise Server 10.5
It doesn't surprise me at all, MariaDB follows other goals and I've been using it long already on development.

What really concerns me about MySQL/MariaDB is the lack of advanced features like materialized views, which can be only implemented using third-party Flexviews API. It really bothers me that they don't care about this feature, which of course is available at Oracle and PostgreSQL already. Also, there's no support for custom types nor server side scripting for programming languages. All that makes very annoying to design a proper relational database, at the end you are forced to abuse denormalization and multiple compound indexes to speed up things.

That and abusing of the "hacks" to get the best performance causes a locking in the database design, which is visible when it comes to add a new column or an index to an existing table, proning the database to data integrity issues. For example, 8 years back it was OK to add "user_facebook" and "user_twitter" columns, but the more services appear makes unstable to keep using tables in that manner.
 
Hi, regarding the Chinese translation of the V3 documentation, I've done most of it in the last few days and it looks great, thanks to Rodolfo for the excellent software and documentation, you can visit this link: Chinese translations
I'm sorry. My English is a little bad. 🤣
 
Hi, regarding the Chinese translation of the V3 documentation, I've done most of it in the last few days and it looks great, thanks to Rodolfo for the excellent software and documentation, you can visit this link: Chinese translations
I'm sorry. My English is a little bad. 🤣
Awesome, thanks! By the way, here is the documentation skeleton: https://github.com/chevereto/docs in case you need easier access to the docs.
 
Hey there,

Long time since last report, first things first:


Yes, I'm considering to add support for video formats. It is something that brings a lot of content and I will like to see how it goes with that.


Sure thing!

2020-01-20

Development is ongoing, is just that it is a ton of work so I try to focus on that rather than show and tell. There will be time for that.

2019 was a very busy year:

View attachment 2756
From rodolfoberrios

Release 3.14 dragged me a little bit, but it was of the highest priority to patch the security vulnerabilities affecting 3.X. You can learn about it here.

The development is ongoing and I'm peeking at delivery options (refers to how the software gets provisioned). I like the idea of ship something to where you don't worry about the software infrastructure.

The code looks nice (totally impartial opinion, at least to my eyes) and I'm adding more tests to complete the code coverage. I've added support for php 7.4 and typed properties, which suit me very well as I'm doing it strong typed.

I also got the domain chevere.org, it will be the home of the framework and it will be basically its documentation. That will include a function reference and instructions on the system components.

Hope to keep the same rate, wish to have it ready now.
Looking forward to video uploads myself. I've yet to find a solution that allows image and videos with the other options Chevereto offers. This will be awesome and I cannot wait to see it! @Rodolfo if you have any alpha or beta I can test with the video feature, let me know.
 
It would be be great if the v4 will have ability include file manager for us can edit the files like themes and other files on the fly, only inside Chevereto, maybe?
 
It would be be great if the v4 will have ability include file manager for us can edit the files like themes and other files on the fly, only inside Chevereto, maybe?
Although I will ship a default theme, the objective is to decouple the user interface (headless) so having a theme editor won't play nice with that.

One of the biggest customization issues around here is that we have too many different use cases, so we can't truly do a theme that fits everyone and in that process the system excludes users by generalizing how the system look and feel.
 
2020-10-26

Dear all,

I'm happy to announce that I have completed the provisioning of the application architecture and that all the systems that I've been preparing are ready to sustain the actual development of Chevereto V4 🎉.

As you may be aware, this year I've also addressed many neat improvements for V3 with exciting new functionalities like upload moderation, nested albums, automatic importing, NSFW locking, webp support, and more to come (like support for imagemagick and new oauth providers). Although my initial intention was to focus solely in V4, I realized that it wasn't possible to design it without reviewing V3's most essential systems, which also helps to build a more robust LTS and guarantee the longevity of it.

That's why for most of this year V4 development has been basically scaffolding the systems that will be used, and of course the base framework that I built exclusively for my next-gen projects, all around Chevereto: V4 itself, its addon store, its image server and **reserved**, which is a software that I will build to organize all the different layers of end-users that Chevereto spawns.

Talking about users, there are many! and it keeps growing which makes me very happy. Also, recently I started the process of scatter more use cases for the software by removing the licensing restriction to run the software for hosted end-users (in both paid and Open Source editions). This aims to spawn a complete new breed of users, and to allow experienced users to profit from providing the software for those that aren't yet into self-hosting.

From now on I will start committing more actual V4 application logic to the repository and right now you can see a sample of real V4 logic: This is how V4 validates a file, using the concept of "action", which is invoked from a controller, following the concept of workflows. As you may guess it, V4 will be capable of define a pluggable workflow where actions could be modified, added or even removed on runtime according to user context. This will allow to add/remove image optimization steps, pre-fetching, image AI detection (automatic tagging and that sort of thing).

I don't know yet how long will take to ship the first V4 alpha, but it should be early 2021. I will have a more clear picture once I commit more work to it, and I also hope to get more help once more actual code starts to emerge.

Hope you like the heads up!
 
I m happy to hear this sir, keep it up.
One thing i would appreciate in the new version would be to have the function to list recent Albums in the Explore.
Cheers and stay healthy!
 
good job,

I want to create a VIP user group for paid users
I hope v4 supports:
user api
user group
images or storage limit (user group)
flood protection (user group)
.....😀

thank you
 
Last edited:
2020-11-03

Development is going steady, with regular updates and this time I'm going to omit tech details and focus in more easy to digest news. The README.md for V4 has been changed, and it contains many interesting bits:

1. Definition
Chevereto is a server-side software for creating a multi-user, full-featured media sharing solution.
^^^ This is huge and it declares that Chevereto evolves from a image hosting website to a media sharing solution. In other words, it expands to all media types (image, audio, video) and it becomes a solution that you can use for many purposes.
It is headless, providing a both auto-mapped and self-described REST API that allows to use it under many different situations and use cases.
^^^ Headless software refers to the fact that the user interface is completely decoupled. This means that user interfaces must be software interacting with the V4 API, so there could be many different types of user interfaces for V4 powered websites, from a wide range of themes up to desktop implementations in GTK. Of course, you will be still able to still use it as an image hosting website, but you will be also capable as using it as a sharing layer for your existing application, community, etc.

2. Extension
It provides an extensible API, built on top of the Chevere framework with support for addons. With Chevereto you can build exactly what you need around your media.
^^^ V4 pluggable architecture and application runtime is great compared to the almost total absence of this in V3. Releases will be more meaningful, more frequent and new big functionalities will spawn faster than in V3 in which the process of adding new features is slower as the code is highly coupled in V3.

3. Community driven
A community drives the development of Chevereto.
^^^ Perhaps I'm a bit slow to fill the community requests, but development here is community driven and for V4 I want to encourage new ways in which the community can push development besides "+1". I'm doing an ongoing effort into make sponsored development a normal way to drive changes in the software and due to addons, V4 offers more flexibility in this regard as I have more freedom to pick licensing for each addition to the software.

4. Modern architecture
Chevereto is PHP 8 software running under its own application servers. The application runtime can be tweaked to the bone for ultimate performance.
^^^ For example, you could spin a runner solely for the image uploading process with a cache strategy completely different from what you could need when doing something like fetching a listing. This enables big installations to benefit from a better suited runtime, optimized for your unique needs and hardware at any level (routing, controller, action, task).

5. Contribution
The project is under alpha development and is not recommended to use it for production yet. However, developers (and those wanting to become) are welcome!
^^^ If you are interested in build your project with this or perhaps distribute your own addons for Chevereto this is the moment to get interested into it as I've already started to design the HTTP V2 API.

6. Funding
The intention has been always to make the project profitable to sustain its ongoing development and I've managed to making my living out of it. I'm proud of being able to focus exclusively on Chevereto development and nothing else.
^^^ There are more information in how funding will work for V4, and I'm looking for business partners.

Hope you like the heads up!
 
2020-11-14

Last days I've been working in the processing for the application, which is a really interesting topic because V4 will run background jobs distributed in several workers, using RabbitMQ for messaging. This allows me to add extra attributes for the job, like priority or delay time. With this it will be feasible to charge users for getting a higher priority, or to delay everything except those who pay a minimum fee to use the service. Workers could be spawned in many different machines (same network, come on) and it will make feasible to run the application in ridiculously high demand use cases, which is something that is becoming normal as everyday I see how big websites keeps growing.

This processing is not only to scale the application, but also to support more machine-heavy tasks that could take minutes or even hours to complete. Thanks to this, V4 can go further and add support for media (video and audio) which will grab the attention of many users as it massively expands the supported file-types. Video is an ongoing request since forever and audio could be used for voice messages or that kind of content. For this I will use FFmpeg, it will be a great experience to extend the scope of the software.

Funny times 🥳.

Hope you like the update,
Rodolfo.
 
Status
Not open for further replies.
Back
Top