Foundation 6

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.

ChapterStatus
1. Introduction — what Foundation is and is not, history, requirements, supportwritten
2. How Foundation works — component and host, modules, hooks, state, localisation, compiled versus interpretedwritten
3. Starting fresh — install, the database methods, tables and fields, forms, Fnd_Hook_Shell_Setup, first runwritten
4. Hooks and host methods — every Fnd_Hook_* and Fnd_Host_*, what it is forwritten
5. List windows — Fnd_Out: the list form, columns, layouts, View Options, row styles, context menuwritten
6. Input forms — building a data-entry form on Fnd_IO_InputForm, parents and childrenwritten
7. Preferences — Fnd_Pref, scopes, the Prefs Explorerwritten
8. Localisation — Fnd_Loc, the list triples, adding a languagewritten
9. Licensing your application — Fnd_Reg and Fnd_RegGwritten
10. Logging — Fnd_Log: enable and severity, named logs and destinations, configuration, flush and shutdown, the [Fnd_Log] table, the cs.fnd.log classwritten
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 5see 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.