{"id":562,"date":"2023-12-14T08:00:00","date_gmt":"2023-12-14T07:00:00","guid":{"rendered":"https:\/\/website.mosparo.local\/?p=562"},"modified":"2023-12-14T08:08:15","modified_gmt":"2023-12-14T07:08:15","slug":"new-features-changes-in-version-1-1","status":"publish","type":"post","link":"https:\/\/website.mosparo.local\/2023\/12\/14\/new-features-changes-in-version-1-1\/","title":{"rendered":"New Features & Changes in version 1.1"},"content":{"rendered":"\n

In this news post, we want to give you an overview of the new features and changes in version 1.1.<\/p>\n\n\n\n

New features<\/h2>\n\n\n\n

Statistical data without a time limit<\/h3>\n\n\n\n

mosparo stores the submissions of a project for only 14 days. The chart on a project’s dashboard and the statistical API use these submissions to calculate the statistical data. Because of the automatic cleanup, the statistical information is only available for these 14 days. Additionally, if you have a lot of submissions, the calculation of this statistic takes time.<\/p>\n\n\n\n

We’ve introduced a separate storage of the statistical values to solve this issue and offer the option to store the statistical information for a longer period. In there, we store the number of valid and spam submissions for each day.<\/p>\n\n\n\n

The project owner can decide how long the statistical data should be stored with an option in the project settings. It is possible to let mosparo delete these data after, for example, 14 days or keep them forever.<\/p>\n\n\n\n

The dashboard and the statistical API use these separated statistical data to display and return their data. On the dashboard, an additional dropdown allows you to choose the time range in the dashboard. An additional argument in the API allows you to define from which date the data should be returned specifically.<\/p>\n\n\n\n

Suggested by Tobi77<\/a><\/em><\/p>\n\n\n\n

Origin-based security settings<\/h3>\n\n\n\n

The security settings for a project (Honeypot, Minimum time, Delay, and Lockout) are good to limit the damage a spammer can do with very simple things. But they are the same settings for all users around the world. If you have a website focused on users from Australia, users from Switzerland are not your number one priority.<\/p>\n\n\n\n

With the newly added IP-based security settings, you can define that users from Australia have not-so-strict security settings (for example, no minimum time, no delay, and very generous lockout settings), while other users worldwide have very strict settings.<\/p>\n\n\n\n

You can define as many guidelines as you want to override the needed settings. You can specify the guidelines on the IP subnet or, if you\u2019ve set up GeoIP2, on the country or AS number.<\/p>\n\n\n\n

Limit the access to the backend and the API<\/h3>\n\n\n\n

To enhance the security of mosparo, we’ve added two additional settings in the Administration area to limit access to the mosparo backend and the API (Verification and Statistic).<\/p>\n\n\n\n

Previously, you had to set up this limitation in your webserver configuration, which was hard to do since mosparo’s frontend API must be accessible by all users.<\/p>\n\n\n\n

With this change, you can manage the limitations of your mosparo installation in the administration interface. You can define which IP addresses or Subnets can access the backend (login form and the management interface) and the API (Verification and Statistic). Usually, only your web server needs access to the APIs so that you can limit that to the IP address of the web server.<\/p>\n\n\n\n

Define the language of the frontend<\/h3>\n\n\n\n

mosparo uses the browser language to define the mosparo box’s language in your form. The idea is to maximize accessibility and show everybody the correct language.<\/p>\n\n\n\n

While that can work very well, it also can create other issues. To offer an alternative, we’ve added an option in the JavaScript frontend library, with which you can specify the language that mosparo should use. If you define a language for which mosparo does not have the translations (yet), mosparo falls back to the English translations.<\/p>\n\n\n\n

Suggested by brendofreitas<\/a><\/em><\/p>\n\n\n\n

API debug mode<\/h3>\n\n\n\n

Developing an API client or an integration for mosparo can be challenging since the Verification API is not very talkative and can be complicated.<\/p>\n\n\n\n

For this, we\u2019ve added a debug mode. The debug mode can be enabled for every project. If the debug mode is enabled, mosparo will return with more explainable error messages and hints as to why the request was unsuccessful.<\/p>\n\n\n\n

With the debug mode, finding the problem in the communication and solving the issue should be a lot easier.<\/p>\n\n\n\n

Inspired by OriCat101<\/a><\/em><\/p>\n\n\n\n

Verification simulation mode<\/h3>\n\n\n\n

Additionally to the added API debug mode, we\u2019ve added a verification simulation mode. It can also be enabled per project.<\/p>\n\n\n\n

If enabled, mosparo displays a new button in the top right corner of the submission detail page. When clicking this button, mosparo will show you step-by-step how to verify the submission. You can also see the values the API expects in your API requests.<\/p>\n\n\n\n

Inspired by OriCat101<\/a><\/em><\/p>\n\n\n\n

Changes<\/h2>\n\n\n\n

Active project while using mosparo<\/h3>\n\n\n\n

Since the beginning of the development of mosparo, we have stored the active project in the user session. This made some things very easy while others got very complicated. After a user reported wrongly stored settings in the project creation wizard, we thought about this setup again. We concluded that we have to change it to eliminate possible issues in the future.<\/p>\n\n\n\n

We\u2019ve changed all project-related URLs. The active project is now represented in the URL. This fixes all issues regarding the active project. Additionally, you can now edit multiple projects simultaneously in different browser tabs without any problems. Before, you were able to edit only one project at a time.<\/p>\n\n\n\n

We still store the latest active project in the session, so if you visit the account settings or the administration interface, you can quickly return to the latest active project.<\/p>\n\n\n\n

With this change, it is also possible to send the URL of a submission, rule, ruleset, or anything else project-related to someone else. After logging in, this person is redirected to the correct object.<\/p>\n\n\n\n

Update for the import and export functionality<\/h3>\n\n\n\n

Since these new features added new options to the project settings, we\u2019ve updated the import and export functionality to represent these options.<\/p>\n\n\n\n

Additionally, we added the status of a project to the import and export functionality too. We should have added that in the initial development.<\/p>\n\n\n\n

Bug fixes<\/h2>\n\n\n\n