Skip to content

Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Minds Backend - Engine
Minds Backend - Engine
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
    • Insights
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
    • Locked Files
  • Issues 217
    • Issues 217
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 31
    • Merge Requests 31
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Packages
    • Packages
    • List
    • Container Registry
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Minds
  • Minds Backend - EngineMinds Backend - Engine
  • Issues
  • #616

Closed
Open
Opened 1 month ago by Brian Hatchet@brianhatchet:speech_balloon:
  • Report abuse
  • New issue
Report abuse New issue

(chore) refactor activity links into a Propagate action

We're doing a lot of this.

https://gitlab.com/minds/engine/blob/master/Core/Feeds/Firehose/Manager.php#L106

foreach ($this->db->getRow('activity:entitylink:'.$entity->getGUID()) as $parentGuid => $ts) {

Because blogs contain links to activities when they get published. Images and videos contain multiple links to activities (one image to many activities). Yet, we have properties like NSFW, NSFW_LOCK, allow_comments ... etc that need to be propagated up and down the chain

So, when an owner or admin changes a property that applies to parents or their children, we need to create an action that applies those changes up and down the chain.

There's a question of source of truth. If there is a collision between a flag, who should win - the parent object or the object receiving the change?

Part of this card will be figuring out what flags need to be set and how they should be propagated.

Ideally, @markeharding wants them all to be activities with the attachments just inheriting the activities permissions, so we might want to take the opportunity to bring all our entities under the same banner. The activity has the permissions, the images, videos and blogs would just inherit their parent's permissions.

Looping in @markeharding @edgebal and @gthouret for their thoughts on how to roll this out.

Please solve the reCAPTCHA

We want to be sure it is you, please confirm you are not a robot.

Related issues
0

    • Brian Hatchet :speech_balloon: @brianhatchet changed milestone to %sprint: Jolly Jellyfish 1 month ago

      changed milestone to %sprint: Jolly Jellyfish

    • Ben Hayward @benhayward.ben mentioned in issue front#1443 1 month ago

      mentioned in issue front#1443

    • Mark Harding @markeharding assigned to @gthouret 1 month ago

      assigned to @gthouret

    • Mark Harding @markeharding added Type::Chore scoped label 1 month ago

      added Type::Chore scoped label

    • Mark Harding @markeharding added Squad::Blue scoped label 1 month ago

      added Squad::Blue scoped label

    • Mark Harding @markeharding changed weight to 10 1 month ago

      changed weight to 10

    • Mark Harding @markeharding changed milestone to %sprint: Kilted Koala 5 days ago

      changed milestone to %sprint: Kilted Koala

    • Mark Harding @markeharding changed milestone to %sprint: Lucky Lizard 4 days ago

      changed milestone to %sprint: Lucky Lizard

    • Guy Thouret @gthouret added Status::InProgress scoped label 14 hours ago

      added Status::InProgress scoped label

    • Guy Thouret
      Guy Thouret @gthouret · 1 hour ago
      Developer

      @brianhatchet Have I got this right?

      IMG_20190819_215320

    • Guy Thouret
      Guy Thouret @gthouret · 1 hour ago
      Developer

      I've determined that properties that would need to propagate would be:

      • nsfw
      • nsfw_lock
      • mature flag <- instance I found was setting NSFW on blogs (Edit: also on media)
      • allow_comments
      • monetized
      • moderator_guid
      • time_moderated

      Possibly also:

      • comments_enabled <- this seems to be a dup of allow_comments
      • access_id

      Blog Specific (blog -> activity)

      • title
      • blurb
      • thubnail_src
      Edited by Guy Thouret 1 hour ago
    • Guy Thouret
      Guy Thouret @gthouret · 1 hour ago
      Developer

      Editing on a media page and setting NSFW (only has 'mature' option) sets flags: {mature: false} on the image object.

      Switching back to newsfeed view, image is visible, the activity has no nsfw.

      Same the other way, setting NSFW 'nudity' on the activity post from newsfeed view does not set mature flag on the image object.

      So in this case some existing functionality in the Firehose Manager code could be extracted and used here.

    • You're only seeing other activity in the feed. To add a comment, switch to one of the following options.
    Please register or sign in to reply
    Assignee
    Guy Thouret's avatar Guy Thouret @gthouret
    Assign to
    None
    Epic
    None
    sprint: Lucky Lizard
    Milestone
    sprint: Lucky Lizard
    Assign milestone
    None
    Time tracking
    No estimate or time spent
    None
    Due date
    None
    3
    Labels
    Squad::Blue Status::InProgress Type::Chore
    Assign labels
    • View project labels
    10
    Weight
    10
    Confidentiality
    Not confidential
    Lock issue
    Unlocked
    5
    5 participants
    user avatar
    Guy Thouret
    user avatar
    Mark Harding
    user avatar
    Ben Hayward
    user avatar
    Brian Hatchet
    user avatar
    Emiliano Balbuena
    Reference: minds/engine#616