Introduction to Unqork Applications
Estimated Reading Time: 4 minutes
Unqork provides you the ability to create web applications. In general, a web application is a type of software that uses web browsers to perform tasks. In Unqork, an application is a program that performs the same tasks using web browsers. An Unqork application can be either a module-type or workflow-type application.
What You'll Learn
In this article, you'll get a high-level look at the types of Unqork applications and how to work with them.
To create a module-type application, you must define an entrypoint module. The entrypoint module determines the point of entry into the application. Therefore, the application ID and the entrypoint module ID are consistent.
What Is an Entrypoint?
During the planning process of building an application, it’s important to consider how your end-user interacts with the application. Specifically, how and where your end-user accesses and interacts with your application.
Once you determine the entrypoint, it’s important to consider the application's data model. Will the application create submissions? Should end-users be allowed to update submissions? These are important questions that help you decide permissions for an end-user interacting with submission data.
When creating and updating Unqork submissions as a non-Administrator Express role, saved Property IDs must be present as a component in the module or application where the submission is written. When writing to Unqork submission data, Super-Users (Administrators with Full Submission Access) behave differently than non-Administrators. The Super-User role superseding all RBAC controls for writing Property IDs to Unqork submissions. Therefore, Super-Users can write Property IDs to a module even if the Property ID doesn't exist on the module.
By default, Data Versioning is enabled for every application. That way, Unqork can store any submission revisions that belong to the application. The option to enable WORM (Write Once Read Many) storage is only visible when Data Versioning is set to ON. If you decide that you don’t want end-users to edit, overwrite, or delete any submission data, then you must enable WORM storage. By default, WORM storage is disabled in your application.
TIP To learn more about WORM storage, see our Workspaces: Inside a Workspace article.
NOTE WORM storage is only compatible if the entrypoint is a schema module that stores submissions.
A workflow-type application is a separate entity than a module-type application. But, workflow-type applications can contain modules linked together to execute a process.
Working With Multiple Applications
Sometimes it might be necessary to create multiple applications. While we’ve defined the two types of applications in Unqork, many times the term application is an umbrella term to describe an application consisting of multiple applications. For example, let’s say you're creating a meal-delivery application where customers submit a meal order. Then, a driver picks up the meal from a hub and delivers it to the customer. This application might consist of multiple applications designed to execute the following functions:
|1.||Customers use one application to create the order and submit it to the hub.|
|2.||Drivers use another application to create a profile and select a delivery shift.|
|3.||The application assigns routes to drivers based on their availability.|
Each application in the above example might also have their own respective schemas (orders, drivers, shifts, and routes) defined by a data model. This data model's overall goal being to deliver meals to customers. That way, each application contributes to your overall meal-delivery application.
Previewing Your Application
To preview your application as end-users would view it, click Preview in top right of the Module Editor to view it in Express View. Any changes you make to your application in the Module Editor reflect in Express View after saving and refreshing the page.
You’ll also notice that your application's Express View URL is different than the Module Editor URL. In Express View, the URL includes an appended x. For example, while training-staging.unqork.io displays as the Module Editor URL, training-stagingx.unqork.io displays in Express View.
Styling Your Application
As with application configuration, styling your application occurs in the development process. The Unqork’s Styles team can style your environment using custom CSS (cascading style sheets). By default, your application has available styles that you can apply.
TIP To learn more about creating and uploading your own styles, see our CSS Upload article.
To access environment styles:
|1.||At the top right of the top right of the Unqork Designer Platform, click Settings.|
|3.||Under Environment, select Style Administration.|
|4.||From the grid, find the style you want to use.|
|5.||From the Manage drop-down, select Set As Default.|
TIP Use the Manage drop-down to edit style descriptions and promote the style from one environment to another.
Promoting Your Application to Another Environment
When you’ve decided it's time to advance your application to the next stage of development, you need to promote the application from its current environment to the next environment, or target environment. Unqork designs environments to support each phase of the SDLC (software development life cycle). Promotion is the process of advancing your application between environments. To promote an application from its current environment to the next, ensure you've selected all the dependent elements that make up the application. These elements might include modules, styles, assets, data collections, and so on. After you’ve determined the necessary elements for the application, select the target environment where you want to promote the application.
NOTE Keep in mind, modules can belong to more than one application.
Promoting Your Module to Another Environment
In addition to promoting entire applications from one environment to another, the Unqork Designer Platform enables you to promote individual modules from one environment to another. Promoting modules can be helpful if you want to promote a specific module that exists outside of the context of an application.
TIP To learn more about promoting applications and modules, see our Release Management Dashboard Tool article.