← ClaudeAtlas

abp-settings-featureslisted

ABP Framework v10.4 settings and features: ISettingProvider/ISettingManager, SettingDefinitionProvider, IFeatureChecker, feature toggle. Use for configuration management, settings, or feature flags in ABP.
burakdmir/abp-skills · ★ 10 · AI & Automation · score 77
Install: claude install-skill burakdmir/abp-skills
# ABP Settings & Features Skill ## Trigger Settings, ISettingProvider, ISettingManager, setting values, features, IFeatureChecker, feature toggles, feature management. --- ## Settings ### Define ```csharp public class BookStoreSettingDefinitionProvider : SettingDefinitionProvider { public override void Define(ISettingDefinitionContext context) { context.Add( new SettingDefinition("App.UI.LayoutType", defaultValue: "LeftMenu", displayName: L["LayoutType"], isVisibleToClients: true), new SettingDefinition("Smtp.Password", defaultValue: "", isEncrypted: true) ); } } ``` ### Read (ISettingProvider — cached, read-only) ```csharp string v = await _provider.GetOrNullAsync("Smtp.UserName"); bool ssl = await _provider.GetAsync<bool>("Smtp.EnableSsl"); bool ssl = await _provider.IsTrueAsync("Smtp.EnableSsl"); int port = await _provider.GetAsync<int>("Smtp.Port"); int? port = (await _provider.GetOrNullAsync("Smtp.Port"))?.To<int>(); ``` `ApplicationService` has `SettingProvider` property pre-injected. ### Write (ISettingManager — for UIs) ```csharp await _mgr.SetForCurrentTenantAsync("App.UI.LayoutType", "LeftMenu"); await _mgr.SetForUserAsync(userId, "App.UI.LayoutType", "LeftMenu"); await _mgr.SetGlobalAsync("App.UI.LayoutType", "TopMenu"); string v = await _mgr.GetOrNullGlobalAsync("App.UI.LayoutType"); ``` ### Fallback Chain (bottom → top) D (Default) → C (Configurat