Foundation 6 Developer Guide
How to build a database on Foundation, the open-source application shell component for 4D. This replaces the first forty pages of the Foundation 5.4 Developer Reference Manual (2011); the per-method reference that made up the rest of that book is now generated from the method headers and published at https://foundation.open4dshell.com/docs/. The guide is written in plain Markdown so that the web site can render it as its own section, separate from that reference.
| Chapter | Status |
|---|---|
| 1. Introduction — what Foundation is and is not, history, requirements, support | written |
| 2. How Foundation works — component and host, modules, hooks, state, localisation, compiled versus interpreted | written |
3. Starting fresh — install, the database methods, tables and fields, forms, Fnd_Hook_Shell_Setup, first run | written |
4. Hooks and host methods — every Fnd_Hook_* and Fnd_Host_*, what it is for | written |
5. List windows — Fnd_Out: the list form, columns, layouts, View Options, row styles, context menu | written |
6. Input forms — building a data-entry form on Fnd_IO_InputForm, parents and children | written |
7. Preferences — Fnd_Pref, scopes, the Prefs Explorer | written |
8. Localisation — Fnd_Loc, the list triples, adding a language | written |
9. Licensing your application — Fnd_Reg and Fnd_RegG | written |
10. Logging — Fnd_Log: enable and severity, named logs and destinations, configuration, flush and shutdown, the [Fnd_Log] table, the cs.fnd.log class | written |
11. Developer tooling — for contributors to Foundation itself: the Fnd_FCS Construction Set, the compile-check and test scheduler, the documentation writers, version adaptation, the command table, constants and the Constants module, building, and the third-party modules (Cannon Smith's Constants, DevSync and DevQuickOpen) | written |
| 12. Upgrading from Foundation 5 | see Release/UPGRADING.md |
Conventions for anyone changing Foundation itself are in CONTRIBUTING.md. The worked example throughout is Foundation Product Sales, the demo database: https://github.com/open4dshell/Foundation-Product-Sales.