Project

General

Profile

Actions

Feature proposal #6943

closed

Change global to a separate parameter instead of an asset

Added by krileon about 7 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
21 December 2017
Due date:
% Done:

100%

Estimated time:

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.

Actions #1

Updated by krileon almost 7 years ago

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.

Actions #2

Updated by krileon almost 7 years ago

  • Subject changed from Implement non-replicated notifications to Change global to a separate parameter instead of an asset
Actions #3

Updated by krileon almost 7 years ago

  • Description updated (diff)
Actions #4

Updated by krileon almost 7 years ago

  • % Done changed from 0 to 60
Actions #5

Updated by krileon almost 7 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 60 to 100

Global is now a parameter instead of an asset.

Actions #6

Updated by krileon almost 7 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF