Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-11

Redo Implementation of "OnAfterCopyToLive" methods

    XMLWordPrintable

    Details

    • Type: Feature Request
    • Status: Closed
    • Priority: Minor
    • Resolution: no change required
    • Affects Version/s: None
    • Fix Version/s: 5.0.2
    • Component/s: Data Management
    • Labels:
      None
    • Additional information:
      Hide

      [by Alex O.]
      Изменение довольно массивные, чтобы их можно было быстро протестировать. Пока работал с begonija_asu вроде всё нашёл что было не так. В самом begonija_asu это уже давно работает. Надо просто взять этот файл, вставить его в RC и протестировать на всяких запарочных местах, типа shipping brackets и stylesheets, т.к. такой замороченности по вложенности префиксов ещё никто не превзошел.

      [by Sergey Grib]

      Посвящается нашей извечной чёрной дыре - получению id после копирования данных в live-таблицу в случае массового копирования (если нет детей). В данный момент не существует ни одного адекватного метода выполнения этой задачи.

      Предложение очень простое и состоит в следующем: применять массовое копирование только для тех items, которые не новые, то есть во временной таблице id > 0. Остальные (с id<=0) копируем по одному тем же методом, как и главные items в случае, если у них есть дети.

      Также, в случае массового копирования, следует передавать список ids в OnAfterCopyToLive через тот же параметр, что и в случае с копированием по одному.

      Таким образом, в OnAfterCopyToLive всегда будут попадать правильные ids, доступные для дальнейшей обработки. Для новых (или у которых есть дети) items OnAfterCopyToLive будет вызываться каждый раз с переданной одной id, для остальных - один раз с переданным списком ids.

      Show
      [by Alex O.] Изменение довольно массивные, чтобы их можно было быстро протестировать. Пока работал с begonija_asu вроде всё нашёл что было не так. В самом begonija_asu это уже давно работает. Надо просто взять этот файл, вставить его в RC и протестировать на всяких запарочных местах, типа shipping brackets и stylesheets, т.к. такой замороченности по вложенности префиксов ещё никто не превзошел. [by Sergey Grib] Посвящается нашей извечной чёрной дыре - получению id после копирования данных в live-таблицу в случае массового копирования (если нет детей). В данный момент не существует ни одного адекватного метода выполнения этой задачи. Предложение очень простое и состоит в следующем: применять массовое копирование только для тех items, которые не новые, то есть во временной таблице id > 0. Остальные (с id<=0) копируем по одному тем же методом, как и главные items в случае, если у них есть дети. Также, в случае массового копирования, следует передавать список ids в OnAfterCopyToLive через тот же параметр, что и в случае с копированием по одному. Таким образом, в OnAfterCopyToLive всегда будут попадать правильные ids, доступные для дальнейшей обработки. Для новых (или у которых есть дети) items OnAfterCopyToLive будет вызываться каждый раз с переданной одной id, для остальных - один раз с переданным списком ids.
    • Change Log Group:
      Fixed
    • Change Log Message:
      The IDs of records added into temporary table were not available in the "OnAfterCopyToLive" event.
    • External issue ID:
      18
    • Copy Issue Key:
    • Patch Instructions:

      Patches must be submitted through Phabricator.

      Description

      Redo Implementation of "OnAfterCopyToLive" methods

        Attachments

          Activity

            People

            • Assignee:
              alex Alex
              Reporter:
              alex Alex
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: