bdus.cloud

Blog posts


Introduction

Bradypus is an open-source software developed at Sapienza University of Rome by Julian Bogdani and released under the terms of the GNU AGPL-3.0 License. It is aimed at easily creating, impementing and publishing relational databases on the Web.
At present, about thirty Italian and International reserach projects, mainly related to Archaeology and Cultural Heritage are actively maintained.
Recently a new Educational service has been activated to host research data of younger researchers, typically graduate and PhD students, PostDocs, indipendent researchers, etc. This service runs the latest build of the 4.x branch.



Acknowledgements

The SaaS version is proudly hosted by the GARR Cloud Platform


Video presentation

This following is an old presentation video created in 2013 to introduce the glorious version 3 of BraDypUS. While many things have changed, it it still surprisingly fresh and informative!

Hopefully a new version on the video will be released soon for the next version 4!

All Blog posts

Version 4.0.0 released

Posten on Sun, Mar 28, 2021 by Julian Bogdani

Version 4 has finally been released and the good ol’ version 3 has been deprecated after 8 years of distinguished service. While common ysers will notice onlyb minor graphical changes, an almost total rewrite of the project is done under the hood.

A huge effort has been spent on keeping things working and making the migration of the available applications as smooth as possibile. This new version opens the door to future rewriting of the GUI, by clearly separatng the application logic from the data presentation.

The most important new features are:

  • the possibility of interchangeably using SQLite, MySQL, MariaDB or PostgreSQL as database engines and data storage
  • easily creating a new application using GUI tools
  • easily managing settingd and database schema using GUI features: adding, renaming and removing tables, columns, relations has never been so easy
  • a totally new API with a secure and flexible query language shaped after SQL, and named ShortSQL to easily and securely query your data and build new applications.
  • a new guide and documentation site availabe at https://docs.bdus.cloud/
  • more that 200 automated unit tests to rapidly and thoroughly test various parts of the lifecycle of the application, from creation to configuration and data management, for SQLite, MySQL/MariaDB and PostgreSQL.
  • Four different hosting solutions:
    • stable version 4
    • legacy version 3
    • a free to use educational version 4, for younger researchers
    • a development and testing version.
  • Finally, version 4 is released with GNU Affero General Public Licese (AGPL) 3.0, instead of the MIT of versions up to 3.
    The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there. The purpose of the GNU Affero GPL is to prevent a problem that affects developers of free programs that are often used on servers. Suppose you develop and release a free program under the ordinary GNU GPL. If developer D modifies the program and releases it, the GPL requires him to distribute his version under the GPL too. Thus, if you get a copy of his version, you are free to incorporate some or all of his changes into your own version. But suppose the program is mainly useful on servers. When D modifies the program, he might very likely run it on his own server and never release copies. Then you would never get a copy of the source code of his version, so you would never have the chance to include his changes in your version. You may not like that outcome. Using the GNU Affero GPL avoids that outcome. If D runs his version on a server that everyone can use, you too can use it. Assuming he has followed the license requirement to let the server’s users download the source code of his version, you can do so, and then you can incorporate his changes into your version. (If he hasn’t followed it, you have your lawyer complain to him.). [Source https://www.gnu.org/licenses/why-affero-gpl.html]

In the next weeks all available applcations will be migrated to the new version 3 and hopefully we will be able to definitively retire v3.

As usual, stay tuned and help testing and bug detection! Read the docs and file an issue is something is not working as expected!

Automated tests for v4

Posten on Sun, Mar 14, 2021 by Julian Bogdani

Finally, thanks to the help of Domizia D’Erasmo, a new set of fully automated unit tests have been written for bdus4. These tests cover the entire lifecyce of the application, from the creation from scratch of a new aplication, to the configuration and data entry. The tests are available out of the box forSQLite, MySQL and PostgreSQL.

With these tests and the fixing of many bugs that have been in the meanwhile fixed, first release candatate is available on GitHub.

bdus4 automated unit tests

So, stay tuned and help testing and bug detection! Read the docs and file an issue is something is not working as expected!

Migration towards v4: a roadmap and guide

Posten on Thu, Jan 14, 2021 by Julian Bogdani

Version 4 is an almost total rewrite of the previous glorious version 3 that has been around since 2013. In these many years multiple features have been added and many buges have been fixed, making v3 extremly stable and reliable. It is currently used in production by almost 30 international research projects focusing on archaeology and cultural heritage.

Yet, since nothing is forever, it is time to start a gradual migration towards version 4, which is the right path towards the future. At present, a great work has been done in porting all the features of the v3 to the new one and we are almost done!

What’s new in V4

New DB engines

A very important new feature of v4 is the support for other database engines other then sqlite. Currently MySQL (and thus MariaDB and PerconaDB) and PostgreSQL are supported. This comes at some cost: possible bugs and a stricter adhesion to Standard SQL.

Safer API

Version 4 makes exclusive usage of ShortSQL language to query the database. Since ShortSQL permits a very granularvalidation of the input data, allowing a high flexibiluty and query power, the v4 API reaches a high degree of security. In the first stable release of v4, API v1, deprecated since 2022-01-14 will be removed. API versioning will be also removed and the API will follow the main versioning pattern.

Total rewrite with minimal API change

The whole PHP code has been rewritten trying not to change the main API, debugging and improving the current functionalities. namespaces, strongly typed PHP code and whitespread usage of inline documentation will help collaboration anf further development. The update of all dependencies, both PHP and JS, also improve security.

TODO list

Before releasing the v4, some more testing and bug-fixing is required. Also the multiplication of the available database engines, make testing and debugging much more complex and time-consuming. Also some web-applications already available making wide usage of the API v1 must be migrated in order to fully comply with the newest version.

So, stay tuned and help testing and bug detection! Read the docs and file an issue is something is not working as expected!


Info: julian.bogdani (at) uniroma1 (dot) it

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.
© Julian Bogdani 2020-2021

Bradypus v4 is release with the GNU AGPL-3.0 License