Evaluating CUBA, some questions

Hello, I’m about to start the development of a large business application, lots of forms, grids, workflows, hundreds of tables, the usual stuff…
What I usually do is roll my own glue framework to integrate several key technologies (db/orm, UI framework, bpm engine, rules engine, etc…) as this gives me the best freedom and control down the line, but this time time is a constraint and I need something that allows me to rapidly build the first iteration of the system quickly.
I’ve seen the demos and read some documentation, but some comments from the devs or people using the platform for real projects about my needs would be greatly appreciated

  • true multitenancy: I need one shared schema containing users, roles, and shared data, and N copies of the same database structure (one per project) as data segregation is a legal requirement. I don’t need multiple tenants actually, but a way to separate data in multiple database schemas depending on the project that is being managed. I’d also like an automated way of updating the database structure to whatever structure is defined in the master, without migration scripts. I want to use Postgres.
  • Runtime UI customization: I need forms and grids to be customizeable by some admins depending on variables such as user roles, preferences, environment variables and so on. I am ok with writing the necessary code to translate these settings into whatever the platform uses to render the UI, but there must be a way to do so without having to recompile/redeploy anything
  • Runtime generation of datasources, coming from views or sql queries: one or more databases may contain views or queries which are created by users using database clients. These views may be used to populate grids and forms.
  • Performance: the demos are fine, but in a real application there will be at any given time dozens of grids with dozens of columns, forms with lots of fields and so on. How does the platform deal with that? Are there any complex demos out there?

Thanks a lot

1 Like

Hi,

Must say that your question is very broad and I’m afraid it would be hard to provide you with an exhaustive answer. However, I can point directions where to dig :slight_smile:

  • as for “true” multitenancy, please have a look at this topic and this sample. So, generally yes - it is achievable.
  • Runtime customizations can be achieved by built-in scripting capabilities - find more here.
    Another thing you mention is managing logic depending on the security model. For that purpose, the platform provides, so-called Specific Permissions.
  • Runtime generation of datasources is also possible, find the corresponding page in the documentation.
    To support custom queries mapping have a look at the value datasources.
  • We haven’t published any “complex demos”, however, in our company we develop 2 rather big products on CUBA Platform and both have very sophisticated UI: ECM and ERP for taxi business. You also can google and find some other systems developed with CUBA - like this one.
    I also could show some complex UIs privately - just send me a message.

Regards,
Aleksey