Record schema: serialise with a version, and the additions R1b/R2 need

Offen
#153 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
csharp
Bereich
backend

Rechercherichtung

Read the API section of the review report linked in the issue and inspect RecordFileWriter.cs at line 74, then coordinate the changes with R1b and R2. The work spans schema serialization, new schema kinds, partial record identity and path rules, and an adapter for synchronous notation checks over asynchronous language services. Done means these decisions are implemented and documented across the related work.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

From the review of PR #147 (H:\work\gdr-design-20261102\reports\te-review-record-frame.md), API section. Do before or with R1b (SIL.TextEditing.Project).

  • RecordSchema is data but not serialisable: move ToJson/FromJson into the library with a version field (Q54': savable beside an export). ToJsonSchema() is one-way and loses Paragraphs, the ws default and rich vs reference.
  • Additive kinds: ordered vs unordered sequences (seq vs col); owned objects of several classes (class:); a read-only/computed: marker.
  • Identity: partial roots are index-only and a #field partial cannot carry a GUID (RecordFileWriter.cs:74); allow a GUID in root or guid: in field partials; R2 resolves partial roots against base. Decide outline-number paths (senses/1.2) here too.
  • INotationChecker is synchronous while ITextLanguageService is async: add an adapter that accepts only services that answer at once, documented.
Vorherrschende Sprache
C#
Sterne
0
Forks
0
Ø Merge
1 Std. 43 Min.
Gemergte PRs (30 T.)
43

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus sillsdev/SIL.TextEditing

Alle Issues in sillsdev/SIL.TextEditing

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.