Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-6582

Convert DataTransporter to dependency injection

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Obsolete
    • Neutral
    • None
    • 5.4
    • core

    Description

      We discovered long ago that the export command writes to a file, then reads that file back before streaming the final xml data to the client. This results in 1) system-wide performance degradation during large exports, and 2) occasional failed-to-delete files left on the disk, eventually filling it.

      When we were on Magnolia 4.5, we were building the entire project, including magnolia-core, so I had a local change to DataTransporter.java that did away with the "format" and "keepversionhistory" options, so that writing to file was unnecessary. Exports were faster, the system was faster, the drive didn't fill up.

      Now that we're on 5.4.4, we no longer build the core project, so I'm looking for a way to do something similar to what we had before, but coming up empty. DataTransporter is not dependency-injected, so I can't simply override it (to the best of my knowledge).

      I don't know whether doing away with the whole writing to file strategy is right for everyone, so maybe the easiest thing to do to put the power in my hands is to make DataTransporter a dependency injected singleton instead of a static class?

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              Unassigned Unassigned
              nwing Nickolaus Wing
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Task DoD