Browse Source

Remove token config section; renumber items

Delete the standalone "Token-Based Configuration Magic" and the duplicate "Tenant Resolution Priority Chain" sections from the article. Update the feature index/table to replace the Token Replacement entry with Tenant Resolution, and adjust the numbering/labels for Background Job Queue and Widgets so the list stays consistent. This cleans up duplicated content and fixes the section ordering.
pull/24900/head
enisn 1 month ago
parent
commit
65071525eb
No known key found for this signature in database GPG Key ID: A052619F04155D1C
  1. 38
      docs/en/Community-Articles/2026-02-19-ABP-Framework-Hidden-Magic/post.md

38
docs/en/Community-Articles/2026-02-19-ABP-Framework-Hidden-Magic/post.md

@ -427,23 +427,6 @@ All configured automatically.
---
## 25. Token-Based Configuration Magic
**The Magic:** Many settings support tokens that are resolved at runtime:
```csharp
// These tokens are automatically replaced
"ConnectionStrings": {
"Default": "Server=localhost;Database=MyApp_{TENANT_ID}"
}
```
- `{TENANT_ID}` - Replaced with current tenant ID
- `{USER_ID}` - Replaced with current user ID
- `{CURRENT_TIME}` - Replaced with current datetime
---
## 26. Localization Automatic Discovery
**The Magic:** All `.json` localization files in the application are automatically discovered and loaded:
@ -514,19 +497,7 @@ No configuration needed beyond the package reference!
---
## 31. Tenant Resolution Priority Chain
**The Magic:** ABP automatically resolves tenants in this order (first match wins):
1. **Route** - From URL path (`/api/v1/[tenant]/...`)
2. **Query String** - From `__tenant` query parameter
3. **Header** - From `__tenant` header
4. **Cookie** - From `__tenant` cookie
5. **Subdomain** - From URL subdomain (`tenant.domain.com`)
---
## 32. Background Job Queue Magic
## 31. Background Job Queue Magic
**The Magic:** Background jobs are automatically retried with exponential backoff:
@ -569,14 +540,13 @@ No configuration needed beyond the package reference!
| 22 | **Distributed Events** | Outbox pattern | Reliable messaging |
| 23 | **Virtual Files** | Module merging | Embedded resources as virtual |
| 24 | **JSON Settings** | Pre-configured | CamelCase, null handling |
| 25 | **Token Replacement** | Runtime resolution | `{TENANT_ID}`, `{USER_ID}` |
| 25 | **Tenant Resolution** | Multi-source chain | Route → Query → Header → Cookie → Subdomain |
| 26 | **Localization** | Auto-discovery | JSON files in /Localization |
| 27 | **API Versioning** | Default v1.0 | URL, header, query support |
| 28 | **Health Checks** | Auto-registered | /health, /health/ready, /health/live |
| 29 | **Swagger** | Auto-generated | With authorization support |
| 30 | **Tenant Resolution** | Multi-source chain | Route → Query → Header → Cookie |
| 31 | **Job Retries** | Auto with backoff | 3 retries default |
| 32 | **Widgets** | Auto-discovery | Implement `IWidget` |
| 30 | **Background Job Queue** | Auto with backoff | 3 retries default |
| 31 | **Widgets** | Auto-discovery | Implement `IWidget` |
---

Loading…
Cancel
Save