İçeriğe geç

Bağımsız eser sunumu

Geliştirme · 1.0.0

Yayın

Doküman
1.0.0
Uygulama
1.0.0
Şema
1
Veri
tr-latn-1

Bu sayfa

Uygulama
content-api-v1
Veri
tr-passage-1

Eser sunumları mevcut kaynak bölümlerinin bağımsız katalog kayıtlarıdır; yeni core kitap veya içeri alınmış baskı değildir. Katalog kaynağı data/curated/catalog/reading-works.v1.json dosyasıdır. Eser ve üye UUID’leri kalıcıdır; yeniden adlandırma veya sıralama onları değiştirmez. Corpus konum kimlikleri, hiyerarşi, metin, notlar, dil hedefleri ve bölüm adresleri korunur.

GET /v1/contexts/{contextId}/reading-works (reading_works_get) standart available/unavailable yanıtını, bağlam kontrolünü, CORS ve ETag doğrulamasını kullanır. Katalog core sürüm kimliği/root’u ve kaynak metin sürümünü sabitler. Yerel çalışma üyeleri DB çağrısı yapmadan kayıtlı adres sürümüne karşı doğrular. Yayımlanmış çalışma mevcut doğrulanmış katalog/adres verisini kullanır; ek nesne indirmez. Ayrı veri yayını veya binding gerekmez; canlıda görünmesi için kodun dağıtılması gerekir.

ContentApiReaderRepository.getReadingWorks({ signal }), getCatalog() ile alınmış kaynak kataloğunu ve otoritesini kullanır; henüz alınmadıysa önce kataloğu yükler. Bütün üyeler güncel katalogla doğrulanır. Bu ek yeteneğin hatası mevcut kütüphaneyi gizlemez. passage_map_get dahil önceki işlem sürümleri değişmez; yeni işlemin sürümü de sonraki eklemeler için sabitlenmiştir.

Web ve mobil kütüphanede ayrı Eserler bölümü vardır. /works/{slug} adresi eser UUID’sini de kabul eder. Özgün başlık ve sıralı üyeleri gösterir; üye seçimi mevcut yerelleştirilmiş veya UUID okuma adresini açar. Eser adları API verisidir, arayüz çevirilerinden üretilmez.

Eserin derleme/müstakil/belirlenmemiş niteliği, data/curated/catalog/editorial-nature.v1.json içindeki bakım kaydıdır. Mevcut kaynak kitap veya chapter kimliğine bağlanır. Runtime tarafından import edilmez, API cevabına ve kullanıcı arayüzüne girmez. Bir tekrar oranından otomatik üretilmez; tekrar üyeliğini veya kaynak yönünü değiştirmez. Kaydı olmayan eser müstakil varsayılmaz. Bu dosya gizli değil, repo içi editoryal bilgidir; kararlar gerekçeleri ve Git geçmişiyle izlenir.

Ana sayfa seçimi ise data/curated/catalog/home-reading-works.v1.json içindeki sıralı workIds listesidir. Türden bağımsızdır: Âsâ-yı Mûsâ derleme olarak kaydedilmiş olması nedeniyle bu listeye kendiliğinden eklenmez. İlk seçim Gençlik Rehberi, Hanımlar Rehberi ve Nur Çeşmesi’dir.

GET /v1/contexts/{contextId}/reading-works?view=home yalnız bu seçimi döndürür. Parametresiz istek veya view=catalog eski tam katalogdur. Response shape’i ve operation revision değişmez; bilinmeyen veya tekrarlanan query parametreleri reddedilir. ETag dönen listenin içeriğini ve sırasını yansıtır. Boş seçim geçerlidir; bilinmeyen/tekrar eden work ID’si veya yanlış kaynak sürümü ise bütün kaynak kataloğu yerine hatalı seçim sunulmasına izin vermez.

Web ana sayfası ve mobil kütüphane açılışı API’ye view: "home" verir; eser sayfaları tam kataloğu kullanır. Bir eseri ana sayfadan kaldırmak onun /works/{slug} adresini, kaynak bölümünü veya okuma ilerlemesini kaldırmaz. Normal külliyat listesi ve kitap/bölüm hiyerarşisi aynı kalır.

Bakım kontrolü DB erişimi olmadan çalışır:

Terminal window
node --experimental-strip-types scripts/catalog/validate.mjs

İlk sınıflandırma, değiştirme örnekleri ve test kaydı data/curated/catalog/README.md içindedir. 4 Ekim 2026’da API staging/production ve web production dağıtımı tamamlandı; mevcut web erişim koruması korundu. Sürüm ve kontrol kaydı data/curated/catalog/deployment-20261004.md içindedir. Mobil değişikliği yerel geliştirme akışında hazırdır; henüz mağaza veya OTA dağıtımı yapılandırılmadığı için kurulu uygulamalara otomatik yayın yapılmadı. Yerel web ve mobil yerel veri hedefine bağlı kalır. Dağıtım sırası önce API, ardından web/mobildir. Sonraki ana sayfa seçimleri yalnız API dağıtımı ister; DB/R2 aktarımı veya istemcilerde ayrı eser listeleri gerekmez. İç nitelik değişikliği runtime dağıtımı istemez.

V1 yalnız tam bölümleri destekler. Sınırlı kesitler ve yeni baskı iddiaları reddedilir. Metin kopyalanmaz, varyantlar birleştirilmez, atıflar yeniden yazılmaz ve kaynak konumları yönlendirilmez. Haricen sağlanan yeni baskı, mevcut kaynak import protokolüne göre ayrı ve birebir core aktarımı gerektirir.

Üç kayıt da bölümün tamamını, yerel girişleri, ekleri ve notlarıyla sunar:

Eser Mevcut kaynak bölüm Cümle
Gençlik Rehberi fede7500-e188-5a98-814e-4dd988bc8a02 2193
Hanımlar Rehberi 5124fdb1-6d29-547d-9348-f6852b0ee502 1599
Nur Çeşmesi caa86957-3ccb-5c6b-b3fa-36b14c8483c3 1965

Bu seçim derleme haritasındaki tekrar parçalarıyla sınırlı değildir. Kaynak bölüm dışına çıkılmaz; henüz import edilmemiş bir baskının tamlığı iddia edilmez. Ham ASCII başlık yerine adres katmanındaki doğru başlık korunur.

Web ve mobil eser ekranı Okumaya başla veya Okumaya devam et sunar. readingWorkStart mevcut son bölüm ve bölüm-paragraf kayıtlarını kullanır. Son bölüm eserin üyesiyse o seçilir; değilse kayıtlı konumu olan ilk üye, o da yoksa ilk üye açılır. Başka eserin konumu taşınmaz; bozuk cihaz kaydı okumayı engellemez. Ayrı bir eser ilerleme deposu oluşturulmaz. Çok üyeli eserlerde üyeler arası son ziyaret zamanını henüz tutmuyoruz; bu seçim bir zaman sıralaması iddiası değildir. Arama halen özgün kitap/bölüm dizinini kullanır.

Yeni bir tam bölüm sunumu eklemek için kalıcı eser/üye UUID’leriyle bu JSON’a kayıt ekleyin, mevcut kaynak bölüm ve kitap ID’lerini kullanın ve kaynak-katalog testlerini çalıştırın. Veritabanında taşıma, tekrar import veya metin kopyalama gerekmez. Kesitlerden oluşan yeni eserler bu sözleşmeye gizli sınır alanlarıyla eklenmemelidir.

İki genel arayüz mesajı 19 dilde bulunur. Bu teknik kapsama, ana dilde editoryal onay anlamına gelmez. Expo web tarayıcı testi fiziksel iOS/Android doğrulaması değildir.