Getting Started

Overview

A brief description of all the tools available at your disposal when you log in as a developer or administrator.

pageOverview

Building Application

What is an Application?

An Application is a collection of various components via. pages, data sources, functions, workflows, roles, access controls etc. Once an application is developed, you can then easily migrate it from one instance to another in just a few clicks.

Application Data

Each application can be backed by its database. All the application data will be stored in the configured database schema. Use the connections sidebar panel to manage different database connections.

External System Integrations

When building enterprise applications, there may be some use cases for which you may have to pull in data from external systems and at times even push data to the external systems. As long as there are REST APIs exposed by those external systems or allow direct database connections, you can integrate those external systems using external data sources and build a page or dashboard that can display data from one or more such systems.

Steps Involved

Define a Storage Connection

Using the Storage Connection panel, define a new storage connection if not already defined. This storage connection will be used by any file attachments or CSV upload/download performed via the application.

Define a Database Connection

Using the connections panel, define a new connection for your application. Give a unique code, name and choose the database type and provide the connection URL in a format supported by the database type. Optionally provide a script to be executed every time a connection is pulled out from the pool to service user requests.

Also define an additional read-only connection with a database user who only has read permissions to the application data. This read-only connection will be used by SQL Worksheet when authorized users issue ad-hoc SQL queries.

Define the Application using the above connection

Using the Applications panel, create a new application and choose the database connections and storage connection. You must define a storage connection if not already done using the Storage Connections panel.

Define Roles

Create one or more roles as per the user personas required for the application. Choose a unique code & name for each role. A role is used to grant access permission on pages & data sources. You can also define new roles by copying permissions from an existing role.

Define DataSource

Using the DataSource panel, define one or more data sources as needed for your application. If your database tables are already created, make sure the existing tables have the necessary WHO Columns if the application needs to update the data in those tables. If you do not have the tables pre-defined, then use the From Scratch option to manually defined a data source.

When manually defining a data source, choose the appropriate data type and max length for the attributes.

Note: When you add a new field (also called an Attribute) to an existing data source, a column is added to the database table.

After defining a data source, navigate to Access Settings and assign the appropriate privileges to various roles.

Define Pages

Using the Pages panel, create one or more pages as needed for the application. For a simple page with CRUD operations, chose the Generate for a DataSource option to auto-generate a page for each data source. Start with a blank page, for more complex UIs. There are some pre-defined templates you can choose from as a quick start while building a page.

After creating a page, navigate to Access Settings and assign access to all the required roles.

No two developers can work on the same page at a time. If more than one developer is accessing the page at the same time, their profile icon will be shown on the header similar to google docs. When the other developer commits any changes to the page, the changes will automatically be pushed to all other users viewing the same page.

As a best practice, divide the page into multiple sub-pages and use a wrapper page that embeds all the other sub-pages. That way different developers can work on a different part of the wrapper page at the same time.

  • Create cloud functions for more complex functionality

  • Create an external data source to pull data from external systems.

  • Define workflows for automating business processes e.g. Approvals

  • Assign application roles to users

  • Define lookups and profiles as needed for the application.

  • Upload images to be used in the application.

  • Define and use custom react component

  • Define and use a custom workflow node

  • Set up languages and upload labels for all the languages defined.

  • Create test scripts for test automation

  • Generate application patch and DB migration scripts for migrating the app from DEV to UAT & PROD.

Advanced UI Topics

pageApp ControllerpagePage ControllerpageCustom Component

Advanced Backend Topics

pageServer Side ScriptspageSample ScriptspageModule ImportspageWHO Columns

Last updated