Bug
Auto commit on: dobjects diverge after adding subject identifier
Issue description
After refactoring the manual from muiltiple services to a single article rendering service and article topics with a respective subject identifier it became apparent, that after using identify to add subject identifiers, the dobjects were no longer in synch with the SQL database.
Developer comments
The most likely explanation for this bug is that the only change made to a tobject during a PHP process is a modification of the subject identifiers which is the case during %identifysubject%. Then this bug causes the dobject to be considered unchanged and therefore it is not synched.
This would also explain the [13064, strange behavior during the import of the system topic a while ago]. The only time this would occur then is when i forgot to run the script which equips all but some topics in the system store with "meta" identifiers. That would explain why it does not happen all the time, but just occassionally since i rarely forget that.
This was difficult to track down. Since [13655, the big refactoring] the unit tests that switch auto commit on or off to expose a certain behavior are unrelieable since a service execiution sets the auto commit property of the session to the same value as the configured value of the store. Thus if the test store in use has auto commit off, any tests that use emulate a POST request to resource which sets the auto commit flag of the session (.save, .upload, .service) will only check the off functionality despite claiming otherwise.
In the case at hand the bug only surfaces when auto commit is on, but the used test store did not refect that but used auto commit off.
|
Work sessions3
Start |
2025-09-22T16:31:56
|
End |
2025-09-22T17:00:39
|
Participant |
Robert Cerny
|
Start |
2025-09-23T09:58:27
|
End |
2025-09-23T12:20:30
|
Participant |
Robert Cerny
|
Start |
2025-09-23T15:25:38
|
End |
2025-09-23T17:25:44
|
Participant |
Robert Cerny
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.