Mike's Notes
The next job is to write the 6 configuration files for each Nestspace.
Big thanks to Ben Nadel for the sample code he shared on his CFML blog, which explained a few ways to do this.
Resources
- https://www.blog.ajabbi.com/2025/09/the-internal-control-hierarchy-of-pipi.html
- https://www.blog.ajabbi.com/2026/04/pipi-nest.html
- https://www.blog.ajabbi.com/2026/03/cfml-applicationcfc.html
- https://www.bennadel.com/blog/2114-extending-the-application-cfc-coldfusion-framework-component-with-a-relative-path.htm
- https://www.bennadel.com/blog/2014-extending-the-application-cfc-coldfusion-framework-component-with-cfinclude.htm
- https://helpx.adobe.com/coldfusion/developing-applications/developing-cfml-applications/using-persistent-data-and-locking/using-server-variables.html
References
- Reference
Repository
- Home > Ajabbi Research > Library >
- Home > Handbook >
Last Updated
11/10/2026
Changes to the Pipi System Engine (sys) data model
Mike invented and architected Pipi and founded Ajabbi.
This week, changes to how Pipi is organised in the data centre continue.
This job is to write the 6 base configuration files for each Nestspace. Because the recent code tests were successful, most of the time will be spent documenting. This should only need to be done once; the 6 files are done sequentially, starting from the root.
Pipi Nest
The fundamental organising principle is to use a uniquely named "Nestspace" directory to host Pipi.
Every nestspace has these properties;
- One Pipi major version
- One Pipi edition
- One account type
- Can host
- One or more accounts
- AND
- One or more Pipi instances.
Account
Every customer or user has an account, which is opened when they sign up.
A customer account has these properties;
- One account type.
- Contains one or more deployments.
Pipi Instance
- One account name (e.g., "loki-01").
- Shares a codebase (e.g., "loki").
Deployment
A deployment has these properties;
- One deployment tenancy type.
- One language.
- Contains one or more deployment objects.
- Can contain other deployments to create global settings for an account (Enterprise or DevOps).
Revised Configuration Hierarchy
- Nestspace > Account > Deployment > Deployment Object > Publication > Website > Workspace.
- Pipi Nest > Codebase > Pipi Instance.
Configuration files
Pipi uses a hierarchy of CFML configuration files to set system properties.
- nest_probe.cfm
- pipi/
- Application.cfc [1]
- pipi_nest.cfm
- <name>/
- Application.cfc [2]
- pipi_account.cfm
- pip/
- Application.cfc [3]
- pipi_system.cfm
Configuration notes
The 3 different Application.cfc files are common across all Pipi Nests and don't ever change.
Application.cfc [1] defines Nestspace variables
- OS
- Java environment
- Platform-appropriate absolute physical path
- Nest datasources
Application.cfc [2] defines Name variables
- Account name
- Deployments
- Pipi Instances
Application.cfc [3] defines System variables
- Version
- Edition
- State
The .cfm files contain local configuration variables that Pipi can edit directly.
- nest_probe.cfm
- pipi_nest.cfm
- pipi_account.cfm
- pipi_system.cfm
Example
This is the list of 7 configuration files for the Nestspace 9ca/
- 9ca/pipi_nest_probe.cfm
- 9ca/pipi/Application.cfc
- 9ca/pipi/pipi_nest.cfm
- 9ca/pipi/loki/Application.cfc
- 9ca/pipi/loki/pipi_account.cfm
- 9ca/pipi/loki/pip/Application.cfc
- 9ca/pipi/loki/pip/pipi_system.cfm
No comments:
Post a Comment