Uploaded image for project: 'Magnolia pages module'
  1. Magnolia pages module
  2. PAGES-259

When creating a page I should eventually be taken into edit mode

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Workaround exists
    • Icon: Low Low
    • None
    • 6.2.4
    • None

      From a UX perspective I think the flow of creating a new page should be:

      • Click "Add Page"
      • Present the page properties dialog
      • Open the page for editing

      So in the end I am looking at the new page in edit mode rather than returning back to the page browser. Much like how Confluence works. You click create and land in edit mode.

      This also solves the corner case when a page that has inherited content. Consider a 404 page that doesn't need to be edited but inherits the footer from the site. If the page is never opened for editing then the footer area node is never created. If it get's created for the first time on public this can lead to a permissions exception as the node is created by the anonymous user.

      mgnl:createdBy = System [anonymous]
      

      The anonymous user only has read permission.

      Caused by: javax.jcr.ItemExistsException: Same name sibling not allowed for node /fe2/404/footerNavigation by definition * (declaring type mgnl:content)
      

      The reproduce the issue:

      • Create new page that contains an area node
      • Do not open in editMode but publish directly
      • Open page on public in incognito mode (= not logged in)
      • Go to node in JCR app on public
      • see property mgnl:created=System[anonymous] on newly created area node
      • Open page on author instance in edit mode and edit something
      • Try to re-publish the page --> unsuccessful

      Dev Notes

      • It should be configurable that I am taken into edit mode or stay in the browser.
      • Move to a configured action chain in the dialog and deprecate CreatePageChainedActionDefinition
        /pages-app/dialogs/createPage.yaml
        actions:
          close:
            $type: closeAction
            availability:
              root: true
          commit:
            $type: chainedAction
            actions:
              createPage:
                class: info.magnolia.pages.app.action.browser.CreatePageActionDefinition
              editProperties:
                class: info.magnolia.pages.app.action.browser.EditPagePropertiesActionDefinition
                populate: false
                availability:
                  root: true
                  rules:
                    isValidFormRule:
                      class: info.magnolia.pages.app.action.browser.IsValidFormRuleDefinition
        

      Workaround
      On the page properties dialog configure the action to open the detail subapp:

      actions:
        close:
          $type: closeAction
          availability:
            root: true
        commit:
          $type: chainedAction
          actions:
            commit:
              $type: commitAction
            openDetailSubapp:
              $type: openDetailSubappAction
              appName: pages-app
              subAppName: detail
              viewType: edit
      

        Acceptance criteria

              Unassigned Unassigned
              rgange Richard Gange
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Task DoD

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0d
                    0d
                    Logged:
                    Time Spent - 0.25d
                    0.25d