4th Dimension Learning Basics
4D, originally short for 4th Dimension, is a relational database management system and application development environment from 4D SAS (formerly ACI). It pairs a proprietary relational database engine with an integrated, object-oriented language (4D Langage, historically “4D” or “4D code”) and a visual form designer. For small-team IT builders and citizen developers, its appeal is that one environment covers data storage, business logic, user interface, and deployment — you do not have to assemble a database server, a separate front-end framework, and a web stack just to ship a working business app.
This page is part of the 4th Dimension Learning Basics series. It focuses on the plug-in modules that historically extended 4D beyond pure data handling — 4D Write, 4D Calc, and 4D Draw — and places them in the broader context of how 4D is structured, licensed, and deployed.
Key Takeaways
- 4D is an integrated database-plus-development environment: tables, forms, methods, and deployment live in one product rather than a stitched-together stack.
- The classic plug-in trio — 4D Write (word processing), 4D Calc (spreadsheet), and 4D Draw (drawing) — extended 4D into an “integrated application” system, not just a database.
- Plug-ins appear inside forms as areas, so their content behaves like any other field: it can be stored, displayed, and referenced from 4D code.
- Hot links let data changed in one plug-in update immediately in another, which is the mechanism that made cross-module documents possible.
- Modern 4D has largely absorbed these capabilities into the core product and its component/plug-in architecture, but the design ideas still explain how 4D forms and objects work today.
- Choosing whether to use a plug-in (or a modern component) is a build-vs-buy decision: weigh licensing, deployment complexity, and whether the capability belongs in the data layer or the presentation layer.
How 4D Is Structured
Understanding the plug-ins requires understanding the layers 4D exposes to a developer:
- Structure — the schema: tables, fields, field types, relations, and indexes. This is the data layer.
- Forms — the presentation layer. Forms contain objects (fields, buttons, variables, and plug-in areas) laid out visually.
- Methods — the logic layer. Object methods, form methods, and project/database methods hold the 4D code that responds to events.
- Plug-ins and components — optional modules that add capabilities the core does not provide natively.
The important architectural point is that a plug-in area is just another object on a form. That means a word-processing document, a spreadsheet, or a drawing can be bound to a field, referenced by name in code, and treated as data. This is a meaningfully different model from treating a document as an opaque file attachment.
The Classic Plug-in Trio
The original documentation described 4D Write, 4D Calc, and 4D Draw as modules that “together with 4D, form the 4D environment.” Each was licensed separately, historically at a modest per-platform price, and each extended a different capability.
4D Write — Word Processing
4D Write extends word-processing capabilities to your 4D databases. It lets you include documents such as letters, reports, memos, and notes directly in your 4D forms.
- In a form, a 4D Write area appears as part of your data, just like a name or any other piece of information.
- As a separate application, you can use 4D Write in external windows, where your work can be independent of your database or linked to information in your database or in other plug-ins.
Practical uses include mail-merge style letters driven by record data, formatted report bodies, and rich notes attached to a customer or case record.
4D Calc — Spreadsheet
4D Calc adds spreadsheet capabilities to your 4D databases. Where 4D Write handles prose, 4D Calc handles grids of numbers and formulas.
- Useful for budgeting, estimating, and any tabular calculation that a user expects to edit like a spreadsheet.
- Because it is a plug-in area, the sheet can be stored with the record and referenced from 4D code.
4D Draw — Drawing
4D Draw extends drawing capabilities to your 4D database forms and enables you to include custom drawings in your forms.
- When used in a form, a 4D Draw area appears as part of your data, just like any other piece of information.
- You can open or import drawings in PICT format (from other object-oriented drawing applications), MacPaint format, and Encapsulated PostScript (EPSF) format.
These import formats are a useful historical marker: they reflect the Macintosh-centric desktop publishing era in which 4D first matured. Modern 4D work typically uses platform-native image handling and standard formats such as PNG, JPEG, and PDF instead, but the underlying idea — a drawable area bound to a record — persists.
Why “Integrated Applications” Mattered
The original framing is worth preserving because it explains the design philosophy: with these plug-ins, 4D becomes a system that can operate integrated applications, as well as a database that can store and manipulate information.
The plug-ins are accessed from within 4D, where they can work independently, with data in 4D, and with each other. The connective tissue is the hot link:
Hot links are dynamic — information that is changed in one plug-in is updated immediately in another.
A concrete example: a 4D Calc sheet computes a total, a 4D Write letter references that total, and both are stored on the same record. Change a figure in the sheet and the letter reflects it without a manual copy step. That is the integrated-application promise in miniature.
Plug-ins vs. Modern Components: How to Decide
The plug-in model has evolved. Modern 4D ships with a component architecture and a large set of built-in commands, and many capabilities that once required a separate purchase are now native or available as components. When you are deciding how to add a capability today, use this criteria list:
| Criterion | Favor a built-in / native feature | Favor a plug-in or component |
|---|---|---|
| Data model fit | The capability is core (text, numbers, dates, relations) | The capability is specialized (rich text, charts, device integration) |
| Deployment | You want a single, simple install | You can manage additional licensing and versioning |
| Maintenance | You want 4D SAS to maintain it | A third party maintains it and you accept that dependency |
| Portability | You may move platforms or to the web | The capability is desktop-specific and that is acceptable |
| Cost | Budget is tight | The capability justifies its license |
A practical rule: if the capability belongs in the data layer (storing and querying information), prefer native features. If it belongs in the presentation layer (how a document or drawing looks), a plug-in or component is often the right tool.
Practical Guidance for New 4D Developers
If you are learning 4D today, the plug-in history is not trivia — it teaches habits that still apply:
- Bind objects to fields deliberately. Decide whether a form object is a display of stored data or a transient variable. This is the same decision the plug-in areas forced.
- Keep logic in methods, not in layout. Form objects should present; methods should decide.
- Think about update propagation. The hot-link idea is really about avoiding stale copies of data. In modern apps, that means normalizing data and referencing it rather than duplicating it.
- Respect the licensing model. 4D has historically separated the development environment, the deployment/runtime, and optional modules. Understand what your users need before you commit to an architecture.
- Plan for the web. 4D can serve web and REST clients; if remote access is likely, design your structure and methods with that in mind from the start.
Where 4D Sits in the Low-Code Landscape
4D predates the modern “low-code” category by decades, but it belongs to the same family of ideas: a visual designer plus a scripting language plus a managed runtime. It is worth comparing it to adjacent tools and standards you may already know:
- FileMaker (now Claris FileMaker) — a comparable integrated database-and-UI product with a strong citizen-developer following.
- Microsoft Access — desktop relational database with forms and macros, widely used for small-team apps.
- Low-code platforms such as those tracked by analyst firms — broader, cloud-first, and often weaker on deep relational modeling.
- SQL standards — 4D’s query language and SQL support connect it to the wider relational world; see the Wikipedia article on SQL for the standard vocabulary.
- Relational model — the theoretical foundation underneath all of these tools; the relational model article is a good refresher.
For authoritative background on database systems generally, the Association for Computing Machinery and the IEEE Computer Society publish widely used curricula and standards material. For web-facing concerns such as HTTP and REST, the World Wide Web Consortium is the canonical reference.
Common Pitfalls and Caveats
- Don’t confuse a plug-in area with a file field. A plug-in area is an interactive object; a file or picture field is storage. They can be combined, but they are not the same thing.
- Watch platform assumptions. The PICT and MacPaint import formats in 4D Draw are legacy Mac formats. Do not build a modern workflow around them.
- Version your dependencies. Plug-ins and components must match your 4D version. A mismatch is a common cause of startup failures.
- Budget for the runtime. Development licenses and deployment/runtime licensing are separate concerns in 4D’s model; plan for both.
- Test hot-link-style behavior explicitly. Any time two views of the same data can diverge, write a test that proves they stay in sync.
Frequently Asked Questions
What is 4D Write used for?
4D Write adds word-processing capabilities to a 4D database. It lets you embed documents such as letters, reports, memos, and notes in your forms, where the document behaves like any other piece of data. You can also open it in external windows, either independent of the database or linked to database information.
What is the difference between 4D Calc and a normal 4D field?
A normal field stores a single value, while 4D Calc provides a spreadsheet area with formulas and a grid of cells. It is useful when users expect to edit tabular calculations directly. Because it is a plug-in area, the sheet can still be stored on and referenced from a record.
What file formats can 4D Draw import?
4D Draw can open or import drawings in PICT format from other object-oriented drawing applications, MacPaint format, and Encapsulated PostScript (EPSF) format. These are legacy desktop-publishing formats, so modern projects typically use standard image and PDF formats instead.
What is a hot link in 4D?
A hot link is a dynamic connection between plug-ins in which information changed in one plug-in is updated immediately in another. It is the mechanism that let a spreadsheet, a document, and a drawing on the same record stay consistent without manual copying.
Do I still need these plug-ins to build a 4D application today?
Not necessarily. Modern 4D includes many capabilities natively and supports a component architecture, so much of what once required a separate plug-in is now built in or available as a component. The plug-in concepts remain useful because they explain how 4D form objects and data binding work.
How should a beginner choose between native features and a plug-in?
Prefer native features when the capability belongs in the data layer — storing, querying, and relating information. Consider a plug-in or component when the capability is specialized and presentation-oriented, such as rich documents or drawings, and when you can accept the extra licensing and maintenance that comes with it.
Frequently asked questions
What is 4D Write used for?
4D Write adds word-processing capabilities to a 4D database. It lets you embed documents such as letters, reports, memos, and notes in your forms, where the document behaves like any other piece of data. You can also open it in external windows, either independent of the database or linked to database information.
What is the difference between 4D Calc and a normal 4D field?
A normal field stores a single value, while 4D Calc provides a spreadsheet area with formulas and a grid of cells. It is useful when users expect to edit tabular calculations directly. Because it is a plug-in area, the sheet can still be stored on and referenced from a record.
What file formats can 4D Draw import?
4D Draw can open or import drawings in PICT format from other object-oriented drawing applications, MacPaint format, and Encapsulated PostScript (EPSF) format. These are legacy desktop-publishing formats, so modern projects typically use standard image and PDF formats instead.
What is a hot link in 4D?
A hot link is a dynamic connection between plug-ins in which information changed in one plug-in is updated immediately in another. It is the mechanism that let a spreadsheet, a document, and a drawing on the same record stay consistent without manual copying.
Do I still need these plug-ins to build a 4D application today?
Not necessarily. Modern 4D includes many capabilities natively and supports a component architecture, so much of what once required a separate plug-in is now built in or available as a component. The plug-in concepts remain useful because they explain how 4D form objects and data binding work.
How should a beginner choose between native features and a plug-in?
Prefer native features when the capability belongs in the data layer — storing, querying, and relating information. Consider a plug-in or component when the capability is specialized and presentation-oriented, such as rich documents or drawings, and when you can accept the extra licensing and maintenance that comes with it.
More on 4D (4th Dimension) database & low code app development tutorials
Browse our latest guides and reviews.
Read more →