I am considering using your product for a new project. I would like to ask you to illustrate how I can implement our requirements. I follow up on your pet store examples and add the requirements to this.
Let’s say we have a vanilla version of a pet store. We are planning to have around 10 pet stores within the next 2 years. Each pet store will be a “copy” of the vanilla version with some adjustments (customizing). Each copy can have different screens, screen flows, reports, etc. A new pet store (based on the vanilla version) should be available within weeks depending on the complexity (programming new screens, extending the domain model etc).
The end user will select a pet store, logs in and is guided through the application. The user experience is the same across all stores with different deviations. E.g. buying a horse requires more information, feedback cycles, etc. than buying a mouse.
The following questions arise:
How do I best create a pet store based on a vanilla version in Cuba Studio (e.g. copy/paste the vanilla project adjusting the DB-Connection parameter etc.)
How do I best implement multi-tenancy (Cuba Studio Multi tenancy, Oracle VPD, Oracle Multitenant) in connection with question 1.
The domain model (DB schema) must be the same for all pet stores (multi tenant). Although not all pet stores will use the full functionality. The UI-logic can be a copy of the vanilla version, but they all use the same domain (business) objects.
The objective is to have a Java-Project setup with CI-Integration etc. which is cost effective and not to complex to maintain and to support (Java-update, re-test, Cuba updates, staging, schema-updates etc.). The UI-Logic for each pet store should be maintained in the Java project somehow in a separate subproject. Each pet store should be a deployable unit (war file).
Thanks for a feedback and guiding us into the right direction.