Uploaded image for project: 'Publishing'
  1. Publishing
  2. PUBLISHING-39

Former multisite-publishing behavior is not implemented: Publishing specific websites to dedicated public instances

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • 1.0.6
    • 1.0, 1.0.1
    • None
    • Yes
    • Yes
    • Kromeriz 159
    • 5

      Description

      The new publishing implementation has introduced two new behaviors/configurations:

      • All workspaces are automatically included into publishing process if not excluded explicit (receivers config):
        -> opposite behavior on former subscribers/activation
      • A new property was introduced on the receiver's workspace configuration: 'excluded'
        -> allows to define excluding workspaces (or inner parts) for publication. This is needed as now all workspaces are automatically included.

      Problem

      Major:
      The receiver's workspace configuration has new a combination of the 'excluded' property and the 'fromPath'&'toPath' properties. This combination leads to four possible combinations and therefore four possible behaviours, but one of them is not implemented:
      The possibility to define a path within the workspace that should be published, but only that path -> the former subscriptions behavior of the subscribers.

      Minor:
      One can activate nodes of excluded workspaces, correctly they are ignored being pushed to the public instances because they are defined as being excluded. But:

      • They should not be publish-able
      • The activation status is set to green even to node is (correctly) not sent/transferred.

      A more detailed explanation and analysis of both bugs is added in this description in the chapter 'Analysis'.

      Use Cases

      Common use cases using multi site, comparable to the setup on the diagram:
       

      Description of two generic use cases:

      • Simple use case:
        • two websites exists:
          'website-A' & 'website-B'
        • each website has one public instance: 
          'public-instance-for-website-A' & 'public-instance-for-website-B'
        • Goal:
          website-A -> public-instance(s)-for-website-A
          wesbite-B -> public-instance(s)-for-website-B
          Activating a page in website-A will be sent only to public server public-instance-A, and only there!
          Activating a page in website-B will be sent only to public server public-instance-B, and only there!
                        
      • More complex, but quite common use case: 
        • For some specific websites exist dedicated public instance(s).
        • For all the other existing websites exist general public instance(s).
        • Goal:
          website-A -> public-instance(s)-for-website-A
          wesbite-B -> public-instance(s)-for-website-B
          website-C -> general-public-instance(s)-for-all-other-websites
          website-D -> general-public-instance(s)-for-all-other-websites
          any-new-toplevel-pages-or-websites -> general-public-instance(s)-for-all-other-websites

       

      Analysis 

      Situation 1: Publish everything of a workspace

      The configuration:

      concreteReceiver
           workspaces (empty/no 'website' configuration)

      -> does automatically (default) behave like:
      concreteReceiver
           workspaces
                  website
                          enabled=true
                          excluded=false
                          workspace=website
                          fromPath=/
                          toPath=/
      => should behave as: push EVERYTHING of the 'website' workspace.

      Test result:

      Correct: Currently the system behaves this way.

      Situation 2: Publishing only a specific path/website 

      The configuration:

      concreteReceiver
         workspaces
                  website
                        enabled=true
                        excluded=false
                        workspace=website
                        fromPath=/specificPath
                        toPath=/specificPath
      => should behave as: push ONLY the '/specificPath' path of the 'website' workspace, ignore the rest.

      Test result:

      Bug Major: The system currently does NOT behave this way. Everything of the whole workspace is published -> the system behaves as if 'fromPath & toPath' were set to '/'.

      Situation 3: Exclude a complete workspace

      The configuration:

      concreteReceiver
            workspaces
                  website
                        enabled=true
                        excluded=true
                        workspace=website
                        fromPath=/
                        toPath=/
      => should behave as: push NOTHING from the 'website' workspace.

      Test result:

      Currently the system behaves this way. No content is pushed, the workspace is excluded.

      Minor Bug
      Even there is no public instance configured to receive content, one can push the 'publish' Action and the activation status is set to green. -> this is very confusing, because green activation status indicates that the page exists on some public instance.

      Also a workflow is triggered (when not using direct publishing) where the approver has no chance of knowing that hte content itself will not be sent to any public instance.

      Suggested behavior:
      The 'publish Action' is not clickable if non of the receivers has this path as a matching configuration.
      When there is no public instance meant to send it to, the publish Action should also not be clickable.
      Best would be if it were clickable, but a pop up message informs why publication is not possible.

      Situation 4: Publish a workspace EXCEPT one path/website

      The configuration:

      concreteReceiver
            workspaces
                  website
                        enabled=true
                        excluded=true
                        workspace=website
                        fromPath=/specificPath
                        toPath=/specificPath
      => should behave as: push EVERYTHING from the 'website' workspace EXCEPT the '/specificPath' path.

      Test result:

      Correct: Currently the system behaves this way.

      Minor Bug:
      The same minor bug as described in 'Situation 3' counts also here. The '/specificPath' can be published and becomes green. 

       

        Acceptance criteria

              mdivilek Milan Divilek
              cringele Christian Ringele
              Nucleus
              Votes:
              2 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD