Ferreteria/v0.42/odata: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
(copied v0.41 concept docs to v0.42 table docs)
No edit summary
Line 1: Line 1:
==About==
==About==
This system is experimental, and replaces/updates the old [[Ferreteria/modules/content|content system]] (which was really part of 0.2 or 0.3). It's a simplification of [[Ferreteria/v0.41/odata|v0.41]], which was designed as far as schema and some code but ran into coding difficulties when trying to use the system for event logging. The problems were solvable, but a simpler design seemed like it would represent much less technical debt.
Each {{l/version|sql|node}} represents the core of a pseudo-record, which can have an arbitrary set of fields (leafs). Each {{l/version|sql|leaf}} (field within a p-record) must have a unique name.
 
Each node represents the core of a pseudo-record, which can have an arbitrary set of fields (leafs). Each leaf (field within a p-record) must have a unique name.


There is a registry, maintained by code, of pseudorecord types (node.Type). This is so the code can look up the proper class to use for handling each node (pseudorecord). It remains to be seen if this part works as envisioned.
There is a registry, maintained by code, of pseudorecord types (node.Type). This is so the code can look up the proper class to use for handling each node (pseudorecord). It remains to be seen if this part works as envisioned.
Line 9: Line 7:
** {{l/version|sql|node}}: core pseudorecord
** {{l/version|sql|node}}: core pseudorecord
** {{l/version|sql|leaf}}: field within a pseudorecord
** {{l/version|sql|leaf}}: field within a pseudorecord
==Background==
This system is experimental, and replaces/updates the old [[Ferreteria/modules/content|content system]] (which was really part of 0.2 or 0.3). It's a simplification of [[Ferreteria/v0.41/odata|v0.41]], which was designed as far as schema and some code but ran into coding difficulties when trying to use the system for event logging. The problems were solvable, but a simpler design seemed like it would represent much less technical debt.

Revision as of 01:40, 24 January 2020

About

Each Template:L/version represents the core of a pseudo-record, which can have an arbitrary set of fields (leafs). Each Template:L/version (field within a p-record) must have a unique name.

There is a registry, maintained by code, of pseudorecord types (node.Type). This is so the code can look up the proper class to use for handling each node (pseudorecord). It remains to be seen if this part works as envisioned.

Pages

Background

This system is experimental, and replaces/updates the old content system (which was really part of 0.2 or 0.3). It's a simplification of v0.41, which was designed as far as schema and some code but ran into coding difficulties when trying to use the system for event logging. The problems were solvable, but a simpler design seemed like it would represent much less technical debt.