CYPEX allows multiple developers to work on different applications for the same user Role to avoid conflicts in collaborative development. Since each application is tied to a specific role with access to particular database queries, developers can build separate applications independently.
The Merge Applications feature enables developers/administrators to combine multiple applications built for the same Role into a single, unified application. This process merges all app definitions and concatenates pages, reports, and menu items, ensuring that the final merged application includes all elements from the individual applications.
The CYPEX PDF Reporting Feature enables users to generate high-quality PDF reports directly from CYPEX applications. Users can choose between interactive reports, which mirror the live application view, and static reports, which use LaTeX for structured and large-scale data presentation. Reports can be saved locally or stored in the database for easy access through the Admin Panel.
How to Create a New Report
To generate a PDF report, create a new report page in CYPEX as follows:
After successfully creating this first application, it’s time to move forward and dive into workflows. The goal of the next application is to create a TODO list which can be modified by end users.
Here’s some sample data:
BEGIN;
CREATE ROLE todo_owner LOGIN;
GRANT todo_owner TO authenticator;
CREATE SCHEMA todo AUTHORIZATION todo_owner;
CREATE TABLE todo.t_todo
(
id serial PRIMARY KEY,
tstamp date DEFAULT now(),
todo_item text NOT NULL,
status text
);
INSERT INTO todo.t_todo (tstamp, todo_item, status)
VALUES
('2021-03-04',' Do the laundry', 'created'),
('2021-03-06',' Cut the grass', 'accepted'),
('2021-03-09',' Eat a steak', 'success'),
('2021-03-12',' Slaughter a chicken', 'rejected');
COMMIT;
For the sake of simplicity, the TODO list consists of just one table. What is noteworthy here is the last column: The status informs us about the state of an object. A task might have succeeded, failed or it might have been rejected.
CYPEX supports the integration of external images. Add an image element to your desired page and click on the element for configuration: You may add the desired link to the image, resize the element and define whether the picture can be resized or stretched.
CYPEX supports GIS (Geographical Information Systems) data. However, in order to use GIS data in CYPEX, there are some things which have to be taken into consideration.
Let’s take a look at a sample table:
cypex=# CREATE EXTENSION postgis;
CREATE EXTENSION
cypex=# CREATE TABLE t_area (
id serial PRIMARY KEY,
name text,
g geometry
);
CREATE TABLE
The keys to GIS data are the “geometry” and “geography” columns. These aren’t directly visible in a web frontend. Let’s take a look at how default queries are generated:
CYPEX is in charge of handling everything from rapid prototyping to full application development.
When building a full application, it can become necessary to schedule jobs. CYPEX offers the means to make that happen using pg_timetable, a job scheduler developed by CYBERTEC. It’s able to handle all kinds of job execution tasks.
Let’s take a look at a sample use case:
When a contract is entered, somebody else should be notified
If there is no response, try again in two weeks
The way to integrate job scheduling with CYPEX is by using standard SQL tables. In pg_timetable, every job is stored in tables. By writing database-side code, you have a transactional way of scheduling jobs.
CYPEX may be used to store highly critical data. In those cases, it’s necessary to track changes made to an entity. However, it’s not only about critical data - sometimes you simply want to debug an application and check what’s going on.
Enabling history tracking is easy: Go to the database setup page, and select the entity you want to track. Use the “Auditing” button to control this behavior.
CYPEX allows superusers to make immediate changes. The edit-mode is only accessible to superusers.
However, in some cases you might want to change the application without actually using it immediately. To achieve live editing without harming productive users currently working with the application, you’ll need to use release management. Before we dig into that, it’s worth pointing out that CYPEX actually allows you to revert to a previous version of your application.
Export/Import packages CYPEX applications into portable ZIP archives for migration, backup, and deployment across instances. Export packages contain all application components—UI definitions, queries, workflows, functions, files, reports, users, roles, and optional audit logs—in structured JSON format.
Info
Advanced Feature: Requires understanding of CYPEX applications, database structures, and environment management. For incremental updates, use Merge Applications or Release Management instead.
Use Cases
Environment Migration: Move applications between development, staging, and production
Backup and Recovery: Create application backups for disaster recovery
Deployment: Deploy applications to new CYPEX instances
Version Archiving: Archive specific versions for rollback
Multi-Instance Sync: Synchronize applications across multiple deployments
Application Sharing: Share applications between teams or organizations
Key Features
Selective Export: Choose which components to include (UI, queries, workflows, functions, files, reports, users, roles, audit logs)
Automatic Validation: Comprehensive checks run before import starts
Dry-Run Mode: Simulate imports without database changes
Conflict Resolution: Choose how to handle conflicts (Prompt, Overwrite, or Skip)
Transaction Control: Select transaction strategy (Per-object, Batch, or Full)
Real-Time Logging: Monitor operations with detailed progress logs
Concepts
Export Packages
Export packages are ZIP archives with structured JSON files. Each package contains: