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

Đang mở
#153 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp
Lĩnh vực
backend

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
Ngôn ngữ chính
C#
Star
0
Fork
0
Merge trung bình
1 giờ 43 phút
Pull request đã merge (30 ngày)
43

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của sillsdev/SIL.TextEditing

Tất cả issue của sillsdev/SIL.TextEditing

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.