Visual Programming

OpenBase Forms Visual Programming

OpenBase Forms is a database interface that makes it easy for you to organize complex database information on functional data input screens, so users can find what they need fast.

OpenBase Forms organizes hierarchical database information, in multiple panels, which work together to create a “storyboard” of related information.

This unique approach avoids the problems encountered trying to fit too much information on a single window—or asking users to manage many inter-related windows. It keeps things simple.

Here is an instructional video showing how to build applications with OpenBase Forms:
videoicon3.png Video: Visual Programming with OpenBase Forms

Here is an instructional video showing how to build OpenScript for OpenBase Forms applications:
videoicon3.png Video: OpenBase Forms programming with OpenScript

OpenBase Forms is a complete database development environment:

  • An OpenBase Form Wizard guides end users in generating their own standard forms for their own relational data.
  • A full GUI OpenBase Form Designer tool enables more advanced users to edit forms and add event-driven business logic.

OpenBase also provides free access to the OpenBase Forms source code for Cocoa Developers who wish to use it to extend their. There are no runtime fees. A licensed version of OpenBase SQL is all that is required to use OpenBase Forms.

Overview & Philosophy

Since the founding of OpenBase in 1991, we have had the privilege of seeing quite a few database applications with many different attempts to present complex database information in a way that is easy for end-users to navigate. While recent developments in Mac OS X have made multiple windows easier to organize, our informal research suggests that using multiple interrelated windows still confuses most computer operators.

OpenBase Forms takes a different approach.


OpenBase Forms incorporates a scrolling panel interface that allows users to navigate information, while always knowing where they are in the information hierarchy. From a starting panel, users can branch to other panels to display related information. As the user navigates, the interface automatically creates a storyboard, which reads from left to right.

For example, a panel containing contact information may have a button allowing the user to bring up a list of related orders. The order panel will appear to the right in the window. The user may then want to get account information on the order, or more detail on the items purchased. Clicking on the appropriate button brings up another panel and attaches it to the storyboard. In this way, the user is able to navigate complex structures of information easily in a single window.

OpenBase Forms programs are stored centrally in the database. At runtime,the OpenBase Forms client reads the application from the database and presents it to the user. This completely eliminates the problem of how to distribute new versions of your application to users as you update it.

OpenBase Form Wizard
The OpenBase Form Wizard guides users through the process of generating a new panel from an existing table. The Wizard is accessed directly from the OpenBase Manager’s Form menu.


OpenBase Form Designer
The OpenBase Form Designer offers more robust programming tools for customizing OpenBase Forms, allowing advanced users to rearrange elements and write scripts. The scripting language, called OpenScript, is similar to AppleScript. Since OpenScript is also the stored procedure language for OpenBase, the same language runs on both the client and server.


Main Form Designer Window
The Main Form Designer window lists all of the panels that have been created using the Form tools. On the right of the panel there are some options for naming the panel, specifying a menu and choosing the root table used by the panel.

A style-selection pop-up is located at the top left of the main window. The panel style chosen determines the size of panels, whichl ultimately determine the dimensions of the story board. Choosing a style lists all panels that belong to that style. Double-clicking on a panel brings up the GUI design tool shown below.


Clicking on the Open button on the lower right corner opens the Form Editor which allows you to edit the panel GUI, reposition fields, and specify business logic.


Form Editor
The GUI design tool in Form Designer makes it easy to drag new screen widgets off the palette and onto the panel. You can then reposition screen elements and resize them, using familiar interface controls. Database columns can be connected to the widgets using a simple drag-and-drop interface.


To connect a field on the interface with a database column in the database, select the attribute on the left, hold down the mouse, and drag to the object.

Relationships specify how tables are connected together. In the panel editor, relationships are represented by disclosure triangles that can be opened and closed to reveal attributes from adjoining tables.


To-Many relationships are represented by the icon showing one dot connected to many dots. To-One relationships are represented by a single dot connected to a single dot.

Navigation Bars
Navigation Bars allow users to navigate through a result set or find and attach a related record (to-one relationship). Navigation Bars need to be associated with a table. To do this, drag the Record ID onto the Navigation Bar to hook it up.


Step#1: Position the Navigation Bar near the data.

Step#2: Drag the Record ID of the table you want to control onto the Navigation Bar

In this example, the Navigation Bar is being used to attach a customer record to an order. The Address Record ID is used from within the toaddresses relationship. That is how it knows how to setup the relationship in the records.

Table Views
Table Views can be used as choosers, or to display to-many detail records. To setup a Table View, you first need to attach the Record ID of the table you want to be associated with the Table View. Then you can drag-n-drop other columns from that table, or columns from sub-tables related to it. The Object Inspector will allow you to edit the titles of the columns and reorder them.


Step#1: Drag a Table View onto the Panel.

Step#2: Drag the Record ID of the table you want to start with onto the Table View.

Step#3: Drag attributes from the table and related tables onto the Table View.

Step#4: Edit Titles in Inspector.

Adding an Open Button
Button Objects can be programmed using the Object Inspector to open other panels. A Button Object must first be initialized with the Record ID of the table that you want the next panel in the story board to be associated with. For instance, if this is an order screen and you want the panel to the right to show order detail, use the Record ID from the order detail table. Then you can choose the panel you want to come up when the button is pressed.


Step#1: Drag a Button onto the Panel.

Step#2: Drag the Record ID of the table you want to control.

Step#3: Choose an action in the Inspector.

Step#4: If the action is “Open,” choose a target panel.

Object Alignment
Object alignment is controlled using the Inspector. When you select multiple records it opens a window that allows you to choose an appropriate alignment action.


Here is an example of how to use these controls:

Step#1: Drag select all of the objects you want to align.

Step#2: Bring up the Inspector.

Step#3: Choose the appropriate operations.

OpenBase Forms incorporates many screen widgets and design elements to help you build powerful interfaces.

Object Palette
Selection tools include pop-up selection, navigation bar controls, and table chooser. OpenBase Forms also supports a variety of pre-built objects, which offer easy control over database data.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License