View Issue Details

IDProjectCategoryView StatusLast Update
0006073Composrcorepublic2024-11-28 18:18
ReporterPatrick SchmalstigAssigned ToPatrick Schmalstig 
SeverityMinor-bug 
Status resolvedResolutionfixed 
Product Version 
Fixed in Version 
Summary0006073: We need a special field type for serialized data
DescriptionThe privacy system needs to know which fields expect serialized data rather than raw strings. That way, it can properly parse them and maintain a serialized structure when anonymising instead of throwing "unknown" raw into the field (and causing corruption).

Add a new field type to Composr for this. Perhaps "SERIAL". Update across the board any fields that store serialized data.

Consider allowing the database driver to automatically serialize and unserialize this data (e.g. on an insert or update, it will automatically serialize before storing, and unserialize before returning when querying for it).

Also, consider using BLOB for this field type as per PHP:

"Note that this is a binary string which may include null bytes, and needs to be stored and handled as such. For example, serialize() output should generally be stored in a BLOB field in a database, rather than a CHAR or TEXT field."
TagsRoadmap: v11
Time estimation (hours)
Sponsorship open

Relationships

related to 0006074 non-assigned Handle privacy within the revisions system 

Activities

Patrick Schmalstig

2024-11-28 00:48

administrator   ~0009687

I'm back-tracking on using BLOB fields despite PHP's suggestion. It would break Composr compatibility quite a bit, and it is not uniform across databases. SERIAL should use longtext.

Patrick Schmalstig

2024-11-28 16:51

administrator   ~0009691

We also do not have input validation software-side for database data. So we cannot use unserialize / serialize automatically. Just keep it simple; SERIAL is an alias of LONG_TEXT and, for now, only has special meaning within privacy.

Issue History

Date Modified Username Field Change
2024-11-27 22:39 Patrick Schmalstig New Issue
2024-11-27 22:39 Patrick Schmalstig Tag Attached: Roadmap: v11
2024-11-27 22:41 Patrick Schmalstig Description Updated View Revisions
2024-11-28 00:48 Patrick Schmalstig Note Added: 0009687
2024-11-28 16:51 Patrick Schmalstig Note Added: 0009691
2024-11-28 17:17 Patrick Schmalstig Relationship added related to 0006074
2024-11-28 18:18 Patrick Schmalstig Assigned To => Patrick Schmalstig
2024-11-28 18:18 Patrick Schmalstig Status non-assigned => resolved
2024-11-28 18:18 Patrick Schmalstig Resolution open => fixed