Click [Tools] in the main menu bar to access the following useful tools available in DB AppMaker.
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:
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 are settings required for signing your app before publishing it, make sure you enter all of them.
|Key store file||
A 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.
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.
["host" => "myHostName", "port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myDbName"]
["host" => "myHostName", "port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myDbName", "schema" => "mySchemaName"]
["port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myTNSName", "schema" => "mySchemeName"]
For Microsoft SQL Server,
["host" => "myHostName", "port" => myPortNumber, "user" => "myUsername", "pass" => "myPassword", "db" => "myDbName"]
["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.
|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.|
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.
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.
If you prefer to have the table list displayed in the user interface in alphabetical order, click [Tools] -> [Sort Tables Alphabetically] to do so.
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.)
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.