4D v16.3

Data file management in final applications

Home

 
4D v16.3
Data file management in final applications

Data file management in final applications  


 

When a user launches a merged application or an update (single-user or client-server applications), 4D tries to select a valid data file. Several locations are examined by the application successively.

The opening sequence for launching a merged application is:

  1. 4D tries to open the Last data file opened, as described below (not applicable during initial launch).
  2. If not found, 4D tries to open the data file in a default data folder next to the .4DC file in read-only mode (new in 4D v15, described below).
  3. If not found, 4D tries to open the standard default data file (same name and same location as the .4DC file).
  4. If not found, 4D displays a standard "Open data file" dialog box.

When the Use new architecture for application deployments compatibility option is checked (see Compatibility page), any standalone or server applications built with 4D stores the path of the last data file opened in the application's user preferences folder.

Compatibility note: In previous versions of the program, this information was stored in the structure file.

The location of the application's user preferences folder corresponds to the path returned by the following statement:

 userPrefs:=Get 4D folder(Active 4D Folder)

The data file path is stored in a dedicated file, named lastDataPath.xml.

Thanks to this architecture, when you provide an update of your application, the local user data file (last data file used) is opened automatically at first launch.

This mechanism is usually suitable for standard deployments. However for specific needs, for example if you duplicate your merged applications, you might want to change the way that the data file is linked to the application. For more information, please refer to the next section "Configuring the data linking mode".

With your compiled applications, 4D automatically uses the last data file opened. By default, when the new architecture is activated (starting with 4D v15 R4, see section above), the path of the data file is stored in the application's user preferences folder and is linked to the application name.

This may be unsuitable if you want to duplicate a merged application intended to use different data files. Duplicated applications actually share the application's user preferences folder and thus, always use the same data file -- even if the data file is renamed, because the last file used for the application is opened.

4D therefore lets you link the data file path to the application path. In this case, the data file will be linked using a specific path and will not just be the last file opened.

Duplication when data linked by application name:

Duplication when data linked by application path:

You can select the data linking mode during the build application process. You can either:

4D allows you to define a default data file file" at the application building stage. When the application is launched for the first time, if no local data file is found (see sequence described above), the default data file is automatically opened silently in read-only mode by 4D. This gives you better control over data file creation and/or opening when launching a merged application for the first time. More specifically, the following cases are covered:

  • Avoiding the display of the 4D "Open Data File" dialog box when launching a new or updated merged application. You can detect, for example in the On Startup database method, that the default data file has been opened and thus execute your own code and/or dialogs to create or select a local data file.
  • Allowing the distribution of merged applications with read-only data (for demo applications, for instance).

To define and use a default data file:

  • You must provide a default data file (named "Default.4DD") and store it in a default folder (named "Default Data") inside the database package (4dbase). This file must be provided along with all other necessary files, depending on the database configuration: index (.4DIndx), external Blobs, journal, etc. It is your responsibility to provide a valid default data file. Note however that since a default data file is opened in read-only mode, it is recommended to uncheck the "Use Log File" option in the original structure file before creating the data file.
  • When the application is built, the default data folder is integrated into the merged application. All files within this default data folder are also embedded.

The following graphic illustrates this feature:

When the default data file is detected at first launch, it is silently opened in read-only mode, thus allowing you to execute any custom operations that do not modify the data file itself.

 
PROPERTIES 

Product: 4D
Theme: Finalizing and deploying final applications

 
HISTORY 

Created: 4D v15
Modified: 4D v15 R4

 
ARTICLE USAGE

4D Design Reference ( 4D v16)
4D Design Reference ( 4D v16.1)
4D Design Reference ( 4D v16.3)