Skip to content

Commit

Permalink
better
Browse files Browse the repository at this point in the history
  • Loading branch information
freakout42 committed Sep 14, 2024
1 parent ecbc73a commit 749d521
Showing 1 changed file with 36 additions and 30 deletions.
66 changes: 36 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
formax: enterprise-applications on terminals
============================================

**formax** is a tool for developing and executing
user-friedly character-based database applications with
extreme efficiency. The concept of Oracle SQL-Forms
3.0 is combined with curses as the terminal interface, ODBC
for universal database access and JavaScript as trigger
language. The result is the most efficient solution possible
for the end-user. The applications can also be build with
minimal effort using a nocode approach.
Click on the image for a non-technical description:
extreme efficiency. The concept of Oracle Forms is combined
with curses as the terminal interface, ODBC for universal
database access and JavaScript for the trigger language. The
result is the most efficient solution possible for the
end-user. The applications can also be build with minimal
effort using a nocode approach. Click on the image for a
non-technical description:

[![formax](https://formax.freakout.de/assets/logo.jpg "formax")](https://formax.freakout.de/ "formax")

Expand Down Expand Up @@ -37,15 +36,16 @@ therefore generally consists of modifying the contents of
these triggers in order to alter the default behavior if
necessary.

**formax** encorporates the concept of Oracle SQL-Forms with
**formax** encorporates the concept of Oracle Forms with
modern standards and current database best practices and
technologies and all required enterprise-features:
technologies including all required enterprise-features:
- single-column autoincrement primary key field
- database integrity enforced through database
- JavaScript for client scripting
- regular expressions for validation
- freedom to choose the database provider
- full logging of all queries in single place
- multiple differnt databases simultaneously accessible
- full logging of all queries in a single place
- no free SQL for the end-user
- no operating system exits in the form-engine
- 3FA security can be setup easily
Expand Down Expand Up @@ -78,6 +78,9 @@ REGEDIT4

Install
=======
Fork in github and create codespace or download and extract
https://github.com/freakout42/formax/archive/refs/heads/main.zip

System preparation is needed to install the dependencies:

On codespace/debian/Ubuntu do the following:
Expand All @@ -103,12 +106,11 @@ sudo yum -y install sqlite
rpm -i https://github.com/freakout42/formax/releases/download/v0.9.9/sqliteodbc-0.9998-1.x86_64.rpm
~~~

Fork in github and create codespace or download and extract
https://github.com/freakout42/formax/archive/refs/heads/main.zip
Then do the following to build and install into `/opt/arx/`.
Nothing outside `/opt/arx/` will be touched in any way by
the installation with the exception of /etc/profile.d/arx.sh
which only adds `/opt/arx/bin` to the PATH.
Then do the following to build and install **formax** into
`/opt/arx/`. Nothing outside `/opt/arx/` will be touched in
any way by the installation with the exception of
`/etc/profile.d/arx.sh` which only adds `/opt/arx/bin` to
the PATH.

~~~
./configure
Expand All @@ -119,12 +121,12 @@ sudo make install

Getting started
===============

The following will guide you to creation, execution and
maintenance of a form by using `makeform` (create),
`runform` (execute) and `editform` (maintain). First change
into a new directory where your development will live.
Create a new database including the table `depts` with:
maintenance of a form by using the components of **formax**.
`makeform` (create), `runform` (execute) and `editform`
(maintain). First change into a new directory where your
development will live. Create a new database including the
table `depts` with:

~~~
sqlite3 mydb.sq3
Expand All @@ -137,7 +139,7 @@ insert into depts values (40, 'OPERATIONS', 'BOSTON');
~~~

You should now have a sqlite-database in `mydb.sq3`. Create
a default form for the table `depts` and execute it.
a default form for the table `depts` and execute it:

~~~
makeform deptform Departments depts id dname loc | sqlite3 myform.frm
Expand All @@ -147,20 +149,24 @@ runform myform.frm mydb.sq3
You will be in `Insert-Mode` and can enter data for new
records. Press Enter without new data will get you into
`Query-Mode`. Quit from the form after playing around with
Ctrl-Y.
Ctrl-Y. Read the user guide from the docs section for more
information how to use the form.

Change the form layout and the default behaviour of
the form with the `editform` utility. This will bring up
your editor with the layout of the form and a form to
maintain the field behaviour and at least the editor again
with the full `.inp-file` for your form. You can test your
changes by running runform again. Have Fun.
Change the form layout and the default behaviour of the form
with the `editform` utility. This will bring up your editor
with the layout of the form and a form to maintain the field
behaviour and at least the editor again with the full
`.inp-file` for your form. You can test your changes by
running runform again:

~~~
editform myform
runform myform.frm mydb.sq3
~~~

Read the developer guide from the docs section for more
information how to use the form. Have fun and profit.

Status
======
Stable 1.5.0 is useable for single-block single-page forms.
Expand Down

0 comments on commit 749d521

Please sign in to comment.