Invantive Studio is the tool in which applications on the Invantive Producer platform are designed and maintained. The design is not drawn on paper or kept in code. It is stored as data in a repository, and Invantive Studio generates the database objects and the business rules of the application from it. [[Invantive Estate/Invantive Estate|Invantive Estate]] is an application built this way. The following picture shows the main window with the demonstration database: ![[20261025-studio-main-window.png]] ## Who Uses It - Engineers and analysts, who define tables, columns, relations, business rules, modules and texts. - Application managers, who install an application in a database, load and export its model, and grant users, roles and rights. - Translators, who translate the texts of an application. See [[Invantive Studio/Translation Workbench|Translation Workbench]]. ## From Model to Application The work follows these steps: - The model of an application is entered in the repository: its tables and their columns, the natural key of each table, the relations between tables, the codes with their values, the attribute rules and the modules. See [[Invantive Studio/Repository/Applications/Applications|Applications]]. - Invantive Studio generates the storage layer, which holds the tables with history, and the business layer, which holds the views, triggers and rules. See [[Invantive Studio/Repository/Concepts/Layers of an Application|Layers of an Application]] and [[Invantive Studio/Repository/Concepts/Generation of the Business Layer|Generation of the Business Layer]]. - The generated objects are put in a database, and the database is kept in line with the model. See [[Invantive Studio/Repository/Concepts/Database Synchronisation|Database Synchronisation]]. - The user layer shows the application to users as lists, summaries and edit screens, which follow from the model. A user sees only what the rights of the roles of that user allow. See [[Invantive Studio/Users and Rights|Users and Rights]]. Because the layers are generated, every table of an application has the same standard columns, a history of its rows and the ability to be viewed at an earlier moment. See [[Invantive Studio/Repository/Concepts/Standard Columns|Standard Columns]] and [[Invantive Studio/Repository/Concepts/Point in Time|Point in Time]]. ## Working in Invantive Studio The main window has a tree with the applications and what is under them, a list or the fields of the selected node, and tabs with related rows. Every node offers commands such as "Open", "Edit", "Copy", "Refresh" and "Audit". See [[Invantive Studio/Repository/Main Window/Main Window|Main Window]] and the [[Invantive Studio/Ribbon/Ribbon|Ribbon]]. "Go to Definition" jumps from a node that refers to another row to that row. See [[Invantive Studio/Ribbon/Go to Definition|Go to Definition]]. ## Translations Each text of an application is a resource code, translated per language. Invantive Studio keeps the translations, offers machine translation and checks the quality of the result. See [[Invantive Studio/Translations|Translations]]. ## Version Control Two versions of an application can be compared, and the difference can be saved as a patch and applied elsewhere. See [[Invantive Studio/Repository/Version Control/Version Control|Version Control]]. ## Try It The [[Invantive Studio/Demo Database|Demo Database]] needs no Oracle. [[Invantive Studio/Demo Tour|Demo Tour]] walks through it. ## Where to Continue - [[Invantive Studio/Repository/Repository|Repository]]: all topics about the model; - [[Invantive Studio/Repository/Concepts/Concepts|Concepts]]: the ideas behind the generated layers; - [[Invantive Studio/Repository/Procedures/Procedures|Procedures]]: the common tasks step by step; - [[Invantive Studio/Glossary|Glossary]]: the terms of the product.