Uploaded image for project: 'Ibexa IBX'
  1. Ibexa IBX
  2. IBX-4443

Content Type propagation with errors or large amount of content items

    XMLWordPrintable

Details

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Medium Medium
    • Customer request
    • 4.3.0
    • Experience
    • None
    • Ubuntu 22

      nginx 1.18

      mysql 8

    • Ibexa Experience
    • Yes

    Description

      Conditions relevant to trigger this problem:

      condition 1) some random content item has bad/invalid field data
      condition 2) large amount of content items per content type (example 10k content items)

      Steps to recreate:

      Edit a content type (example Article)
      Click Save button

      When the operation begins to propogate the content type change to the content objects ALL content objects of this content type will be inspected within the current browser process.

      If there is an error in ANY content field the process will fail and report back an error, thus leaving some content with updated field attributes and some NOT updated. this is not a good state to be in as editing content (Article) that has NOT had the proper fields propogated to it would show the old field set / invalid.

      If there are a LOT of content items (>10k) the content type field propagation will run for a long period of time and will eventually time out in the browser. This will also cause some content to be in the new field set and some to remain in the old fieldset.

      Having a very powerful server can reduce the processing time and reduce the likelyhood of process timeout but as content item counts increase this will still be a problem. (example 50k Articles).

      I propose two approaches

      1) add a configuration parameter and command (CLI) for defered content type propogation  (this is similar to the ezpublish command /usr/bin/php extension/ezscriptmonitor/bin/syncobjectattributes.php -s admin --classid=113 ) This approach would be enabled by the developer as needed and thus not effect small builds. This CLI approach allows a PHP process to proceed without timelimit (via CLI). As an example I have personally edited a ezpublish 5.4 content type (class) on a production server with 150k user objects and it took 30+minutes for the CLI command to complete. it did complete though and the user field set was correct at the end.

      2) Content type field audit Command (CLI). Basically a command that will compare the content types to their content objects and report back if something is not the correct fieldset. a Bonus operation would re-apply the correct fieldset to the content with incorrectly aligned fieldsets

      Designs

        Attachments

          Activity

            People

              Unassigned Unassigned
              9eb34429-4ba7-4cec-9fd2-e83a1fdd6ac1@accounts.ibexa.co David Sayre
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated: