{"id":730,"date":"2024-12-05T06:50:12","date_gmt":"2024-12-05T05:50:12","guid":{"rendered":"https:\/\/website.mosparo.local\/?p=730"},"modified":"2024-12-05T06:52:16","modified_gmt":"2024-12-05T05:52:16","slug":"new-features-changes-in-version-1-3","status":"publish","type":"post","link":"https:\/\/website.mosparo.local\/2024\/12\/05\/new-features-changes-in-version-1-3\/","title":{"rendered":"New Features & Changes in Version 1.3"},"content":{"rendered":"\n
In the newly released version 1.3 of mosparo, we\u2019ve added some new features and changes. With this post, we want to describe the new features and changes.<\/p>\n\n\n\n
mosparo is project-based. A project contains all settings that relate <\/s>to one website. mosparo can handle an unlimited number of projects in one mosparo installation. The idea behind this is that if you have more than one website, you need only one mosparo installation.<\/p>\n\n\n\n
But if you have many websites, you need many projects. These projects are on one simple list, which can get messy.<\/p>\n\n\n\n
Some time ago, we received a suggestion from a user to add project groups to allow better organization of the projects within one mosparo installation.<\/p>\n\n\n\n
So, with the new version, v1.3, we’ve added project groups. It’s now possible to add an unlimited number of project groups. The project groups can be organized hierarchically (like a tree), and a project can then be assigned to one group.<\/p>\n\n\n\n
With this new feature, we had to rework the main project list and the dropdown in the top left corner.<\/p>\n\n\n\n
Suggested by <\/em>SVillette<\/em><\/a><\/p>\n\n\n\n In recent years, it has become popular to protect forms with an automatic puzzle for the browser. These proof-of-work-based puzzles require the browser to calculate a lot of stuff, making it too costly for spam bots to submit the form. For humans, proof-of-work-based spam protection methods are not a problem because the user does not have to do anything to solve them.<\/p>\n\n\n\n The mosparo team thinks this spam protection method is unreliable because all it needs to solve such an automatic puzzle is a processor – and every device connected to the internet has such a processor – so every bot and every human can solve it. Since everybody can solve it, it\u2019s only a speed bump and not a protection method.<\/em><\/p>\n\n\n\n But since many people like these proof-of-work-based puzzles, we thought it\u2019s a great addition to our security features. With this sixth security feature, protecting forms with a proof-of-work-based mechanism is now possible. In addition to this simple speed bump, you can add rules and use the other security features to catch even more spam than with other proof-of-work-based spam protection.<\/p>\n\n\n\n mosparo uses your browser’s language to show the correct language in the mosparo frontend box. But sometimes, this looks weird because the browser has a different language than the whole page.<\/p>\n\n\n\n A user suggested that we should use the HTML lang attribute to decide the language for the mosparo box. We thought about that suggestion and added now an option, with which you can select for each project what the source of the language should be.<\/p>\n\n\n\n By default, we still use the browser language for the sentences. If the configured language is not translated, we fall back to English sentences.<\/p>\n\n\n\n With the newly added option, you can choose between “Browser Language> HTML Language > English” or “HTML Language > Browser Language > English”. This means we either use the browser or the HTML lang attribute language to determine the correct language. If that language is not available, we fall back to the other language, and if that’s also not available, we fall back to English.<\/p>\n\n\n\n With this change, the mosparo box can now be displayed in the same language as the rest of the website, making it fit better together.<\/p>\n\n\n\n Suggested by <\/em>Sapper-Morton<\/em><\/a><\/p>\n\n\n\n We decided to add SQLite as a third database engine in addition to the existing two, MySQL\/MariaDB and PostgreSQL.<\/p>\n\n\n\n The good thing about SQLite is that it works with no additional server or software (except the PHP module). In addition, we had the idea to offer a demo installation of mosparo so new users can test mosparo before installing it.<\/p>\n\n\n\n We discussed different solutions, but since a demo can be \u2018destroyed\u2019, we have to make sure that we reset it from time to time. The SQLite database engine offered us an alternative to this. When you open the demo, we copy the SQLite database file for your session, so you have your own demo installation and can destroy that one, but all the other users can still use the demo without a problem.<\/p>\n\n\n\n But – of course – you can also install mosparo and use SQLite as the database engine. mosparo has been tested and works well with SQLite. We recommend using a database server (MySQL\/MariaDB or PostgreSQL) instead of SQLite for large installations or websites with a lot of traffic.<\/p>\n\n\n\n Another new feature in the new version is the added health check route, which is used to check the health of the Docker container. The health route checks the connection to the database. If the connection works correctly, then mosparo should work perfectly. <\/p>\n\n\n\n The mosparo Docker image uses the health check to check the health of the Docker container by default. However, the health route can also be used without Docker and with custom monitoring tools.<\/p>\n\n\n\n Suggested by <\/em>Digi92<\/em><\/a><\/p>\n\n\n\n Some of the security features, such as the check for Equal Submissions, are not visible in the submission detail view. This makes it hard to understand why a submission was accepted, and it\u2019s not clear if the security features worked or didn\u2019t work.<\/p>\n\n\n\n We added the general verifications to the submission detail view with the new version. The result of the Minimum Time, Equal Submissions, and Proof-of-Work mechanism security features are now visible with the needed and measured values.<\/p>\n\n\n\n With the new version, we\u2019ve also updated all our frontend and backend dependencies. While these changes should not be notable, one was more important.<\/p>\n\n\n\n We\u2019ve updated our primary framework for the user interface, Tabler, to the latest version. With this update, some technical things changed in the background, but we corrected some things, so the changes should not be visible to the user.<\/p>\n\n\n\n Additionally, we adjusted different parts of the user interface and other small things. For example, the numbers in the filters are displayed as badges. We also adjusted the visibility of the user roles in the project members and users list.<\/p>\n\n\n\n Developing such a project requires a lot of energy and time. This version took more time than planned. But thanks to our users, contributors, and testers, we received much support for our work. We thank you for all your feedback, support, ideas, translations, and all the other help!<\/p>\n\n\n\n If you have any suggestions to enhance or optimize mosparo, you can send them to us by creating a post in the Discussions<\/a> section on GitHub.<\/p>\n","protected":false},"excerpt":{"rendered":" In the past months, we\u2019ve developed the new minor version, v1.3, which is now ready for testing. Learn more about the new features and changes in this post.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-730","post","type-post","status-publish","format-standard","hentry","category-general-news"],"acf":[],"yoast_head":"\nProof of work mechanism security feature<\/h3>\n\n\n\n
Choose the language source<\/h3>\n\n\n\n
Compatibility with SQLite<\/h3>\n\n\n\n
Docker Health Check<\/h3>\n\n\n\n
General verifications in the submission detail view<\/h3>\n\n\n\n
Changes<\/h2>\n\n\n\n
Updated dependencies<\/h3>\n\n\n\n
Other adjustments<\/h3>\n\n\n\n
Thank you<\/h2>\n\n\n\n