Skip to content

Refactor where we are calling out to update symlinks #3753

@agjohnson

Description

@agjohnson

There are a number of questions I don't think we have answers for around symlinking, and a number of bugs that are present because of this. Our patterns for when to update our symlinks are a bit inconsistent and so it might help to formalize on this.

Right now:

  • Some symlinking happens on model save -- this makes sense as a central point for updating
  • Some symlinking happens in tasks -- when builds are complete, they fire off their own symlink update tasks
  • Some symlinking happens from form save -- this could probably be moved to model .save()

While it might not be able to accumulate these calls in model .save() methods, there might be other patterns that we can make use of here to simplify the logic.

The design decision here lies around which pattern works best and makes the code more understandable. Before any of us can weigh in on which pattern would work, we'll need to:

  • Enumerate where we are calling symlink code now
  • Note the purpose for each call to update our symlinks

From there, we can make a decision about if the current location of the calls to update our symlinks make sense, or if we can centralize and standard on a pattern.

Raised in #3649

Metadata

Metadata

Assignees

No one assigned

    Labels

    AcceptedAccepted issue on our roadmapImprovementMinor improvement to code

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions