Menu

#132 US-YW10: Import Project Metadata

v1.0.0-beta
closed
nobody
2026-01-27
2026-01-19
Anonymous
No

Originally created by: smith-and-web

User Story

As a yWriter user,
I want to have my project-level information imported,
So that project context is preserved.

Parent Epic: [#123]

yWriter XML Structure

<PROJECT>
  <Title>The Jade Dragon Mystery</Title>
  <Author>Sarah Chen</Author>
  <Desc>A neo-noir mystery set in San Francisco's Chinatown. When Sarah Chen 
receives a mysterious package from her recently deceased grandmother, she's 
drawn into a decades-old conspiracy that threatens everything she knows.</Desc>
  <WordCountStart>0</WordCountStart>
  <WordTarget>80000</WordTarget>
</PROJECT>

<PROJECTNOTES>
  <PROJECTNOTE>
    <ID>1</ID>
    <Title>Research: Chinatown History</Title>
    <Desc>Notes on the history of SF Chinatown, immigration patterns, 
tong wars, etc. See also bookmarks folder.</Desc>
  </PROJECTNOTE>
  <PROJECTNOTE>
    <ID>2</ID>
    <Title>Character Voice Notes</Title>
    <Desc>Sarah speaks formally but thinks in fragments. Mrs. Liu 
peppers speech with Cantonese phrases.</Desc>
  </PROJECTNOTE>
</PROJECTNOTES>

Mapping to Kindling

yWriter Field Kindling Field
<Title> Project name
<Author> Author metadata (or project setting)
<Desc> Project description/notes
<WordTarget> Word count goal
<PROJECTNOTES> Project-level notes/references

Project Notes Handling

yWriter's <PROJECTNOTES> section contains research notes, reminders, and reference material. Options:

  1. Import as project description: Append to project description field
  2. Import as separate notes: Create a "Project Notes" section in Kindling
  3. Import as reference documents: Add to reference panel
  4. Skip: Don't import project notes (user can reference original file)

Acceptance Criteria

  • [ ] Project title imports from <PROJECT><Title>
  • [ ] Author name imports from <Author>
  • [ ] Project description imports from <Desc>
  • [ ] Word count target imports from <WordTarget> (if Kindling supports this)
  • [ ] Project notes (<PROJECTNOTES>) import as project-level notes/references
  • [ ] Each project note preserves title and content
  • [ ] Handles missing optional fields gracefully

Edge Cases

  • No title: Use filename as project name
  • No author: Leave author field empty
  • Many project notes: 20+ notes - ensure UI handles gracefully
  • Very long description: Multi-paragraph project description

Related

Tickets: #123
Tickets: #132

Discussion

  • Anonymous

    Anonymous - 2026-01-20

    Originally posted by: smith-and-web

    Partial implementation in PR [#140]: Project title and author are imported. Word target is parsed but not stored (Kindling has no word target feature yet). Keeping open for future enhancement.

     

    Related

    Tickets: #140

  • Anonymous

    Anonymous - 2026-01-27

    Originally posted by: smith-and-web

    Checked yWriter import: project metadata and notes are already handled in src-tauri/src/parsers/ywriter.rs.

    Implemented behavior:

    • <Title> sets project name (fallback to filename)
    • <Author> populates author_pen_name
    • <Desc> and <PROJECTNOTES> are appended into project description (with a "Project Notes" section)
    • <WordTarget> sets word_target
    • Missing fields are handled gracefully

    Relevant tests exist (e.g. test_hal_spacejock_project_metadata, test_hal_spacejock_project_notes_imported, test_project_source_type_is_ywriter).

    Given this, I believe issue [#132] is satisfied. Closing.

     

    Related

    Tickets: #132

  • Anonymous

    Anonymous - 2026-01-27

    Ticket changed by: smith-and-web

    • status: open --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB