Good morning, all.

OK, SOGo is the only working CalDAV / CardDAV server with an acceptable level of quality, at least to me, in the standard Debian repository.

The two absolute requirements for me are LDAP authentication and a working user interface over https. So I have to use it, fair enough.

By the way, if right now, when reading this, your mind comes up with nice repositories on GitHub or somewhere else, where I can download xxx or yyy, just stop and read again. I want to stick to a standard Debian compatible repository, this is not negotiable.

Unfortunately, every time I have a look into the database schema, it is a shame, and I don't see any improvements over the years.

First, the tables prefixes - seriously, what is the point of this, remove it. The tables should not be named sogo_xxx ? We are not any more in the 80s, when you were only able to use one database on a hosting provider. At least, make this an option, and not the default case.

Second, the column prefixes - Why all the columns are called c_xxx, there is no point behind this except it is annoying and reduce queries readability. Do you have a dinosaur programmer in your team that advertise this as a poor way to avoid errors ?

For these two "features", trust unit test, static code analysis and continuous integration to detect errors, not programming practices from the 70s.

Third, why the table sogo_folder_info replicates the credentials of the database in each record ? (columns c_location, c_quick_location, c_acl_location) Even if you wanted to have multiple database, the credentials should not be stored in clear text in the database. This is both a security issue and the worst database design I have seen so far...just remove this feature.

Fourth, in the same table, what are the columns c_path1, c_path2, c_path3 ??? If your database was properly designed, you wouldn't need these artefacts.

For 2022, can you hire a database administrator to redesign your database schema ?

Otherwise, I wish the whole team a happy new year.

Andre Rodier.
--
[email protected]
https://inverse.ca/sogo/lists

Reply via email to