Introduction

Getting started

Walkthrough Guides

CafeX Apps

Workflows

Using CafeX Collaborate App

Reporting

Managing CafeX

Integrating CafeX

Security

App Studio

App Studio Components

How-tos

Getting started

Building a CafeX App

Modified on Mon, 19 May at 10:31 AM

When building an application in CafeX, there are a number of aspects that need to be considered in the design. Each of these items are described below.


Use Case

The use case defines how the application will be used by the users or systems that interact with it. A well-defined use case should include:

  • The Actors that make use of the system. This is the term for any external entity that interacts with the application, like other users or machines. Each actor can perform one or more activities in the application.
  • The Activities or Processes that make up the application. These are the actual tasks completed by the application on behalf of the actors. 
  • For each activity-actor pair, identify what the actor provides to the application (input) and what the application returns (output). For example, if a user performs a search, what information must they enter, and what results should they receive?

Defining an application with a user case helps scope the application and gives you a framework to work within.


Data Model

The data model defines the structure of the data your application will store and use. In CafeX, it's possible to build an application that only uses external data sources and hence doesn’t have a data model. However, in most cases the application will create and store additional data that augments that in the integrations.


When defining the data model, you should consider the fields of data that are going to be stored, their types, and how they are grouped together. With CafeX, the simplest model to use is the Data Table, which resembles a spreadsheet where a row is a record and a column is a field in that record. 


Common field types supported in CafeX include:


TextTextual content, e.g. names and descriptions
NumberNumeric values, e.g. age, cost
DateA value to be treated and displayed as a date
TimeA value to be treated and displayed as a time
CheckboxAn indicator that the user can select
Multiple ChoiceA value selected from a set of other values
URLA link to a web page or other resource
UsersA list of system users
AssetsA file, link, or other assets compatible with the CafeX platform.


Integrations

The CafeX platform is designed to bring disparate sources of data and information together in a single active user focused application. When designing your application, consider what integrations you'll need and how they will interact with your app.


Content Integrations

Content integrations allow applications to link directly to external content repositories such as Microsoft Sharepoint, Google Drive, and Salesforce. These types of integrations make content available in these repositories available to users of the application by linking a user’s credentials for a remote service to the workspace.


Content integrations should be used when documents or records need to be viewed in their entirety within the application and constantly kept synchronized to the remote repository. Since content integrations require direct integration with the remote repository during the lifetime of the workspace, they can be inconvenient to work with. However, you can alternatively upload the content manually directly into the workspace or use a Service Integration (described below) to automatically copy content from a remote system based on events. 


A simple example of a content integration is providing documents from a Google Drive for viewing in an application. The user who has access to the documents can either manually or programmatically add the drive or individual document to the workspace as part of its assets list. Any user with access to the document will then be able to access those documents directly from the drive.


Service Integrations

Service integrations actively invoke remote systems or repositories to perform tasks. The results of these activities can be placed in the CafeX workspace either as raw data (in tables) or as assets. Service integrations connect CafeX applications via workflows to one or more of hundreds of available integrations to services exposed by AWS, Microsoft, Google, and other vendors. Workflows are triggered either by manual action in your application or by life cycle events on the workspace and its content.


Service integrations should be used when making use of remote APIs and applications as part of the events in your application. Service integrations are only invoked when a workflow is actioned and must be re-invoked if the external data changes and needs to be refreshed.


A simple example of a service integration is performing OCR (Optical Character Recognition) on a PDF document. To extract text from a scanned PDF, a workflow can trigger AWS Textract upon file upload. The resulting text can then be stored as a searchable asset in the workspace, improving document indexing and accessibility.


User Interface

Most applications built on the CafeX platform have user interaction at their core and as such its key to design a user interface that supports their flows in the most efficient manner. CafeX provides a rich interface builder capabilities that allows you to drag and drop components into an application, connecting them to data sources, integrations, and other platform capabilities all within the same tool.


User interface design is tightly linked to the use cases described above and is often an iterative process of design, followed by user testing, followed by refinement. The CafeX tooling makes refinement and re-imagining of your user interface an easy and natural process.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article