@ -2,8 +2,11 @@
"items" : [
{
"text" : "Get started" ,
"path" : "get-started" ,
"items" : [
{
"text" : "Overview" ,
"path" : "get-started/index.md"
} ,
{
"text" : "Single-layer solution" ,
"path" : "get-started/single-layer-web-application.md"
@ -42,10 +45,17 @@
{
"text" : "Tutorials" ,
"items" : [
{
"text" : "Overview" ,
"path" : "tutorials/overview.md"
} ,
{
"text" : "TODO application" ,
"path" : "tutorials/todo" ,
"items" : [
{
"text" : "Overview" ,
"path" : "tutorials/todo/index.md"
} ,
{
"text" : "Single-layer solution" ,
"path" : "tutorials/todo/single-layer"
@ -114,10 +124,17 @@
{
"text" : "Tools" ,
"items" : [
{
"text" : "Overview" ,
"path" : "tools.md"
} ,
{
"text" : "ABP CLI" ,
"path" : "cli" ,
"items" : [
{
"text" : "Overview" ,
"path" : "cli/index.md"
} ,
{
"text" : "Examples for the new command" ,
"path" : "cli/new-command-samples.md"
@ -126,19 +143,22 @@
} ,
{
"text" : "ABP Studio" ,
"path" : "studio" ,
"items" : [
{
"text" : "Installation " ,
"path" : "studio/installation .md"
"text" : "Overview " ,
"path" : "studio/index .md"
} ,
{
"text" : "Overview " ,
"path" : "studio/overview .md"
"text" : "Installation " ,
"path" : "studio/installation .md"
} ,
{
"text" : "Fundamentals" ,
"items" : [
{
"text" : "Overview" ,
"path" : "studio/overview.md"
} ,
{
"text" : "Solution Explorer" ,
"path" : "studio/solution-explorer.md"
@ -171,7 +191,7 @@
"text" : "ABP Suite" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "suite"
} ,
{
@ -192,8 +212,11 @@
} ,
{
"text" : "Generating CRUD Page" ,
"path" : "suite/generating-crud-page.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "suite/generating-crud-page.md"
} ,
{
"text" : "Creating Many-To-Many Relationship" ,
"path" : "suite/creating-many-to-many-relationship.md"
@ -242,14 +265,21 @@
{
"text" : "Fundamentals" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/fundamentals/overview.md"
} ,
{
"text" : "Application Startup" ,
"path" : "framework/fundamentals/application-startup.md"
} ,
{
"text" : "Authorization" ,
"path" : "framework/fundamentals/authorization.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/fundamentals/authorization.md"
} ,
{
"text" : "Dynamic Claims" ,
"path" : "framework/fundamentals/dynamic-claims.md"
@ -258,8 +288,11 @@
} ,
{
"text" : "Caching" ,
"path" : "framework/fundamentals/caching.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/fundamentals/caching.md"
} ,
{
"text" : "Redis Cache" ,
"path" : "framework/fundamentals/redis-cache.md"
@ -276,8 +309,11 @@
} ,
{
"text" : "Dependency Injection" ,
"path" : "framework/fundamentals/dependency-injection.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/fundamentals/dependency-injection.md"
} ,
{
"text" : "AutoFac Integration" ,
"path" : "framework/fundamentals/autofac-integration.md"
@ -306,8 +342,11 @@
} ,
{
"text" : "Validation" ,
"path" : "framework/fundamentals/validation.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/fundamentals/validation.md"
} ,
{
"text" : "FluentValidation Integration" ,
"path" : "framework/fundamentals/fluent-validation.md"
@ -319,14 +358,21 @@
{
"text" : "Infrastructure" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/infrastructure/overview.md"
} ,
{
"text" : "Audit Logging" ,
"path" : "framework/infrastructure/audit-logging.md"
} ,
{
"text" : "Background Jobs" ,
"path" : "framework/infrastructure/background-jobs" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/infrastructure/background-jobs"
} ,
{
"text" : "Hangfire Integration" ,
"path" : "framework/infrastructure/background-jobs/hangfire.md"
@ -343,8 +389,11 @@
} ,
{
"text" : "Background Workers" ,
"path" : "framework/infrastructure/background-workers" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/infrastructure/background-workers"
} ,
{
"text" : "Quartz Integration" ,
"path" : "framework/infrastructure/background-workers/quartz.md"
@ -359,7 +408,7 @@
"text" : "BLOB Storing" ,
"items" : [
{
"text" : "BLOB Storing System " ,
"text" : "Overview " ,
"path" : "framework/infrastructure/blob-storing"
} ,
{
@ -429,7 +478,7 @@
"text" : "Email Sending" ,
"items" : [
{
"text" : "Email Sending System " ,
"text" : "Overview " ,
"path" : "framework/infrastructure/emailing.md"
} ,
{
@ -446,7 +495,7 @@
"text" : "Event Bus" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/infrastructure/event-bus"
} ,
{
@ -455,8 +504,11 @@
} ,
{
"text" : "Distributed Event Bus" ,
"path" : "framework/infrastructure/event-bus/distributed" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/infrastructure/event-bus/distributed"
} ,
{
"text" : "Azure Service Bus Integration" ,
"path" : "framework/infrastructure/event-bus/distributed/azure.md"
@ -519,8 +571,11 @@
} ,
{
"text" : "Text Templating" ,
"path" : "framework/infrastructure/text-templating" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/infrastructure/text-templating"
} ,
{
"text" : "Razor Integration" ,
"path" : "framework/infrastructure/text-templating/razor.md"
@ -543,13 +598,16 @@
} ,
{
"text" : "Architecture" ,
"path" : "framework/architecture" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/architecture"
} ,
{
"text" : "Best Practices" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/architecture/best-practices"
} ,
{
@ -559,6 +617,10 @@
{
"text" : "Domain Layer" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/architecture/best-practices/domain-layer-overview.md"
} ,
{
"text" : "Entities" ,
"path" : "framework/architecture/best-practices/entities.md"
@ -576,6 +638,10 @@
{
"text" : "Application Layer" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/architecture/best-practices/application-layer-overview.md"
} ,
{
"text" : "Application Services" ,
"path" : "framework/architecture/best-practices/application-services.md"
@ -589,6 +655,10 @@
{
"text" : "Data Access" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/architecture/best-practices/data-access-overview.md"
} ,
{
"text" : "Entity Framework Core Integration" ,
"path" : "framework/architecture/best-practices/entity-framework-core-integration.md"
@ -605,7 +675,7 @@
"text" : "Modularity" ,
"items" : [
{
"text" : "Basics " ,
"text" : "Overview " ,
"path" : "framework/architecture/modularity/basics.md"
} ,
{
@ -616,7 +686,7 @@
"text" : "Customizing/Extending Modules" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/architecture/modularity/extending/customizing-application-modules-guide.md"
} ,
{
@ -639,12 +709,16 @@
"text" : "Domain Driven Design" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/architecture/domain-driven-design"
} ,
{
"text" : "Domain Layer" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/architecture/domain-driven-design/domain-layer.md"
} ,
{
"text" : "Entities & Aggregate Roots" ,
"path" : "framework/architecture/domain-driven-design/entities.md"
@ -670,6 +744,10 @@
{
"text" : "Application Layer" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/architecture/domain-driven-design/application-layer.md"
} ,
{
"text" : "Application Services" ,
"path" : "framework/architecture/domain-driven-design/application-services.md"
@ -703,9 +781,17 @@
{
"text" : "API Development" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/api-development/overview.md"
} ,
{
"text" : "ABP Endpoints" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/api-development/standard-apis/overview.md"
} ,
{
"text" : "Application Configuration" ,
"path" : "framework/api-development/standard-apis/configuration.md"
@ -745,11 +831,15 @@
{
"text" : "User Interface" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/ui/overview.md"
} ,
{
"text" : "MVC / Razor Pages" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/mvc-razor-pages/overall.md"
} ,
{
@ -794,8 +884,11 @@
} ,
{
"text" : "Tag Helpers" ,
"path" : "framework/ui/mvc-razor-pages/tag-helpers" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/ui/mvc-razor-pages/tag-helpers"
} ,
{
"text" : "Form Elements" ,
"path" : "framework/ui/mvc-razor-pages/tag-helpers/form-elements.md"
@ -832,8 +925,11 @@
} ,
{
"text" : "Theming" ,
"path" : "framework/ui/mvc-razor-pages/theming.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/ui/mvc-razor-pages/theming.md"
} ,
{
"text" : "The Basic Theme" ,
"path" : "framework/ui/mvc-razor-pages/basic-theme.md"
@ -848,7 +944,7 @@
"text" : "JavaScript API" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/mvc-razor-pages/javascript-api"
} ,
{
@ -909,7 +1005,7 @@
"text" : "Customize/Extend the UI" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/mvc-razor-pages/customization-user-interface.md"
} ,
{
@ -941,7 +1037,7 @@
"text" : "Blazor" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/blazor/overall.md"
} ,
{
@ -960,7 +1056,7 @@
"text" : "Theming" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/blazor/theming.md"
} ,
{
@ -1272,7 +1368,7 @@
"text" : "Theming" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/angular/theming.md"
} ,
{
@ -1305,7 +1401,7 @@
"text" : "Extensions" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/angular/extensions-overall.md"
} ,
{
@ -1355,7 +1451,7 @@
"text" : "React Native" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/react-native"
}
]
@ -1364,7 +1460,7 @@
"text" : "MAUI" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/ui/maui"
}
]
@ -1393,13 +1489,16 @@
"text" : "Data Access" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "framework/data"
} ,
{
"text" : "Entity Framework Core" ,
"path" : "framework/data/entity-framework-core" ,
"items" : [
{
"text" : "Overview" ,
"path" : "framework/data/entity-framework-core"
} ,
{
"text" : "Database Migrations" ,
"path" : "framework/data/entity-framework-core/migrations.md"
@ -1467,7 +1566,7 @@
"text" : "Solution Templates" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "solution-templates"
} ,
{
@ -1492,7 +1591,7 @@
"text" : "Application Modules" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "modules"
} ,
{
@ -1557,8 +1656,11 @@
} ,
{
"text" : "IdentityServer" ,
"path" : "modules/identity-server.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "modules/identity-server.md"
} ,
{
"text" : "IdentityServer Migration Guide" ,
"path" : "release-info/migration-guides/identityserver4-step-by-step.md"
@ -1575,8 +1677,11 @@
} ,
{
"text" : "OpenIddict" ,
"path" : "modules/openiddict.md" ,
"items" : [
{
"text" : "Overview" ,
"path" : "modules/openiddict.md"
} ,
{
"text" : "OpenIddict Migration Guide" ,
"path" : "release-info/migration-guides/openiddict-step-by-step.md"
@ -1633,6 +1738,10 @@
{
"text" : "UI Themes" ,
"items" : [
{
"text" : "Overview" ,
"path" : "ui-themes/index.md"
} ,
{
"text" : "The Basic Theme" ,
"path" : "framework/ui/mvc-razor-pages/basic-theme.md"
@ -1647,7 +1756,7 @@
"text" : "Testing" ,
"items" : [
{
"text" : "Overall " ,
"text" : "Overview " ,
"path" : "testing/overall.md"
} ,
{
@ -1666,8 +1775,11 @@
} ,
{
"text" : "Deployment" ,
"path" : "deployment" ,
"items" : [
{
"text" : "Overview" ,
"path" : "deployment"
} ,
{
"text" : "Configuring SSL certificate(HTTPS)" ,
"path" : "deployment/ssl.md"
@ -1718,6 +1830,10 @@
{
"text" : "Books" ,
"items" : [
{
"text" : "Overview" ,
"path" : "https://abp.io/books"
} ,
{
"text" : "Mastering ABP Framework" ,
"path" : "https://abp.io/books/mastering-abp-framework"
@ -1731,6 +1847,10 @@
{
"text" : "Release Information" ,
"items" : [
{
"text" : "Overview" ,
"path" : "release-info/overview.md"
} ,
{
"text" : "Release Notes" ,
"path" : "release-info/release-notes.md"