Include project created_at attribute in file exports for offline transfer
Summary
In direct transfer, projects are inported in two steps
- The base portable is created in
BulkImports::Projects::Pipelines::ProjectPipeline. This pipeline makes GraphQL queries to the source destination, which won't be possible in offline transfer. - Attributes for the newly created portable are updated in
BulkImports::Projects::Pipelines::ProjectAttributesPipelinefromselfrelation files.
created_at is fetched in ProjectPipeline and not currently present in the self relation file, so it must be included in that file in order to import the source created date in offline transfer.
Proposed implementation
Add created_at to project/import_export.yml.
Effects on other importers
- File-based project import/export would now preserve the source project's created date. We probably want this, but it should be confirmed and communicated as a change to file-based imports
- Projects created from templates would preserve the template project's created date. This is not desired template behavior so implementation should ensure project template exports are unaffected
- Direct transfer should be unaffected since a project's
created_atwritten to an export file should be the same as what direct transfer fetches from the API
Edited by Sam Word