sozsoft-platform/configs/seeds/docs/modules/Sas.md
2026-10-21 23:40:03 +03:00

9.3 KiB
Raw Permalink Blame History

Saas (Sas)

Bu modülün ekranları wizard ile değil C# seeder (ListFormSeeder_Sas) ve data/*.json dosyalarıyla kurulur; bu yüzden dosya ve bölümler deploy tarafından değil elle yazılır (lowcode.instructions.md §0.13, "wizard dışı modülün bölümü elle yazılır"). Ekran sözleşmeleri alan alan lowcode-reference.instructions.md §12'de, çalışma şekli README.md'nin anılan bölümlerindedir; burada her dal için amaç, ekran listesi ve gerçeğin yaşadığı yer tutulur. Menü ağacı data/Sas.Menus.Menu.json, yetkiler data/Abp.Identity.Permissions.json (Modules = Sas, yalnızca host bağlamında görünür).

Tanımlamalar (Sas.Definitions)

1. Amaç ve kapsam

Bütün kiracıların ortak kullandığı host tanımları: AI botları, genel arama kaynakları, hitaplar, para birimleri, ülke grubu › ülke › şehir › ilçe zinciri, menü modülleri ve uygulama paketleri. Satırlar seed dosyasından gelir ve host yöneticisi tarafından düzenlenir; kiracı ekranları bu tanımları lookup olarak okur.

2. Menü ve ekranlar

Sıra Ekran Kod Seed verisi
1 AI Botları Sas.Definitions.AiBot data/Sas.Definitions.AiBot.json (README §13.8)
2 Genel Arama Sas.Definitions.GlobalSearch data/Sas.Definitions.GlobalSearch.json
3 Hitaplar Sas.Definitions.ContactTitle data/Sas.Definitions.ContactTitle.json
4 Para Birimleri Sas.Definitions.Currency data/Sas.Definitions.Currency.json
5 Ülke Grupları Sas.Definitions.CountryGroup data/Sas.Definitions.CountryGroup.json
6 Ülkeler Sas.Definitions.Country data/Sas.Definitions.Country.json
7 Şehirler Sas.Definitions.City data/Sas.Definitions.City.json
8 İlçeler Sas.Definitions.District data/Sas.Definitions.District.json
9 Modüller Sas.Menus.Module data/Sas.Menus.Module.json (README §9)
10 Uygulama Paketleri Sas.Definitions.ApplicationSuite data/Sas.Definitions.ApplicationSuite.json

3. Veri modeli ve kurallar

  • Tablolar Sas_H_* (host; TableNameResolver, TableNameEnum). Ülke grubu › ülke › şehir › ilçe dosyaları Order alanıyla bağımlılık sırasında uygulanır (CLAUDE.md "Menü ağacı ve yetkiler").
  • Para birimi lookup'ının anahtarı Name'dir ('TRY' gibi); ekranlardaki *CurrencyId varsayılanı tablo DEFAULT'undan gelir (standing default 18).
  • Adres zinciri (Ülke › Şehir › İlçe › Mahalle) Kiracılar ve Kontaklar ekranlarında CascadeParentFields ile kullanılır (lowcode-reference.instructions.md §12).

Public Site Yönetimi (Sas.Public)

1. Amaç ve kapsam

Ziyaretçiye açık sitenin arkasındaki yönetim ekranları: ürün/ödeme/taksit tanımları ve satış siparişleri (sepet akışı), blog kategorileri ve yazıları, demo talepleri. Sitenin sayfaları Custom Component, menüsü Pub modülüdür (README §10.4); buradaki ekranlar onların verisini yönetir.

2. Menü ve ekranlar

Sıra Ekran Kod Not
1 Ürünler Sas.Orders.Products sepet/ödeme akışının ürün kataloğu
2 Ödeme Yöntemleri Sas.Orders.PaymentMethods
3 Taksit Seçenekleri Sas.Orders.InstallmentOptions
4 Satış Siparişleri Sas.Orders.SalesOrders sipariş e-postası PublicAppService üretir; tarih/tutar CultureFormat ile aktif kültürde
5 Blog Kategorileri Sas.BlogManagement.Category sitemap'e giren yayın kaynağı (SeoAppService)
6 Blog Yazıları Sas.BlogManagement.Posts yayın tarihi BlogPost.Publish(Clock.Now)
7 Demo Talepleri Sas.Demos public demo formunun kayıtları

Kiracılar (AbpTenantManagement.Tenants) ve Şubeler (Sas.Branches)

1. Amaç ve kapsam

Kiracı kaydı (ABP TenantManagement; kendi veritabanı ya da host veritabanı paylaşımı), kiracı yöneticisinin ilk seed'i ve şube tanımı. Çalışma şekli README §12 (Çok Kiracılılık); seed kapsamı CLAUDE.md "Seed kapsamı" (SeedFileScope). Şube ekranı kullanıcıya atanmış aktif şubelerin kaynağıdır (Sas_T_BranchUsers, LookupQueryValues.UserBranchValues; standing default 1).

Ekran Kod Not
Kiracılar AbpTenantManagement.Tenants ABP yerleşik yetkileri (ManageConnectionStrings, ManageFeatures)
Şubeler Sas.Branches Sas_T_Branch; host şubesi PlatformConsts.Branches.BranchIdDefaultValue

Ayar Tanımları (Sas.SettingDefinitions)

Uygulama ayarlarının tanım listesi (data/Sas.SettingDefinitions.json, Sozsoft.Settings modülü); değerler Ayarlar ekranından host/kiracı/kullanıcı düzeyinde yazılır. Ayar anahtarları ve anlamları README §6.3 ve lowcode-reference.instructions.md'de; SEO varsayılanları Adm.SiteManagement.Seo.* (CLAUDE.md "SEO").

Diller (Sas.Languages)

Ekran Kod Seed verisi
Diller Sas.Languages.Language data/Sas.Languages.Language.json
Dil Metinleri Sas.Languages.LanguageText data/Sas.Languages.LanguageText/{CultureName}.json (gruplu klasör: her dil bir dosya, ad CultureName — ar, de-DE, en, es, fi, fr, hi, hr, hu, it, pt-BR, ru, sk, sl, tr, zh-Hans; yeni anahtar hepsine eklenir; Id = Sas_H_LanguageText:{ResourceName}:{Key}:{CultureName} v5 GUID)

Kullanıcıya görünen her metin dil anahtarıyla gelir (standing default 4); UI çevirisi useLocalization/translateStatic, API çevirisi IStringLocalizer<PlatformResource>. Tarih/sayı biçimi aktif kültürü izler (localeFormat.ts, CultureFormat; README §18.3).

Veri Kaynakları (Sas.DataSource)

Ekranların bağlandığı bağlantı kayıtları (DataSourceManager); kiracı tablosunun satırları kiracı adıyla kayıtlı DataSource üzerinden gider (CLAUDE.md "Seed kapsamı"). Varsayılan veri kaynağını HostDataSeeder appsettings'teki bağlantı cümlesinden kurar. İki sağlayıcı (SQL Server / PostgreSQL) DataSourceTypeEnum ile ayrılır; SQL metinleri ANSI tırnaklı ya da sağlayıcıya göre dallanır (standing default 16).

Arka Plan İşleri (Sas.BackgroundWorkers)

Ekran Kod Not
Zamanlanmış İşler Sas.BackgroundWorkers.RecurringJobs data/Sas.BackgroundWorkers.RecurringJobs.json; Scope = Host / Tenant / Host ve Kiracılar (WorkerScopeEnum)
İşler Sas.BackgroundWorkers.Jobs Hangfire kuyruğu

Çalışma şekli README §14; BeforeSp/AfterSp yordam adları SqlIdentifier.IsSafe ile doğrulanıp sağlayıcıya göre EXEC/CALL ile çağrılır (SpRepository). Mail kuyruğu işi (MailQueueWorker) şablonunu Options.MailTemplate alanından PlatformTemplateDynamicStore ile okur (README §13.7, lowcode-reference.instructions.md §11).

Menüler (Sas.Menus)

Ekran Kod Seed verisi
Rotalar Sas.Menus.Routes data/Sas.Menus.Routes.json (yalnızca Seo* alanları çerçeve içinde düzenlenir)
Menü Sas.Menus.Menu data/Sas.Menus.Menu.json
Menü Yöneticisi Sas.Menus.Manager /admin/menuManager (çekirdek sayfa)

Menü/route/yetki modeli README §9; yetki ağacı menü ağacını izler (standing default 2).

Developer Kit (Sas.DeveloperKit)

Ekran Kod Not
Geliştirme Talepleri Sas.DevRequests MCP talep döngüsü (CLAUDE.md "Talep analizi"); data/Sas.DevRequests/ klasör modu
SQL Query Manager Sas.SqlQueryManager /admin/sqlQueryManager; tablo tasarımcısı iki sağlayıcının scriptini üretir (PostgreSqlTableScript)
Dosyalar Sas.Files /admin/files (README §16)
Custom Endpoint'ler Sas.DeveloperKit.CustomEndpoints crud/{Entity}.json (CrudEndpointSeedApplier)
Dynamic Service'ler Sas.DeveloperKit.DynamicServices runtime derleme (DynamicAssemblyRegistrationService)
Custom Component'ler Sas.DeveloperKit.CustomComponents data/Sas.DeveloperKit.CustomComponents/{Id}.json (README §8.2)
ListForm'lar Sas.Listforms.Listform ekran tanımları; kayıt wizard seed dosyasına geri yazılır (WizardSeedSynchronizer)
Intranet Widget'ları Sas.DeveloperKit.IntranetWidgets data/Sas.DeveloperKit.IntranetWidgets.json
MCP Sunucuları Sas.DeveloperKit.McpServers AllowedTools (README §13.9)
Wizard Manager Sas.Listforms.WizardManager /admin/listform/wizardManager; deploy yalnızca seed dosyası yazar, kurulum DB Migrate'tedir (lowcode.instructions.md §4.0)

Forum Yönetimi (Sas.ForumManagement)

Ekran Kod
Kategoriler Sas.ForumManagement.Categories
Konular Sas.ForumManagement.Topics
Gönderiler Sas.ForumManagement.Posts

Tablolar Sas_T_Forum* kiracı tablosudur (menü öneki ile tablo öneki örtüşmez; lowcode-reference.instructions.md "Tablo adlandırma"). Forum sayfaları kullanıcı tarafında views/forum altındadır.