Feature proposal #8457


Implement relational tables

Added by krileon about 3 years ago. Updated 9 months ago.

Target version:
Start date:
10 April 2021
Due date:
% Done:


Estimated time:


Currently when commenting on an activity entry it creates an activity entry per comment then groups them during PHP. Replace this with a relational table that allows stacking users against a single activity entry. This would result in 1 activity row which is the comment row that is owned by the person who created the activity next in the relational table there will be users who commented on that activity. This should use a unique primary index as well with the following table structure.

activity_id | user_id

Next for Notifications get rid of the user column and replace it with a relational table. That table will determine who is getting the notification. This will allow sending a single notification to multiple users. It should be similar to the above as follows.

notification_id | user_id

Comments, Likes, and Follows don't need a relational table.

The only remaining issue is things like CB Gallery when uploading multiple gallery items at once we really only want to create a single activity entry instead of multiple that are grouped in PHP. The only real way to do that is probably move object | object_id to a relational table, but that might be inefficient. Another option is create 1 activity entry and just log the other gallery ids into that 1 entry.


Also available in: Atom PDF