So your application has been developed and you’re ready for the next step. 4D lets you:
- generate a compiled database that no longer contains any interpreted code,
- generate a standalone application that can be double-clicked, (i.e., merged with 4D Volume Desktop, 4D’s database engine),
- generate client/server applications with automatic updates of client and server parts.
Project databases, available in beta in the latest 4D v 17 R-Releases, are now available for production in 4D v18! Among the many changes in 4D v18 is the way user and groups are managed … it’s become much easier, especially deployment. This post will briefly highlight everything you need to know about these changes.
4D v18 introduces a new architecture for files and folders to keep your deployed macOS package and Windows application folders intact. In a nutshell, the logs folder and all user-based settings, including 4D backup settings, are now stored next to the data file. In fact, the settings exist twice; one next to the structure to use as default settings for new data files, and one beside the data file, storing user changes.
As a result, the folder containing the structure can be read-only, since nothing is modified inside (*). Deployment becomes easier because the structure folder can simply be replaced, nothing within it needs to be copied beforehand.
(*) only in project databases. In binary databases the user & password tables are stored in the structure, so the folder must not be read-only.
Today, merged applications save many information in the application package and also in the compiled file (.4DC). Besides preventing to create read-only applications, saving information in the application package has another annoying consequence: the information gets lost when you update the application.
When you deploy an application to your customer, either a merged 4D Server or Single User application, 4D usually opens the “Select data file” dialog. This happens because for an updated solution 4D cannot find the position of the last used data file, as you just replaced the old structure. And for a first time usage, 4D does not know where you would like to create the data file – so it asks for the location.
This dialog, as the very first interaction with your application, might be confusing for the customer. And the verification for the data file happens before the On Startup is executed, before your code has a chance to select another file. To avoid this, 4D v15 introduces a new feature, named Default Data.