Think of a modularized database like a set of toy blocks. Each block, or module, is a separate piece of the solution and has its own job. Just like you can snap together blocks to make different things, you can connect these modules to build a complete solution or application.
Every module is like its own database. It works by itself and has its own information and tasks it can do. But, when you put these modules together with others, they can share information and do more complex jobs.
Let's take a company as an example. It has departments like sales, human resources (HR), and accounting. In a modularized database, each department has its own module. The sales module keeps track of talking to customers, the HR module looks after employee details, and the accounting module deals with money matters. Each of these parts works on its own, but they can also connect to each other. For example, the HR module could share employee information with the sales module to help track who's selling well.
Think of a modularized database like a set of toy blocks. Each block, or module, is a separate piece of the solution and has its own job. Just like you can snap together blocks to make different things, you can connect these modules to build a complete solution or application.
Every module is like its own database. It works by itself and has its own information and tasks it can do. But, when you put these modules together with others, they can share information and do more complex jobs.
Let's take a company as an example. It has departments like sales, human resources (HR), and accounting. In a modularized database, each department has its own module. The sales module keeps track of talking to customers, the HR module looks after employee details, and the accounting module deals with money matters. Each of these parts works on its own, but they can also connect to each other. For example, the HR module could share employee information with the sales module to help track who's selling well.
The Ninox 3.10 release introduces a transformative feature to enhance your experience: the 'do as database ... end' transaction
do as database ... end
is available for Private Cloud and On-Premises.
Simplified database navigation, boosting data access speed and productivity.
Avoids complex API workarounds.
Seamless integration with existing database relationships.
Consistent read and write client-side operations across both web and native apps.
Intuitive functionality in line with other Ninox transactions; do as transaction ... end
, do as server ... end
, and do as deferred ... end
.
The do as database ... end
transaction greatly simplifies the task of navigating through multiple databases, eliminating the need for shifting between databases or applying advanced workarounds for data access.
The core functionality of do as database ... end
is to allow you to pull data directly from the current database you're operating in without accessing a separate database. Not only is this transaction method more streamlined than the previous API call method, but it also ensures data accuracy, given certain conditions:
The transaction can be applied only when the databases in context have a pre-existing relationship.
For accurate data retrieval, the database name used must be exact.
Database names with special characters should be enclosed in single quotes.
To exemplify, consider 2 databases: Offers and invoices and Procurement.
Open the Offers and invoices database.
Open the Invoices table.
Click the wrench icon in the top-right corner to enable edit mode.
Click the drop-down arrow next to the gear icon on the left and select Edit fields from the dropdown to access the table settings.
In the table settings, select the All databases in current workspace checkbox.
Also in the table settings, click Relationship fields. Under the Procurement database, drag-and-drop the Orders table to Fields.
Click Save to apply changes and close the table settings.
In the Offers and invoices database, create a new formula field and name it Order date.
In the table settings, drag-and-drop Formula from Data fields to Fields.
Click Save to apply changes and close the table settings.
Open a record in the Invoices table, switch to the Invoices tab, hover above the Order date field until you see the wrench icon.
Click the wrench icon to access the field settings.
In the Order date field, click the Formula field to open the formula editor.
In the formula editor, enter the following script:
Click Save to save the script and close the formula editor.
In the Formula pop-up, click OK to apply changes and close the pop-up.
Click Save changes.
Verify that Order date displays the latest order date from the Orders table in the Procurement database.
Before beginning, ensure you've established a relationship between Offers and invoices and Procurement.
In the Offers and invoices database, create a new layout field (button) and name it New invoice.
Click Edit fields and drag-and-drop Formula from Data fields to Fields.
Click Save to apply changes and close the table settings.
Open a record in the Invoices table, switch to the Invoices tab, hover above the New invoice button until you see the wrench icon.
Click the wrench icon to access the field settings.
In the New invoice field, click the On click field to open the formula editor.
In the formula editor, enter the following script:
Click Save to save the script and close the formula editor.
In the Button pop-up, click OK to apply changes and close the pop-up.
Click Save changes.
When you click the New invoice button in the Invoices table in the Offers and invoices database, a new record from Orders with today’s date should pop up.
Verify that the Orders table in the Procurement database contains a new record with today’s date.
The Ninox 3.11 release introduces a simplified way to reconnect modularized databases imported to another workspace
Reconnecting modularized databases is available for Private Cloud and On-Premises.
In Ninox 3.10, we introduced an important improvement, the transaction do as database ... end designed to simplify the transfer of data between databases. This transaction removed the need for complex API workarounds. Building upon this progress, Ninox 3.11 brings an essential new feature focused on the reconnection of modularized databases.
Reconnecting databases was a long, manual process. When you imported a database backup to a new workspace, you had to manually reconnect each relationship, sometimes doing it over and over for the same database.
When you downloaded and then uploaded a database to a new workspace, its ID would change because it was in a new workspace. This made the tables not recognize each other anymore, and you had to reconnect them again by hand.
When something went wrong during this process, you wouldn't get any error messages. This meant you might not even realize there was a problem.
The whole process is now built into Ninox itself, making everything smoother and avoiding the need for complicated steps or outside tools.
It's mostly automated now, which saves a lot of time and hassle that used to go into managing relationships.
You don't have to use temporary fixes to reconnect databases anymore.
Everything updates on its own, so you don't have to manually keep track of maintenance.
Instead of the old, complicated multi-step process of reconnecting databases, there's now just a few simple steps.
It's easier to spread out your data across different workspaces, making your databases more flexible.
If errors pop up, you'll see messages explaining what went wrong, making it easier to fix issues.
For this example, we connected 2 databases from our templates: Onboarding and Time tracking.
The actual process of reconnecting your databases may vary slightly.
In the workspace overview, click the Reconnect database (1) tile.
In the Reconnect database pop-up, click the dropdown menu (2) to select the database you want to reconnect.
From the dropdown menu, choose the desired database, here it's Onboarding (3).
Click the Next (4) button to proceed.
On the next screen, you'll see Onboarding is ready to be reconnected and that it has relationships with other databases. Choose the desired restored version, here it's Time tracking (5).
Click the Continue to reconnect (6) button.
Finally, confirm the reconnection by clicking the Confirm reconnect (7) button.
Once the reconnection is successful, you'll see a confirmation message stating Onboarding is successfully reconnected. Click OK (8) to close the pop-up.