Click [Tools] in the main menu bar to access the following useful tools available in DB AppMaker.

Multi-Language Property Editor
Advanced Settings
Release Settings (Android)
Copy Table Settings
Copy Field Settings
Sort Tables Alphabetically
Delete Template Cache
Menu Editor



During project development, you may occasionally alter your database schema. DB AppMaker provides you with the ability to synchronize your project with the database again. The synchronization process can be invoked in the following situations:

  1. When working in DB AppMaker
    Click [Tools]->[Synchronize] or click thebutton on the toolbar to perform the synchronization. DB AppMaker will check to see if the database schema has been altered. If there are changes, you will be prompted whether or not to proceed with the synchronization.
  2. When opening a project file
    When open a project file, DB AppMaker will automatically check the database to see if the schema has been altered. You will be prompted to keep or update to the new schema.
Note If the database contains a large number of tables/fields, this auto-synchronization feature may make reloading a project file slow. In that case you can disable this feature by unchecking [Tool] -> [Auto Synchronize].


Multi-Language Property Editor

Some properties support Multi-Language. This editor allows you to enter your property values for each language. See Multi-Language Project for details.


Release Settings (Android)

Release Settings are settings required for signing your app before publishing it, make sure you enter all of them.



Key store file

keystore is a binary file that contains a set of private keys. You must keep your keystore in a safe and secure place. Specify the path of your keystore, if the file does not exist, it will be created. Make sure you specify a valid path, e.g. a subfolder under your personal folder, C:\Users\<username>\Documents\DBAppMaker\Keystores\<projectname>.keystore.

Key store password Password of the keystore. (Do not use comma.)
Organization unit Organization unit (Do not use comma.)
Organization Organization (Do not use comma.)
City or Locality City (Do not use comma.)
State of Province State or province (Do not use comma.)
Country Code (XX) Two character country code

Read Tutorial - Building your App for Release (Android) for details.


Advanced Settings

These settings are some advanced general settings, or rarely changed settings for the project, or custom defined settings for use during generation. Click [Tools] -> [Advanced Settings] to change these settings:

Check Node.js packages on start When DB AppMaker is opened, it will try to check the latest version of the required Node.js packages and update them. If you want to skip, uncheck this option.
Update template on start Check and update template on start (for registered users only)
Use project versioning Enable project versioning. If enabled, whenever you save your project, a version of the project will be created. You can click Project -> History to view the versions and revert to any version. See Project File for details.
Debug Show server error for debugging. For Remote data (see Config Settings) only.
Project name Project name. See Project File for more info.
Note Use only alphanumerical characters in project name.
Ionic theme Ionic theme. Possible values are: Default or Dark
Connection info of production server

Connection information of the production server serving remote data.

Connection info of the production server is usually different from that on your machine. You can override part of the connect on info by entering a PHP array, e.g.

For MySQL,

["host" => "myHostName", "port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myDbName"]

For PostgreSQL,

["host" => "myHostName", "port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myDbName", "schema" => "mySchemaName"]

For Oracle,

["port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myTNSName", "schema" => "mySchemeName"]

For Microsoft SQL Server,

["host" => "myHostName", "port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myDbName"]

For SQLite,

["relpath" => "myRelativePath"]

where "myRelativePath" is the SQLite database path on the production server relative to the index.php under the "api" folder.

Note Since the array is PHP code, make sure you escape any "$" character (and other special characters) with a backslash (\) in your strings. Read Strings.
File folder on production server For remote data and any non-BLOB field storing file names only, the physical files should be placed in this file folder so that they can be loaded by the index.php under "api" folder. Default value is "files/".
Note File folder is relative to the index.php under "api" folder. It should end with a slash, e.g. "files/" (without quotes).
File system encoding For remote data and any non-BLOB field storing file names only. The file name retrieved from the database is in utf-8, but the file name of the physical file in the file folder may be in file system encoding. To make sure the file can be read correctly, you may need to provide the file system encoding if your file names contains non-alphanumerical characters.
Searchbar debounce (ms) For Searchbar in List pages, specify how long, in milliseconds, to wait to trigger the ionInput event after each keystroke. Default is 500.
Thumbnail width (List) Thumbnail width in the List page. Default is 80.
Thumbnail height (List) Thumbnail height in the List page. Default is 80.
Thumbnail width (View) Thumbnail width in the View page. Default is 375.
Thumbnail height (View) Thumbnail height in the View page. Default is 0.
Multiple file separator For remote data and fields storing multiple file names. Specify the separator between the file names.
Use mobile accessibility Use phonegap-plugin-mobile-accessibility. Supports Use preferred text zoom (see below) and fontsize setting (see Settings).
Use preferred text zoom Specify whether or not the app should use the user's preferred text zoom from system settings to scale text within the webview. Requires Use mobile accessibility enabled.
Node.js path Path of Node.js (node.exe). By default DB AppMaker uses the globally installed version of node.exe, e.g. under C:\Program Files\nodejs. If you want to use another version, you can specify your own path, e.g. C:\my\path\.
Node.js max. old space size Memory limit of Node.js (MB). If your project is large, you may need to increase the memory limit, e.g. you can set it to 2048, 3072, 4096, etc.


  1. Set the setting according to the available memory of your system,
  2. If you need to use a very large setting, you may need 64-bit version of Node.js.
Node.js write file synchronously Write file synchronously. By default, output files are generated asynchronously. Use this setting if writing file synchronously performs better on your system.
Node.js garbage collection Use Node.js garbage collector to clean up memory regularly during generation.
Note Cleaning up memory manually will slow down generation, only enable this setting if you encounter out of memory problem.
Android SDK build tools path For Android only. If you have installed Android Studo, the build tools are usually installed under C:\Users\<user>\AppData\Local\Android\Sdk\build-tools. If this is also the case for your PC, you can leave this setting empty. Otherwise, you must enter your build tools path for building release version of your app.
Unaligned APK path For Android only. Unaligned APK file path for building release version apk.
Unaligned APK file name For Android only. Unaligned APK file name for building release version apk.
User table custom filter For remote data. Custom filter (WHERE clause) for user table.
Use hashed password For remote data. If your user passwords are hashed with PHP password_hash or md5 function, enable this setting.
Use PHP password hashing For remote data. If your user passwords are hashed with PHP password_hash function, enable this setting. If hashed with md5, disable this setting.
Case sensitive password For remote data. Use case-sensitive password. If enabled, the clear text passwords wil be converted to lower case first before calculating the hash.
Remote data URL (Development)

For remote data. During development with Ionic serve (see Generate Settings) you may use the real Remote data URL (see Config Setup), but in case you may want to test with a local server (e.g. your PC), you can enter the local URL for testing, e.g. http://localhost/my/path/api. For Build/Run/Release commands (see Generate Settings), the real Remote data URL will always be used.

Note This setting is generated in the file ionic.config.json, make sure you re-generate this file after changing this advanced setting or changing the Ionic serve setting.
API JWT signing secret key For remote data. The secret key used to sign the JSON Web Token (JWT). Non-optional, make sure you use different values for different projects and keep it in a secret place
API JWT signing algorithm For remote data. The algorithm used to sign the JWT. Default is "HS512". For more possible values refer to JWT web site:
API JWT authorization header For remote data. The name of the header storing the JWT. Default value is "X-Authorization".
API access time after login (seconds) For remote data. Time you can access the protected resources after login. Default value is 0.
API expire time after login (seconds) For remote data. The JWT expiry time. Default value is 3600 (60 minutes). You will need to authenticate again once the JWT expires.
Note The settings are defined in the settings.xml located at the "src" folder. If you are an advanced user who customize templates, you can also add your own settings to the "Project" section. Open the settings.xml with a text or XML editor, add a <setting> node under the "Project" section. Make sure you provide an unique id to the setting. Supported data type is "String", "Integer" and "Boolean". If not specified, default is "String". The setting value can be retrieved in the template during code generation (NOT during runtime of the generated app) using the PROJ.getValue("id") method. Also read Template Tags and Object Properties.



Copy Table Settings

If you use database built-in query/view to make an alternate version of a table, you need to set up the table and field settings again, this tool help you quickly copies table and field settings from the source table to the view. Click [Tools] -> [Copy Table Settings] to open the following form:


Select the [Source table] and the [Target table], click OK to copy the table settings. If a field in the target table has the same name as that in the source table, field settings will also be copied.

Note This feature copies setting without validation. If settings from the source table/field are not applicable to the target table/field, errors may result. Check the settings after copying.



Copy Field Settings

This tool help you quickly copies field settings from the source table to the view. Click [Tools] -> [Copy Field Settings] to open the following form:


Select the [Source table] and the [Target table], the fields of the target table will be listed in the left column, you can then select the respective source fields (from the specified source table) in the right column and click OK to copy the field settings.



Sort Tables Alphabetically

If you prefer to have the table list displayed in the user interface in alphabetical order, click [Tools] -> [Sort Tables Alphabetically] to do so.

  1. Re-arranging the table display order by drag-and-drop in the Table Setup page is still supported, so the display order will NOT be re-sorted automatically after synchronizing the project with your database even there are new tables added to the database. Use this tool to sort again if necessary.
  2. Only tables are sorted, the display order of the fields in the user interface or in the generated scripts will NOT be affected by this tool.
  3. The display order of the menu items in the generated apps is still controlled by the Menu Editor, using this tool will NOT affect the menu items.



Delete Template Cache

DB AppMaker will reuse the pre-processed template scripts to speed up code-generation. We refer to these pre-processed scripts as "template cache", sometimes these template cache may become corrupted resulting from, for example, generating with a corrupted template or badly customized template. In these cases you may want to delete bad template cache and let DB AppMaker builds the template cache again. You can do so by either clicking [Tools] -> [Delete Template Cache] or by manually removing the folder for the template under your Documents folder, i.e. <Documents Folder>\DBAPPMaker\Templates\<TemplateName>.zip\. (Also see Customizing Template.)



Menu Editor

To open the menu editor, click [Tools] -> [Menu Editor] in the main menu or click the "Menu Editor" icon in the toolbar.


Use the following toolbar buttons to manage your menu items:

Add item Add a new menu item. You can add new menu items and link them to your own URLs. Just click the button to add and then enter your URL.
Add child item Add a child menu item to the focused menu item. You can also easily drag-and-drop the icon of a menu item to another menu item to create child menu items.
Delete Delete the focused menu item
Edit item Edit the displayed text of the focused menu item. You can also click the text directly to edit.
Post Post the changes you make to the focused menu item
Cancel Cancel the changes you make to the focused menu item
Refresh Refresh the menu items
Move up one level Move the focused menu item up one level
Move down one level Move the focused menu item down one level
Note The menu supports TWO levels only, you can NOT put a menu item at third level or lower.
Move Up Move the menu item up
Move Down Move the menu item down
Expand all items Expanse all menu items so all menu items of each level are shown
Collapse all items Collapse all menu items so only menu items of the first level are shown
Multi-Language Show Multi-Language Property Editor for editing unicode menu text

You can show/hide the menu items by checking/unchecking the checkboxes beside the menu item text. If a parent menu item is hidden, all the child items will also be hidden.

If you want to use special characters in the menu caption, you can use HTML entities such as &#euro;.

After modifying, make sure you click [OK] to save the changes.


 ©2018 e.World Technology Limited. All rights reserved.