Etherpad storage abstraction layer is implemented in an external module, ueberDB.
The module is not part of Etherpad, and it cannot be updated easily. For example, there is no direct way of publishing a new version on npm.
Looking at ueberDB's depentents page on npm it is clear that, exluding an Etherpad plugin by Framasoft, no project whatsoever use ueberDB2: its only user is Etherpad.
Forking/vendorizing ueberDB2 would remove an administrative bound without impacting on anything.
Example 1: in #3674 a user had to manually install the sqlite3 driver (thankfully uncovering an unrelated issue in the process). That is surprising, since it would be normal to expect that a generic storage layer supports such a widespread (and well regarded) db library.
Example 2: another user had a problem with mongodb support (#3672), opened an issue here, and had to find the solution he needed inside the ueberDB's issue tracker.
The work on this theme will start after 1.8.0 is released.
Etherpad storage abstraction layer is implemented in an external module, ueberDB.
The module is not part of Etherpad, and it cannot be updated easily. For example, there is no direct way of publishing a new version on npm.
Looking at ueberDB's depentents page on npm it is clear that, exluding an Etherpad plugin by Framasoft, no project whatsoever use ueberDB2: its only user is Etherpad.
Forking/vendorizing ueberDB2 would remove an administrative bound without impacting on anything.
Example 1: in #3674 a user had to manually install the sqlite3 driver (thankfully uncovering an unrelated issue in the process). That is surprising, since it would be normal to expect that a generic storage layer supports such a widespread (and well regarded) db library.
Example 2: another user had a problem with mongodb support (#3672), opened an issue here, and had to find the solution he needed inside the ueberDB's issue tracker.
The work on this theme will start after 1.8.0 is released.