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

Path identification string is not being stored

    Details

      Description

      If possible it should be handled inside storage engine.

        Issue Links

          Activity

          Hide
          Petar Spanja (Inactive) added a comment -

          PR: https://github.com/ezsystems/ezp-next/pull/145

          The ezcontentobject_tree.path_identification_string column holds what is basically URL alias path of a location, that is calculated using main languages and urlalias_compat transformation of string to URL alias. It is not exposed in PAPI but handled only for compatibility reasons. Ideally handling would be done entirely in storage layer, but as name schema resolving is done on service level there is no easy way to do that.

          Implementation updates path_identification_string from URLAliasHandler::publishUrlAliasForLocation() method. The method implementation has one internal parameter added (it is not in interface) to indicate main language and trigger update of path identification string. This parameter is then being passed in services when calling the method on:

          creating new location for content
          publishing content version
          updating metadata (changing main language of the content)
          PR also contains some fixes:

          LocationGateway::moveSubtreeNodes() is fixed for case when parent location is on root level.
          Locations were sometimes created with ezcontentobject_tree.contentobject_is_published set to 0. Legacy storage impl. ignores this and now locations are always being created with this column set to 1.

          Show
          Petar Spanja (Inactive) added a comment - PR: https://github.com/ezsystems/ezp-next/pull/145 The ezcontentobject_tree.path_identification_string column holds what is basically URL alias path of a location, that is calculated using main languages and urlalias_compat transformation of string to URL alias. It is not exposed in PAPI but handled only for compatibility reasons. Ideally handling would be done entirely in storage layer, but as name schema resolving is done on service level there is no easy way to do that. Implementation updates path_identification_string from URLAliasHandler::publishUrlAliasForLocation() method. The method implementation has one internal parameter added (it is not in interface) to indicate main language and trigger update of path identification string. This parameter is then being passed in services when calling the method on: creating new location for content publishing content version updating metadata (changing main language of the content) PR also contains some fixes: LocationGateway::moveSubtreeNodes() is fixed for case when parent location is on root level. Locations were sometimes created with ezcontentobject_tree.contentobject_is_published set to 0. Legacy storage impl. ignores this and now locations are always being created with this column set to 1.

            People

            • Assignee:
              Unassigned
              Reporter:
              Petar Spanja (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              1 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 - 2 days
                2d