Change
Separate concerns in constraints generation
Issue description
The schema of a topic type is dealt with in the PHP constraints package. For every topic type TT1 there exists a constraints object – the "schema" of the topic type. It powers the API and the form on the client. This mixture creates some subtle difficulties. It would be better if one could get just the "core" for the API without the more "decorative properties", e.g. labels and error message, basically everything that varies based on language of the current session.
Developer comments
The first big step is complete. The schema to power API can be built without a session. Up to know the Constraints class performed constraints creation, which is building an intermediary cacheable product, which can be opcached and no longer required MySQL access. To construct a Constraints class a TopincsSession was necessary. Which means in order to get the Tobject API up and running you need one of those. But the Constraints uses topic labels which might use label rules which might use the tobject API which might need the constraints. This vicious circle was broken by introducing a "language/label free" version of the Constraints which is a class called TopicType in a new package Schema.
This can be constructed with an instance of Store. Much lighter requirement. It is noteworthy though that only information that does not use the Tobject API (like triggers) can be integrated.
The triggers API was in focus because the constraints carry the "tid" for the admin context menu and the triggers are mentioned there.
|
Work sessions10
| Start |
2026-07-09T09:35:31
|
| End |
2026-07-09T10:00:00
|
| Participant |
Robert Cerny
|
| Start |
2026-07-11T11:58:18
|
| End |
2026-07-11T14:58:25
|
| Participant |
Robert Cerny
|
| Start |
2026-07-11T20:30:00
|
| End |
2026-07-11T21:18:50
|
| Participant |
Robert Cerny
|
| Start |
2026-07-12T10:00:00
|
| End |
2026-07-12T17:24:13
|
| Participant |
Robert Cerny
|
| Start |
2026-07-13T07:19:53
|
| End |
2026-07-13T18:09:22
|
| Participant |
Robert Cerny
|
| Start |
2026-07-14T05:23:36
|
| End |
2026-07-14T16:51:35
|
| Participant |
Robert Cerny
|
| Start |
2026-07-15T08:00:34
|
| End |
2026-07-15T14:26:35
|
| Participant |
Robert Cerny
|
| Start |
2026-07-15T16:09:50
|
| End |
2026-07-15T18:09:56
|
| Participant |
Robert Cerny
|
| Start |
2026-07-16T07:56:31
|
| End |
2026-07-16T16:17:13
|
| Participant |
Robert Cerny
|
| Start |
2026-07-18T12:42:05
|
| End |
2026-07-18T15:24:29
|
| Participant |
Robert Cerny
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.