Admin – Databases

  • The records in BOS are kept in Databases.
  • All databases are backed up daily. Backups are stored on AWS S3, moved to Glacier storage after seven days, and deleted after 30 days.

Navigation: BOS Tools > Admin (BOS) > Right-click a subscriber > View / Edit Databases (context menu)


How to Create a Database 

In BOS Tools, there is a database named Empty_DB. You can save time by copying that database instead of creating a new one. It is an empty database, but up-to-date with the versions.

  1. Navigate to the Databases interface.
  2. Click New (button).
  3. On the popup:
    1. Enter a Name: The name may only contain letters, numbers and underscores – spaces are not allowed. 
    2. Select the AWS Region that is closest to the Users from the dropdown list of available regions.
    3. Select a Cluster in the selected Region from the dropdown list.
    4. Click OK (button) to create the database.
      • Note: An empty Database and a Database record with an Alias that matches the Database Name is created.
      • Note: Set the Status to Enabled to activate it.
  4. Upgrade the database to the latest version, if necessary.
  5. Assign Users to the Database

How to Assign Users to a Database

  • The first user to log into the new database will automatically be granted Admin rights.
  • Admin rights allow the users to grant themselves permissions in all the modules as needed.
  1. Navigate to the Databases’ interface.
  2. Right click a Database and select Assign Users.
  3. Move Users to the Available and Selected columns as required using the navigational arrows in the middle.
    • Note: Only users in the Selected column have access.
  4. Click OK (button).

How to Copy a Database

In BOS Tools, there is a database named Empty_DB. You can save time by copying that database instead of creating a new one. It is an empty database, but up to date with the versions.

  1. Navigate to the Databases interface.
  2. Right click a Database and select Copy from the context menu.
  3. On the popup:
    1. New Name = Type a name for the new database.
    2. Region = Select a region from the dropdown list. The region is where the server is located. Select the region that is closest to you (databases can be copied across regions).
    3. Cluster = Select a cluster from the dropdown list. The cluster is a section on the server that was selected under Region.
  4. Click OK (button).

How to Delete a Database

  • A Database can only be deleted if there are no users assigned to it.
  • The Database is backed up, and the record is deleted from the Administration.
  1. Navigate to the Databases interface.
    • Note: If you are in the Databases interface, select a Subscriber from the dropdown list next to Databases.
  2. Click Edit (button).​
  3. Right-click a Database and select Delete from the context menu. 
  4. Confirm the deletion. 

How to Manage Database Clusters

  • Clusters must first be created in AWS RDS before they can be added in BOS Tools.
  • Clusters should be named as follows: Region-CompanyName / Shared-001 (e.g. Thailand-QuickEasy-001 or Thailand-Shared-001).
  1. Navigate to the Databases interface.
  2. Click Menu (button) > Clusters.
  3. Click Edit (button) to make the grid editable and to enable the New Item Row.
  4. Create a new record or edit the fields as follows:
    1. Alias = Type an alias for the new database.
    2. Host = Type or paste the server address.
    3. Region = Select a region from the dropdown list.
  5. Click Save (button).
  6. Close the Clusters popup using the X in the corner.

Fields Explained: Admin (BOS)

FieldDescription
Field Chooser (*)Allows users to add or remove columns.
IDThe system-generated number allocated to the subscriber
StatusStatus can be Enabled or Disabled. Users cannot log into disabled databases.
CompanyThe Name of the subscriber.
TypeThe type of subscriber (Premium or Standard)
AgentThe agent that is in charge of the database.
DatabasesThe number of databases owned by the subscriber.
UsersThe number of users.
Max Users (Desktop)The maximum number of users allowed to use the desktop version simultaneously.
OnlineThe number of users who are currently online. This number can be refreshed by clicking Refresh (button) on the top row.
Dbs EnabledThe number of enabled databases.
Max Users WebThe maximum number of users allowed to use the mobile version simultaneously.
ConnectedThe number of users currently connected.
Last UpdatedThe Date and time on which the record was last updated.
User UpdatedThe User who last updated the record.
Folder SizeThe maximum folder size.
A right-click submenu with the following functions:

View/Edit Users: An interface that manages the users who are allowed to access the databases.
View/Edit Databases: An interface to manage the databases belonging to the subscriber.
Assign Languages: An interface to assign languages to the subscriber.
Suspend: An option to suspend the subscriber.
Max User Audits: An interface to display the maximum number of users if the maximum number is reached.
Login Audits: An interface to check the login history of a specific user into a specific database.
Delete: An option to delete the subscriber if no users are connected.

Fields Explained: Databases (BOS)

FieldDescription
Field Chooser (*)Allows users to add or remove columns.
IDThe system-generated number allocated to the subscriber
StatusStatus can be Enabled or Disabled.
Users cannot log into disabled databases.
AliasThe Name of the database.
VersionThe current Version installed.
RegionThe database’s Region.
NameThe full Name of the database.
PortThe Default Port is 5432.
This port is highlighted in blue.
ClusterThe database’s Cluster. 
A database cluster combines multiple database servers (nodes) to function as a single, unified database system, enhancing performance, scalability, and availability by distributing data and workload across the nodes.
subscriber_idThe system-generated number allocated to the subscriber.
BackupsThe number of days between Backups.
Defaults to zero to backup daily.
User UpdatedThe User who last updated the record.
Last UpdatedThe Date on which the record was last updated.
ConfidentialA checkbox. If checked hides databases from general display.
A submenu that can be accessed by right clicking a database with the following functions:

Assign Users: Assigns users to the database.
Copy: Copies the database.
Backup: Creates a backup of the database.
Restore: Restores the database.
Upgrade: Upgrades the database.
Set Backup Frequency: Sets the number of days between backups.
Delete: Deletes the database.
Download Backup: Downloads a backup of the database.

Technical Information

  • As far as possible, all the business logic is stored in the database to simplify creating API’s and interfaces on other platforms (e.g. Browsers). 
  • Update Procedures:
    • Error checking and remedies are executed at the top of the Update Procedure.
    • Notes of errors that were fixed can be returned to the user as an error message by raising an exception in the stored procedure.
    • If an Update Procedure returns a message, the language needs to be added as an input variable.
  • Performance:
    • Every call to RDS takes a minimum 0.2 seconds and this is not related to the size of the payload.
    • To improve performance, lookup data is fetched from multiple tables in Json format and updated to memory tables in the exe.

Related Articles