Jinya CMS Version 25.0.0 released 🥳

The last version of Jinya CMS was released in Juli 2022. With version 25.0.0, the designer got a complete rewrite, including more details on the server and a new blog post designer. Lets see what changed.

TG-146 Rewrite Jinya Designer in plain ES6 with as few libs as possible

This user story was a huge undertaking, it started as an experiment in Jinya Backup to see how good it would work to write a management UI without any framework. It worked really well in Jinya Backup and we decided to rewrite the designer aswell. Before starting to code, we narrowed down which libraries are to hard to write by yourself. The result was rather surprising, we only took TinyMCE, Monaco Editor, SortableJS, ApexCharts and UAParser as prewritten libraries. Lets see what each of them does for the designer.

TinyMCE

TinyMCE is a simple what you see is what you get editor for webpages. This editor is really easy to use and has nice customization options. We used it in the old designer already and decided to keep it. Since TinyMCE is rather extendable, it was easy to integrate a file picker, that lets you use files stored in Jinya CMS already.

Monaco Editor

The Monaco Editor is a code editor developed by Microsoft. We use it in Jinya CMS to power the SQL editor, when you write queries against the database.

SortableJS

SortableJS is probably one of the most important libraries in Jinya CMS. Without it, the gallery, form, segment page and blog post designers would be way harder to write. It is a really nice tool to allow sorting of elements in a web page.

ApexCharts

There are many charting libraries out there, but we decided on ApexCharts. These charts power the matomo analytics you see on the start page.

UAParser

UAParser is a rather simple library which parses the user agent of the browser. This allows Jinya CMS to show you on which browser an api key or a device code was registered.

The new designer has a completely new way of working with the blog posts. In the old version you had one page where you set the meta data and, on a different tab, edit the segments. We changed that into two separate dialogs. This change brought the blog post designer closer to the segment page designer.

Under the hood we changed basically everything. The new designer uses a simpler approach on displaying the pages. Most importantly, the designer isn't loaded as a whole with Jinya CMS 25.0.0. Since this version it is split in several small files which only get loaded when they are needed. This brings the huge advantage of a small footprint if you only use files and galleries.

It was fun to write the new designer, and we hope it will be as much fun to use it.

TG-166 Generate PHP Info backstage page from phpinfo method

With the new designer we decided to give all insights into your running server and PHP version that is possible. With PHP you have the neat phpinfo method, which tells you everything about your server in a website. The sad thing is, this website doesn't fit into the design of Cosmo CSS. So we wrote a method to parse it and display the exactly same information in a Cosmo CSS design.

TG-167 Allow choice for files with image picker

This is probably my favorite change. In the previous versions of Jinya CMS you had a dropdown to select files. With the new version we added a simple dialog which gives you a preview of all files in your Jinya CMS database and you can see the files, rather than remembering their names.

TG-168 Update via designer

With version 25.0.0 it is now possible to update Jinya CMS from inside the designer. This is more a small cosmetic change, but will also prevent a media break, where you are confronted with a completely new interface just to update.

Final thoughts

Jinya CMS made a huge step with version 25.0.0, the designer got a complete rewrite and a few improvements. We also fixed several bugs so you have a smoother experience. The main development focus lies on the mobile app as of now, and next up will be the desktop app.