View Issue Details

IDProjectCategoryView StatusLast Update
6073Composrcorepublic2024-11-28 18:18
ReporterPDStig Assigned ToPDStig  
PrioritynormalSeverityminor 
Status resolvedResolutionfixed 
Summary6073: 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
Attach Tags
Time estimation (hours)
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 6074 Not AssignedGuest Handle privacy within the revisions system 

Activities

PDStig

2024-11-28 00:48

administrator   ~9687

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.

PDStig

2024-11-28 16:51

administrator   ~9691

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 PDStig New Issue
2024-11-27 22:39 PDStig Tag Attached: Roadmap: v11
2024-11-27 22:41 PDStig Description Updated
2024-11-28 00:48 PDStig Note Added: 0009687
2024-11-28 16:51 PDStig Note Added: 0009691
2024-11-28 17:17 PDStig Relationship added related to 6074
2024-11-28 18:18 PDStig Assigned To => user4172
2024-11-28 18:18 PDStig Status Not Assigned => Resolved
2024-11-28 18:18 PDStig Resolution open => fixed