Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-23052

Node remote ID not synced in ContentStaging 4.7.1

    Details

    • Sprint:
      Castor Core S2

      Description

      When using eZ Content Staging 4.7.1, if we set TransportClass=eZRestApiEmbeddedClientStagingTransport471 we won't be able to sync eZ Flow block items.

      Setting the environment:

      Install two eZ Publish 4.7 instances in order to make them accessible in independent hosts addresses.
      One will be your source server, and the other will be the target server.

      Install Content Staging.
      Installation steps are here: https://doc.ez.no/Extensions/eZ-Publish-extensions/eZ-Content-Staging/eZ-Content-Staging-1.x/Installation

      Important: When installing eZ Content Staging 4.7.1 in the source server, make sure to use:

      TransportClass=eZRestApiEmbeddedClientStagingTransport471
      

      Create a new content class with the following configuration :

      Name : Layout content sync
      ID : layout_content_sync
      Container : Not checked

      Add one attribute (Text line)

      • Name of the attribute : Title
      • ID of the attribute : title

      Add another attribute (datatype layout)

      • Name of the attribute : Layout
      • ID of the attribute : layout

      Submit the creation of the class.

      In a override of the block.ini configuration file define a new block as the following:

      [LayoutContentSync]
      Name=Layout content sync
      NumberOfValidItems=1
      NumberOfArchivedItems=0
      ManualAddingOfItems=enabled
      

      Add it to the AllowedTypes array, under the [General] block:

      AllowedTypes[]=LayoutContentSync
      

      In an override of the zone.ini configuration file, make sure that the "2ZonesLayout1" is avalable in [General] block :

      AllowedTypes[]=2ZonesLayout1
      

      Make 2ZonesLayout1 available for class layout_content_sync:

      [2ZonesLayout1]
      AvailableForClasses[]=layout_content_sync
      

      Clear eZ Publish caches, then repeat all previous steps on the ez content staging target instance.

      Steps to reproduce:

      In the content tree create an new content "Folder" named "eZ Flow block source folder".

      In the content tree create a new content object of class Layout content sync:
      1. Add the title "Content sync object" to this new object
      2. In the "left zone" zone add a new Layout content sync block, and give it the following name: "Issue test"
      3. Click on Add item and select the previously created eZ Flow block source folder content object
      4. Publish this new Layout content sync object
      5. Launch the content staging sync for both the created objects Content sync object and eZ Flow block source folder.

      Result:

      Check the Target instance.
      The eZ Flow block will be synced, but the eZ Flow block item (eZ Flow block source folder) will not be present in the block items.

      Note: If we use TransportClass=eZRestApiEmbeddedClientStagingTransport the eZ Flow block item will be synced correctly.
      The issue occurs when using TransportClass=eZRestApiEmbeddedClientStagingTransport471 only.

        Issue Links

          Activity

          Hide
          Bertrand Dunogier added a comment - - edited

          After discussing with Ricardo, I see two different issues here.

          It seems that with the 471 transport layer, the node remote id is lost when syncing the eZ Flow block source folder object. Starting from there, the Layout object won't have a chance to add it to the item, and it will fail with a warning, that won't be logged by default. It is more than likely that this issue indeed occurs with the 471 transport and not the normal one.

          Then there is this second issue with ezpage staging where blocks & items are not fully synced, as described above (ezm_block.node_id=0 and ezm_pool.ts_visible=0. This issue happens in any staging version, including master. It should probably be reported as a new, separate issue.

          Show
          Bertrand Dunogier added a comment - - edited After discussing with Ricardo, I see two different issues here. It seems that with the 471 transport layer, the node remote id is lost when syncing the eZ Flow block source folder object. Starting from there, the Layout object won't have a chance to add it to the item, and it will fail with a warning, that won't be logged by default. It is more than likely that this issue indeed occurs with the 471 transport and not the normal one. Then there is this second issue with ezpage staging where blocks & items are not fully synced, as described above ( ezm_block.node_id=0 and ezm_pool.ts_visible=0 . This issue happens in any staging version, including master. It should probably be reported as a new, separate issue.
          Hide
          Bertrand Dunogier added a comment -

          Reported EZP-23124 for the block items sync issue.

          Show
          Bertrand Dunogier added a comment - Reported EZP-23124 for the block items sync issue.
          Hide
          Marcos Loureiro (Inactive) added a comment -

          QA Approved

          Show
          Marcos Loureiro (Inactive) added a comment - QA Approved
          Hide
          Bertrand Dunogier added a comment -

          INSTALL file fixed in https://github.com/ezsystems/ezcontentstaging/commit/ee9d6d7690dc427276e07473544353e9449ea00f (the commit message is screwed up, but I don't wanna push force. So much for not doing a PR).

          Show
          Bertrand Dunogier added a comment - INSTALL file fixed in https://github.com/ezsystems/ezcontentstaging/commit/ee9d6d7690dc427276e07473544353e9449ea00f (the commit message is screwed up, but I don't wanna push force. So much for not doing a PR).

            People

            • Assignee:
              Unassigned
              Reporter:
              Ricardo Correia (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 3 days, 4 hours
                3d 4h

                  Agile