Skip to content

Architecture: forking and child documents #344

@YousefED

Description

@YousefED

There are several issues with the current design of forking and nested documents:

Currently:

  • Documents can have multiple parents
  • Access is determined by access to the document, or the most restrictive access level of its parents
  • Child reference are stored parent->child

The idea behind this was that for a real "wysiwyg"-experience, users should always be able to modify anything in a workspace, and "create a copy" when do don't have write access. We might need to revisit this vision.

Issues:

  • It's not possible to view sync / fork-required status of a workspace. This means that if you create a new document and add it to the root of a project you don't have write-access for, you won't be able to see that you don't have write access.
  • If you add someone else's document as child to one of your own docs, you can probably restrict the author's access to that doc by changing the access level of the parent (not validated)
  • it might be possible to create circular parent / child structures

Possible solutions might be in direction of:

  • storing hierarchical info in child->parent
  • don't allow multiple parents

For now, we'll hide the "add a page" button unless you're on your own workspace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions