BLOBs
Working with BLOBs (Binary Large Objects)
Use cases
Technical design
Definitions
BLOB.OwnerRecord: QName of the record that owns the BLOB
BLOB.OwnerRecordField: Name of the field that owns the BLOB
CUD collection: Collection of CUDs (Create, Update, Deactivate) that are executed in the same transaction
Components overview
~wdoc.sys.Workspace.BLOB~✅: WDoc for storing BLOB metadataThis is the only WRecord that can be referenced from CDocs
CDocs reference BLOBs by fields of the
blobtypeblobtype is implemented as a ref to WDoc record
~tuc.HandleBLOBReferences~✅: Handling fields of theblobtype by command processor
CP: tuc.HandleBLOBReferences
Validate that every modified record its
blobfields satisifies the following conditions:~err.BLOBOwnerRecordIDMustBeEmpty~✅: Target BLOB.OwnerRecordID must be empty~err.BLOBOwnerRecordMismatch~✅: BLOB.OwnerRecord does not match the record QName~err.BLOBOwnerRecordFieldMismatch~✅: BLOB.OwnerRecordField does not match the record field name~err.DuplicateBLOBReference~✅: Multiple records in CUD collection cannot refer to the same BLOB
~cmp.UpdateBLOBOwnership~✅: Operator of the CP that updates the BLOB.OwnerRecordID and BLOB.OwnerRecordField fields in the BLOB table
Last updated
Was this helpful?