Hosted onhyperacademia.orgvia theHypermedia Protocol

    Problem

      Users do not understand the document hierarchy on sites.

    Solution

      We will change the mental model around documents and subdocuments:

      Subdocuments are part of the content of its parent

      This will make sure users will create documents in place, and it will make it easier for them to understand the actual location where documents are created.

      When a document is published, we need to update its parent and add a link to the published document

        This means that every time a user edits any sub document, we must also update its parent with a link to it. we need to consider:

          If the subdocument publication goes right -> continue and publish the parent with the new block link

          If the parent have a current draft -> we can add the block link to the document to the current draft

          If the publication of the parent fails -> we can either create the draft and notify the user, or retry until we succeed.

        The current technical limitations should not limit what users need, so we must create technical workarounds so we can make this happen.

      What are we going to add to the parents?

        What we decided to add inside the parents, is a block link at the end of the document. For now, this means that we will add a embed to the child with view card. we are going to change how embed cards look across the whole app

        new cards design demo (TBD)

        1

      What happens if the parent document have a query block of itself?

        TBD.

        I believe we should not add block links to documents that have a query block of itself. but this means that in the case the user removes the query block later, all its children document will "get lost". I think this is OK but we need to decide what we do in this case.

    Scope

      1 week

    Rabbit holes

      We might find a nunch of edge cases with this double-publish workflow, the main thing is that we should surface all this issues to the user, and the worst case scenario is that we create drafts with the correct changes, and let the user know what it needs to happen.

      We also might need to show the user when publishing the parent, that subdocuments not published will be published too.

      The good thing is that we are clear on 85-90% of the cases, for the others we can do fallbacks or create drafts to be save.

    No gos

      This project will not include add columns to the content. it will only create new block links at the end of the document. we are not giving the flexibility to users to select where the subdocument links will be added.