Some questions about data persistence of tenant&module.And questions about module versions


#1

Now I have been creating modules(let’s call the module ‘ill-web’) and tenants(testlib), then enable the ill-web module to testlib. But all the infomations have been stored in-memory.

  • How could I store the regist informations of modules&tenant into postgreSQL? Are there some way to config this?

  • What if I want to use a remote postgreSQL-Database?

  • If I want to manage the modules and tenants, do I have to create new tables(modules and tenants table) by myself? I mean,do I have to design the tables’ structure by myself OR Okapi has already implemented?

Then some questions about module’s version:

  • Can I deploy different versions of one module on Okapi(running at the same time)

  • Assume this situation: At first tenant_1 and tenant_2 uses the 1.0.0 version module, some time later we upgrade our system to 1.1.0. But tenant_2 does not want to use the new-version module, just insisting using the old version. How could I handle this? Does Okapi has some resolution about this?


#2

I’m interested in the version question, also. At my former institution a loose coalition of academic libraries around the state tried to get reciprocal borrowing set up among the libraries that were on the same ILS. However, it only worked if all the libraries were on the same version at the same time. If one library skipped or significantly delayed an upgrade, it all fell apart and the group finally gave up.


#3

These sections of the “Okapi Guide and Reference” do explain about using different versions and different modules for each tenant:


#4

Now I have restored the infomations into the postgreSQL with the ‘Dstorage=postgres’ parameter. But after I restart Okapi, my the modules doesn’t restart. Okapi reports that ‘No runing module instance found for XXXX’. It means that after once okapi stopped, my own module also stopped. But if Okapi runs again, my module would not start. Do I need to redeploy my module with ‘DeploymentDescriptor.json’? What if I want my module start automatically when okapi restart?