CSV export/import does not support narrative round-trip

Platform & OS Version

Platform: Mac
OS Version: Tahoe 26.3
OS Language Setting: US English

App Version

Version: 3.5.49
Application Shell: 3.5.49

Problem Description + Screenshots

It should be possible to export Narrative to CSV and later re-import it without losing information. Currently, the behavior I’m seeing is that either the Narrative items are ignored (if “Add to end of narrative” is left unchecked) or all parent/child structure is lost (if “Add to end of narrative” is checked).

Steps to reproduce

  • File creation:
    • In the “File” menu, select “New”
    • Click “New Timeline”
    • In the “Choose a Template” sidebar, click “Fiction”
    • Uncheck “Include example content”
    • Click “Use this template”
  • Narrative population:
    • Select the “Narrative” tab
    • Click “Add” > “Narrative Folder”, type “Book 1”, and press enter
    • In “Book 1”, click “Add” > “Narrative Folder”, type “Chapter 1”, and press enter
    • In “Book 1”, click “Add” > “Narrative Folder”, type “Chapter 2”, and press enter
  • Export:
    • In the “File” menu, select “Export”, “Export file as TSV/CSV”
    • Leaving all the default options, click Export
    • Enter filename “test.csv” and click Save
  • Examine “test.csv”.
    • POTENTIAL BUG: “Parent” column is unpopulated.
  • Cleanup:
    • In the “File” menu, select “Close window”
    • Click “Delete”
  • Test Scenario 1:
    • Re-run the steps in “File creation” to establish an empty timeline
    • In the “File” menu, select “Import CSV or TSV…”
    • Select “test.csv” and click “Open”
    • Leave “Add to end of narrative” unchecked
    • Click “Next: Confirm Data”
    • POTENTIAL BUG: see message "There must be at least one row of data to import
    • Click “Import”
    • Select the “Narrative” tab
    • POTENTIAL BUG: see that no narrative items have been imported
  • Test Scenario 2:
    • Re-run the steps in “File creation” to establish an empty timeline
    • In the “File” menu, select “Import CSV or TSV…”
    • Select “test.csv” and click “Open”
    • Check “Add to end of narrative”
    • Click “Next: Confirm Data”
    • Click “Import”
    • Select the “Narrative” tab
    • POTENTIAL BUG: see that Chapter 1 and Chapter 2 are top level items, not nested within Book 1.
  • Test Scenario 3:
    • Create a copy “test2.csv” based on “test.csv”. In it, update the “Parent” column for “Chapter 1” and “Chapter 2” to have “Book 1”. Import this file instead.
    • Re-run the steps in “File creation” to establish an empty timeline
    • In the “File” menu, select “Import CSV or TSV…”
    • Select “test2.csv” and click “Open”
    • POTENTIAL BUG: same remaining steps (and behaviors) as scenarios 1/2.

Note:

  • I can reproduce this bug reliably.
  • I can make this bug happen with a clean timeline file.
  • This does not only happen with a specific timeline file.

Any relevant files?

test.csv:

Type,Label,Internal ID,Compact Display,Summary,Narrative Position,Narrative Position (Full Path),Narrative Section,Color,Parent,Ongoing,Start Date,Latest Start Date,Earliest End Date,End Date,Duration,Tags,Blocked by,Blocks,Constraints,Links,Image (Links only),Event,Event (Compact display),Character,Character (Compact display),Character Group,Character Group (Compact display),Story Arc,Story Arc (Compact display),Location,Location (Compact display),Narrative Folder,Narrative Folder (Compact display),Observer,Observer (Compact display),Observed,Observed (Compact display)
"Narrative Folder","Book 1","NF1","Book 1",,"Chapter 1","Chapter 1","Automatic","Gray",,False,,,,,"0","","","","","",,"","","","","","","","","","","","","","","",""
"Narrative Folder","Chapter 1","NF2","Chapter 1",,"Chapter 2","Chapter 1, Chapter 2","Automatic","Gray",,False,,,,,"0","","","","","",,"","","","","","","","","","","","","","","",""
"Narrative Folder","Chapter 2","NF3","Chapter 2",,"Chapter 3","Chapter 1, Chapter 3","Automatic","Gray",,False,,,,,"0","","","","","",,"","","","","","","","","","","","","","","",""

test2.csv:

Type,Label,Internal ID,Compact Display,Summary,Narrative Position,Narrative Position (Full Path),Narrative Section,Color,Parent,Ongoing,Start Date,Latest Start Date,Earliest End Date,End Date,Duration,Tags,Blocked by,Blocks,Constraints,Links,Image (Links only),Event,Event (Compact display),Character,Character (Compact display),Character Group,Character Group (Compact display),Story Arc,Story Arc (Compact display),Location,Location (Compact display),Narrative Folder,Narrative Folder (Compact display),Observer,Observer (Compact display),Observed,Observed (Compact display)
"Narrative Folder","Book 1","NF1","Book 1",,"Chapter 1","Chapter 1","Automatic","Gray",,False,,,,,"0","","","","","",,"","","","","","","","","","","","","","","",""
"Narrative Folder","Chapter 1","NF2","Chapter 1",,"Chapter 2","Chapter 1, Chapter 2","Automatic","Gray","Book 1",False,,,,,"0","","","","","",,"","","","","","","","","","","","","","","",""
"Narrative Folder","Chapter 2","NF3","Chapter 2",,"Chapter 3","Chapter 1, Chapter 3","Automatic","Gray","Book 1",False,,,,,"0","","","","","",,"","","","","","","","","","","","","","","",""

Hi @davidmc24,

Many thanks for the detailed report. My apologies for the delay getting back to you.

We’re currently working on improvements to CSV import, including better handling of narrative positioning.

We don’t have an ETA yet, but we are planning to support narrative round-tripping so a narrative structure can be exported and re-imported without losing that structure. We’re also planning to support importing items into specified narrative positions, rather than only adding them to the end of the narrative.

We’ll take this report into account as part of that work - thank you for the clear examples you’ve provided.

1 Like