Feature proposal #6943
closed
Change global to a separate parameter instead of an asset
Added by krileon almost 7 years ago.
Updated almost 7 years ago.
Start date:
21 December 2017
Description
The global usage currently is used by setting the asset to global. The problem with this is you can't have parse-able globals (via asset) or limited access globals (via asset) due to this. Change it to a separate column value like pinned so it's no longer tied strictly to asset then add a parameter to toggle show/hide of global just like pinned usage.
ORIGINAL: Currently in order to send a notification to a users connections the notification has to be replicated to them (e.g. if 20 connections then 20 notifications must be generated). Either utilize assets in a way this can be avoided or maybe review using a relationships table.
Only the global asset is added as an OR case to the query. Adding other assets acts as a filter instead of an OR case. Needs to be a way of having OR cases. Maybe global activity should be a parameter instead of an asset? This way you can have global activity with a GJ asset to allow GJ to properly parse it yet allow it to display to everyone? That would solve the asset parsing issues AND allow non-replicated notifications.
Needs further thought since it would be good to be able to receive notifications from followed assets too. Maybe should just work like Activity streams, but only partially. Activity streams parse out the user ids of other profile assets. So it should probably be IF USER = USER_ID OR ASSET = SUPPLIED ASSETS THEN DISPLAY. Activity streams work like this: IF USER_ID = SUPPLIED USER IDS OR ASSET = SUPPLIED ASSETS THEN DISPLAY so you end up with for example activity from your connections and we don't want that for notifications. Shouldn't need to change the global handling if it's done this way. So for example if this was implemented you'd have something like the below.
Asset: groupjive.group.GROUP_ID
Owner: User ID Sending Notification
User: User ID Sending Notification
If the notification stream is configured to output groupjive notifications (e.g. adding groupjive.group.% asset) it should display that. The issue is then you can't send a notification to a specific user with that asset as it'd display to every user and not make any sense. The only way that'd work is something like the below.
Asset: groupjive.group.GROUP_ID
Owner: User ID Sending Notification
User: User ID Sending Notification
Global: Yes
With a separate global column the query would just check IF USER = USER_ID AND ASSET = SUPPLIED ASSETS OR GLOBAL = 1. Separation of global from asset seams to be the best approach.
- Subject changed from Implement non-replicated notifications to Change global to a separate parameter instead of an asset
- Description updated (diff)
- % Done changed from 0 to 60
- Status changed from Assigned to Resolved
- % Done changed from 60 to 100
Global is now a parameter instead of an asset.
- Status changed from Resolved to Closed
Also available in: Atom
PDF