9.2 KiB
Saas (Sas)
Bu modülün ekranları wizard ile değil C# seeder (
ListFormSeeder_Sas) vedata/*.jsondosyaları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 alanlowcode-reference.instructions.md§12'de, çalışma şekliREADME.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, yetkilerdata/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ıOrderalanı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*CurrencyIdvarsayılanı tabloDEFAULT'undan gelir (standing default 18). - Adres zinciri (Ülke › Şehir › İlçe › Mahalle) Kiracılar ve Kontaklar ekranlarında
CascadeParentFieldsile 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.json (EN + TR, 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.