{ "items": [ { "text": "Get started", "items": [ { "text": "Overview", "path": "get-started" }, { "text": "Single-layer solution", "path": "get-started/single-layer-web-application.md" }, { "text": "Layered solution", "path": "get-started/layered-web-application.md" }, { "text": "Microservice solution", "path": "get-started/microservice.md" }, { "text": "Others", "items": [ { "text": "Empty ASP.NET Core application", "path": "get-started/empty-aspnet-core-application.md" }, { "text": "MAUI application", "path": "get-started/maui.md" }, { "text": "WPF application", "path": "get-started/wpf.md" }, { "text": "Console application", "path": "get-started/console.md" } ] } ] }, { "text": "Tutorials", "items": [ { "text": "Overview", "path": "tutorials" }, { "text": "TODO Application", "items": [ { "text": "Overview", "path": "tutorials/todo" }, { "text": "Single-layer solution", "path": "tutorials/todo/single-layer" }, { "text": "Layered solution", "path": "tutorials/todo/layered" } ] }, { "text": "Book Store Application", "items": [ { "text": "Overview", "path": "tutorials/book-store" }, { "text": "1: Creating the server side", "path": "tutorials/book-store/part-01.md" }, { "text": "2: The Book List page", "path": "tutorials/book-store/part-02.md" }, { "text": "3: Creating, updating and deleting books", "path": "tutorials/book-store/part-03.md" }, { "text": "4: Integration tests", "path": "tutorials/book-store/part-04.md" }, { "text": "5: Authorization", "path": "tutorials/book-store/part-05.md" }, { "text": "6: Authors: Domain layer", "path": "tutorials/book-store/part-06.md" }, { "text": "7: Authors: Database integration", "path": "tutorials/book-store/part-07.md" }, { "text": "8: Authors: Application layer", "path": "tutorials/book-store/part-08.md" }, { "text": "9: Authors: User interface", "path": "tutorials/book-store/part-09.md" }, { "text": "10: Book to author relation", "path": "tutorials/book-store/part-10.md" } ] }, { "text": "Modular Monolith Application", "items": [ { "text": "Overview", "path": "tutorials/modular-crm/index.md" }, { "text": "1: Creating the initial solution", "path": "tutorials/modular-crm/part-01.md" }, { "text": "2: Creating the initial Products module", "path": "tutorials/modular-crm/part-02.md" }, { "text": "3: Building the Products module", "path": "tutorials/modular-crm/part-03.md" }, { "text": "4: Creating the initial Ordering module", "path": "tutorials/modular-crm/part-04.md" }, { "text": "5: Building the Ordering module", "path": "tutorials/modular-crm/part-05.md" }, { "text": "6: Integrating the modules: Implementing Integration Services", "path": "tutorials/modular-crm/part-06.md" }, { "text": "7: Integrating the modules: Communication via Messages (Events)", "path": "tutorials/modular-crm/part-07.md" }, { "text": "8: Integrating the modules: Joining the Products and Orders Data", "path": "tutorials/modular-crm/part-08.md" } ] }, { "text": "Community Articles", "path": "https://abp.io/community" } ] }, { "text": "Tools", "items": [ { "text": "Overview", "path": "tools.md" }, { "text": "ABP CLI", "items": [ { "text": "Overview", "path": "cli" }, { "text": "Examples for the new command", "path": "cli/new-command-samples.md" } ] }, { "text": "ABP Studio", "items": [ { "text": "Overview", "path": "studio" }, { "text": "Installation", "path": "studio/installation.md" }, { "text": "Fundamentals", "items": [ { "text": "Overview", "path": "studio/overview.md" }, { "text": "Solution Explorer", "path": "studio/solution-explorer.md" }, { "text": "Running Applications", "path": "studio/running-applications.md" }, { "text": "Monitoring Applications", "path": "studio/monitoring-applications.md" }, { "text": "Working with Kubernetes", "path": "studio/kubernetes.md" }, { "text": "Working with ABP Suite", "path": "studio/working-with-suite.md" } ] }, { "text": "Concepts", "path": "studio/concepts.md" }, { "text": "Version Compatibility", "path": "studio/version-compatibility.md" }, { "text": "Release Notes", "path": "studio/release-notes.md" } ] }, { "text": "ABP Suite", "items": [ { "text": "Overview", "path": "suite" }, { "text": "How to Install", "path": "suite/how-to-install.md" }, { "text": "How to Start", "path": "suite/how-to-start.md" }, { "text": "Adding Existing ABP Solution", "path": "suite/add-solution.md" }, { "text": "Creating new ABP solution", "path": "suite/create-solution.md" }, { "text": "Generating CRUD Page", "items": [ { "text": "Overview", "path": "suite/generating-crud-page.md" }, { "text": "Creating Many-To-Many Relationship", "path": "suite/creating-many-to-many-relationship.md" }, { "text": "Generating from an Existing Database", "path": "suite/generating-entities-from-an-existing-database-table.md" }, { "text": "Creating Master Detail Relationship", "path": "suite/creating-master-detail-relationship.md" } ] }, { "text": "Customizing the Generated Code", "path": "suite/customizing-the-generated-code.md" }, { "text": "Accessing Source Code of Modules", "path": "suite/source-code.md" }, { "text": "Updating Packages", "path": "suite/updating-packages.md" }, { "text": "Configuration", "path": "suite/configuration.md" }, { "text": "Editing Templates", "path": "suite/editing-templates.md" }, { "text": "How to uninstall", "path": "suite/how-to-uninstall.md" } ] } ] }, { "text": "Framework", "items": [ { "text": "Fundamentals", "items": [ { "text": "Overview", "path": "framework/fundamentals" }, { "text": "Application Startup", "path": "framework/fundamentals/application-startup.md" }, { "text": "Authorization", "items": [ { "text": "Overview", "path": "framework/fundamentals/authorization.md" }, { "text": "Dynamic Claims", "path": "framework/fundamentals/dynamic-claims.md" } ] }, { "text": "Caching", "items": [ { "text": "Overview", "path": "framework/fundamentals/caching.md" }, { "text": "Redis Cache", "path": "framework/fundamentals/redis-cache.md" } ] }, { "text": "Configuration", "path": "framework/fundamentals/configuration.md" }, { "text": "Connection Strings", "path": "framework/fundamentals/connection-strings.md" }, { "text": "Dependency Injection", "items": [ { "text": "Overview", "path": "framework/fundamentals/dependency-injection.md" }, { "text": "AutoFac Integration", "path": "framework/fundamentals/autofac-integration.md" } ] }, { "text": "Exception Handling", "path": "framework/fundamentals/exception-handling.md" }, { "text": "Localization", "path": "framework/fundamentals/localization.md" }, { "text": "Logging", "path": "framework/fundamentals/logging.md" }, { "text": "Object Extensions", "path": "framework/fundamentals/object-extensions.md" }, { "text": "Options", "path": "framework/fundamentals/options.md" }, { "text": "Validation", "items": [ { "text": "Overview", "path": "framework/fundamentals/validation.md" }, { "text": "FluentValidation Integration", "path": "framework/fundamentals/fluent-validation.md" } ] } ] }, { "text": "Infrastructure", "items": [ { "text": "Overview", "path": "framework/infrastructure" }, { "text": "Audit Logging", "path": "framework/infrastructure/audit-logging.md" }, { "text": "Background Jobs", "items": [ { "text": "Overview", "path": "framework/infrastructure/background-jobs" }, { "text": "Hangfire Integration", "path": "framework/infrastructure/background-jobs/hangfire.md" }, { "text": "RabbitMQ Integration", "path": "framework/infrastructure/background-jobs/rabbitmq.md" }, { "text": "Quartz Integration", "path": "framework/infrastructure/background-jobs/quartz.md" } ] }, { "text": "Background Workers", "items": [ { "text": "Overview", "path": "framework/infrastructure/background-workers" }, { "text": "Quartz Integration", "path": "framework/infrastructure/background-workers/quartz.md" }, { "text": "Hangfire Integration", "path": "framework/infrastructure/background-workers/hangfire.md" } ] }, { "text": "BLOB Storing", "items": [ { "text": "Overview", "path": "framework/infrastructure/blob-storing" }, { "text": "Storage Providers", "items": [ { "text": "File System Provider", "path": "framework/infrastructure/blob-storing/file-system.md" }, { "text": "Database Provider", "path": "framework/infrastructure/blob-storing/database.md" }, { "text": "Azure Provider", "path": "framework/infrastructure/blob-storing/azure.md" }, { "text": "Aliyun Provider", "path": "framework/infrastructure/blob-storing/aliyun.md" }, { "text": "Minio Provider", "path": "framework/infrastructure/blob-storing/minio.md" }, { "text": "AWS Provider", "path": "framework/infrastructure/blob-storing/aws.md" }, { "text": "Create a Custom Provider", "path": "framework/infrastructure/blob-storing/custom-provider.md" } ] } ] }, { "text": "Cancellation Token Provider", "path": "framework/infrastructure/cancellation-token-provider.md" }, { "text": "CSRF/XSRF & Anti Forgery", "path": "framework/infrastructure/csrf-anti-forgery.md" }, { "text": "Concurrency Check", "path": "framework/infrastructure/concurrency-check.md" }, { "text": "Current User", "path": "framework/infrastructure/current-user.md" }, { "text": "Data Filtering", "path": "framework/infrastructure/data-filtering.md" }, { "text": "Data Seeding", "path": "framework/infrastructure/data-seeding.md" }, { "text": "Distributed Locking", "path": "framework/infrastructure/distributed-locking.md" }, { "text": "Email Sending", "items": [ { "text": "Overview", "path": "framework/infrastructure/emailing.md" }, { "text": "MailKit Integration", "path": "framework/infrastructure/mail-kit.md" } ] }, { "text": "Entity Cache", "path": "framework/infrastructure/entity-cache.md" }, { "text": "Event Bus", "items": [ { "text": "Overview", "path": "framework/infrastructure/event-bus" }, { "text": "Local Event Bus", "path": "framework/infrastructure/event-bus/local" }, { "text": "Distributed Event Bus", "items": [ { "text": "Overview", "path": "framework/infrastructure/event-bus/distributed" }, { "text": "Azure Service Bus Integration", "path": "framework/infrastructure/event-bus/distributed/azure.md" }, { "text": "RabbitMQ Integration", "path": "framework/infrastructure/event-bus/distributed/rabbitmq.md" }, { "text": "Kafka Integration", "path": "framework/infrastructure/event-bus/distributed/kafka.md" }, { "text": "Rebus Integration", "path": "framework/infrastructure/event-bus/distributed/rebus.md" } ] } ] }, { "text": "Features", "path": "framework/infrastructure/features.md" }, { "text": "Global Features", "path": "framework/infrastructure/global-features.md" }, { "text": "GUID Generation", "path": "framework/infrastructure/guid-generation.md" }, { "text": "Image Manipulation", "path": "framework/infrastructure/image-manipulation.md" }, { "text": "JSON", "path": "framework/infrastructure/json.md" }, { "text": "Object to Object Mapping", "path": "framework/infrastructure/object-to-object-mapping.md" }, { "text": "Settings", "path": "framework/infrastructure/settings.md" }, { "text": "Simple State Checker", "path": "framework/infrastructure/simple-state-checker.md" }, { "text": "SMS Sending", "path": "framework/infrastructure/sms-sending.md" }, { "text": "String Encryption", "path": "framework/infrastructure/string-encryption.md" }, { "text": "Text Templating", "items": [ { "text": "Overview", "path": "framework/infrastructure/text-templating" }, { "text": "Razor Integration", "path": "framework/infrastructure/text-templating/razor.md" }, { "text": "Scriban Integration", "path": "framework/infrastructure/text-templating/scriban.md" } ] }, { "text": "Timing", "path": "framework/infrastructure/timing.md" }, { "text": "Virtual File System", "path": "framework/infrastructure/virtual-file-system.md" } ] }, { "text": "Architecture", "items": [ { "text": "Overview", "path": "framework/architecture" }, { "text": "Best Practices", "items": [ { "text": "Overview", "path": "framework/architecture/best-practices" }, { "text": "Module Architecture", "path": "framework/architecture/best-practices/module-architecture.md" }, { "text": "Domain Layer", "items": [ { "text": "Overview", "path": "framework/architecture/best-practices/domain-layer-overview.md" }, { "text": "Entities", "path": "framework/architecture/best-practices/entities.md" }, { "text": "Repositories", "path": "framework/architecture/best-practices/repositories.md" }, { "text": "Domain Services", "path": "framework/architecture/best-practices/domain-services.md" } ] }, { "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" }, { "text": "Data Transfer Objects", "path": "framework/architecture/best-practices/data-transfer-objects.md" } ] }, { "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" }, { "text": "MongoDB Integration", "path": "framework/architecture/best-practices/mongodb-integration.md" } ] } ] }, { "text": "Modularity", "items": [ { "text": "Overview", "path": "framework/architecture/modularity/basics.md" }, { "text": "Plug-In Modules", "path": "framework/architecture/modularity/plugin-modules.md" }, { "text": "Customizing/Extending Modules", "items": [ { "text": "Overview", "path": "framework/architecture/modularity/extending/customizing-application-modules-guide.md" }, { "text": "Module Entity Extension System", "path": "framework/architecture/modularity/extending/module-entity-extensions.md" }, { "text": "Customizing/Extending Entities", "path": "framework/architecture/modularity/extending/customizing-application-modules-extending-entities.md" }, { "text": "Customizing/Overriding Services", "path": "framework/architecture/modularity/extending/customizing-application-modules-overriding-services.md" } ] } ] }, { "text": "Domain Driven Design", "items": [ { "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" }, { "text": "Value Objects", "path": "framework/architecture/domain-driven-design/value-objects.md" }, { "text": "Repositories", "path": "framework/architecture/domain-driven-design/repositories.md" }, { "text": "Domain Services", "path": "framework/architecture/domain-driven-design/domain-services.md" }, { "text": "Specifications", "path": "framework/architecture/domain-driven-design/specifications.md" } ] }, { "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" }, { "text": "Data Transfer Objects", "path": "framework/architecture/domain-driven-design/data-transfer-objects.md" }, { "text": "Unit Of Work", "path": "framework/architecture/domain-driven-design/unit-of-work.md" } ] }, { "text": "E-Book: Implementing DDD", "path": "https://abp.io/books/implementing-domain-driven-design" } ] }, { "text": "Multi Tenancy", "path": "framework/architecture/multi-tenancy" }, { "text": "Microservices", "path": "framework/architecture/microservices" } ] }, { "text": "API Development", "items": [ { "text": "Overview", "path": "framework/api-development" }, { "text": "ABP Endpoints", "items": [ { "text": "Overview", "path": "framework/api-development/standard-apis" }, { "text": "Application Configuration", "path": "framework/api-development/standard-apis/configuration.md" }, { "text": "Application Localization", "path": "framework/api-development/standard-apis/localization.md" } ] }, { "text": "API Versioning", "path": "framework/api-development/versioning.md" }, { "text": "Auto API Controllers", "path": "framework/api-development/auto-controllers.md" }, { "text": "Dynamic C# API Clients", "path": "framework/api-development/dynamic-csharp-clients.md" }, { "text": "Integration Services", "path": "framework/api-development/integration-services.md" }, { "text": "Static C# API Clients", "path": "framework/api-development/static-csharp-clients.md" }, { "text": "Swagger Integration", "path": "framework/api-development/swagger.md" } ] }, { "text": "User Interface", "items": [ { "text": "Overview", "path": "framework/ui" }, { "text": "MVC / Razor Pages", "items": [ { "text": "Overview", "path": "framework/ui/mvc-razor-pages/overall" }, { "text": "Navigation / Menus", "path": "framework/ui/mvc-razor-pages/navigation-menu.md" }, { "text": "Forms & Validation", "path": "framework/ui/mvc-razor-pages/forms-validation.md" }, { "text": "Modals", "path": "framework/ui/mvc-razor-pages/modals.md" }, { "text": "Data Tables", "path": "framework/ui/mvc-razor-pages/data-tables.md" }, { "text": "Auto-Complete Select", "path": "framework/ui/mvc-razor-pages/auto-complete-select.md" }, { "text": "Page Alerts", "path": "framework/ui/mvc-razor-pages/page-alerts.md" }, { "text": "Dynamic JavaScript API Client Proxies", "path": "framework/ui/mvc-razor-pages/dynamic-javascript-proxies.md" }, { "text": "Static JavaScript API Client Proxies", "path": "framework/ui/mvc-razor-pages/static-javascript-proxies.md" }, { "text": "Client Side Package Management", "path": "framework/ui/mvc-razor-pages/client-side-package-management.md" }, { "text": "Bundling & Minification", "path": "framework/ui/mvc-razor-pages/bundling-minification.md" }, { "text": "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" }, { "text": "Dynamic Forms", "path": "framework/ui/mvc-razor-pages/tag-helpers/dynamic-forms.md" } ] }, { "text": "Widgets", "path": "framework/ui/mvc-razor-pages/widgets.md" }, { "text": "Toolbars", "path": "framework/ui/mvc-razor-pages/toolbars.md" }, { "text": "Page Header", "path": "framework/ui/mvc-razor-pages/page-header.md" }, { "text": "Branding", "path": "framework/ui/mvc-razor-pages/branding.md" }, { "text": "Layout Hooks", "path": "framework/ui/mvc-razor-pages/layout-hooks.md" }, { "text": "Testing", "path": "framework/ui/mvc-razor-pages/testing.md" }, { "text": "Theming", "items": [ { "text": "Overview", "path": "framework/ui/mvc-razor-pages/theming.md" }, { "text": "The Basic Theme", "path": "framework/ui/mvc-razor-pages/basic-theme.md" }, { "text": "LeptonX", "path": "ui-themes/lepton-x/mvc.md" } ] }, { "text": "JavaScript API", "items": [ { "text": "Overview", "path": "framework/ui/mvc-razor-pages/javascript-api" }, { "text": "Localization", "path": "framework/ui/mvc-razor-pages/javascript-api/localization.md" }, { "text": "Auth", "path": "framework/ui/mvc-razor-pages/javascript-api/auth.md" }, { "text": "Current User", "path": "framework/ui/mvc-razor-pages/javascript-api/current-user.md" }, { "text": "Settings", "path": "framework/ui/mvc-razor-pages/javascript-api/settings.md" }, { "text": "Features", "path": "framework/ui/mvc-razor-pages/javascript-api/features.md" }, { "text": "AJAX", "path": "framework/ui/mvc-razor-pages/javascript-api/ajax.md" }, { "text": "Message", "path": "framework/ui/mvc-razor-pages/javascript-api/message.md" }, { "text": "Notify", "path": "framework/ui/mvc-razor-pages/javascript-api/notify.md" }, { "text": "Block/Busy", "path": "framework/ui/mvc-razor-pages/javascript-api/block-busy.md" }, { "text": "Events", "path": "framework/ui/mvc-razor-pages/javascript-api/events.md" }, { "text": "DOM", "path": "framework/ui/mvc-razor-pages/javascript-api/dom.md" }, { "text": "Logging", "path": "framework/ui/mvc-razor-pages/javascript-api/logging.md" }, { "text": "Resource Loader", "path": "framework/ui/mvc-razor-pages/javascript-api/resource-loader.md" } ] }, { "text": "Customize/Extend the UI", "items": [ { "text": "Overview", "path": "framework/ui/mvc-razor-pages/customization-user-interface.md" }, { "text": "Entity Action Extensions", "path": "framework/ui/mvc-razor-pages/entity-action-extensions.md" }, { "text": "Data Table Column Extensions", "path": "framework/ui/mvc-razor-pages/data-table-column-extensions.md" }, { "text": "Page Toolbar Extensions", "path": "framework/ui/mvc-razor-pages/page-toolbar-extensions.md" } ] }, { "text": "Security", "items": [ { "text": "Security Headers", "path": "framework/ui/mvc-razor-pages/security-headers.md" } ] } ] }, { "text": "Blazor", "items": [ { "text": "Overview", "path": "framework/ui/blazor/overall.md" }, { "text": "Navigation / Menu", "path": "framework/ui/blazor/navigation-menu.md" }, { "text": "Forms & Validation", "path": "framework/ui/blazor/forms-validation.md" }, { "text": "Localization", "path": "framework/ui/blazor/localization.md" }, { "text": "Theming", "items": [ { "text": "Overview", "path": "framework/ui/blazor/theming.md" }, { "text": "The Basic Theme", "path": "framework/ui/blazor/basic-theme.md" }, { "text": "LeptonX Lite", "path": "ui-themes/lepton-x-lite/blazor.md" }, { "text": "Branding", "path": "framework/ui/blazor/branding.md" }, { "text": "Page Header", "path": "framework/ui/blazor/page-header.md" }, { "text": "Page Layout", "path": "framework/ui/blazor/page-layout.md" }, { "text": "Toolbars", "path": "framework/ui/blazor/toolbars.md" } ] }, { "text": "Security", "items": [ { "text": "Authentication", "path": "framework/ui/blazor/authentication.md" }, { "text": "Authorization", "path": "framework/ui/blazor/authorization.md" } ] }, { "text": "Services", "items": [ { "text": "Current User", "path": "framework/ui/blazor/current-user.md" }, { "text": "Current Tenant", "path": "framework/ui/blazor/current-tenant.md" }, { "text": "Notification", "path": "framework/ui/blazor/notification.md" }, { "text": "Message", "path": "framework/ui/blazor/message.md" }, { "text": "Page Alerts", "path": "framework/ui/blazor/page-alerts.md" }, { "text": "Page Progress", "path": "framework/ui/blazor/page-progress.md" }, { "text": "Block/Busy", "path": "framework/ui/blazor/block-busy.md" } ] }, { "text": "Other Components", "items": [ { "text": "SubmitButton", "path": "framework/ui/blazor/components/submit-button.md" } ] }, { "text": "Settings", "path": "framework/ui/blazor/settings.md" }, { "text": "Error Handling", "path": "framework/ui/blazor/error-handling.md" }, { "text": "Customization / Overriding Components", "path": "framework/ui/blazor/customization-overriding-components.md" }, { "text": "Global Scripts & Styles", "path": "framework/ui/blazor/global-scripts-styles.md" }, { "text": "Global Features", "path": "framework/ui/blazor/global-features.md" }, { "text": "Routing", "path": "framework/ui/blazor/routing.md" }, { "text": "PWA Configuration", "path": "framework/ui/blazor/pwa-configuration.md" }, { "text": "Layout Hooks", "path": "framework/ui/blazor/layout-hooks.md" } ] }, { "text": "Angular", "items": [ { "text": "Overview", "path": "framework/ui/angular/overview.md" }, { "text": "Quick Start", "path": "framework/ui/angular/quick-start.md" }, { "text": "Development", "items": [ { "text": "Environment Variables", "path": "framework/ui/angular/environment.md" }, { "text": "About Feature Libraries", "path": "framework/ui/angular/feature-libraries.md" }, { "text": "Service Proxies", "path": "framework/ui/angular/service-proxies.md" }, { "text": "PWA Configuration", "path": "framework/ui/angular/pwa-configuration.md" }, { "text": "Unit Testing", "path": "framework/ui/angular/testing.md" } ] }, { "text": "Core Functionality", "items": [ { "text": "Config State Service", "path": "framework/ui/angular/config-state-service.md" }, { "text": "Authorization", "path": "framework/ui/angular/authorization.md" }, { "text": "Current User", "path": "framework/ui/angular/current-user.md" }, { "text": "HTTP Requests", "items": [ { "text": "How to Make HTTP Requests", "path": "framework/ui/angular/http-requests.md" }, { "text": "Customize Error Handling", "path": "framework/ui/angular/http-error-handling.md" } ] }, { "text": "Localization", "path": "framework/ui/angular/localization.md" }, { "text": "Form Validation", "path": "framework/ui/angular/form-validation.md" }, { "text": "Settings", "path": "framework/ui/angular/settings.md" }, { "text": "Features", "path": "framework/ui/angular/features.md" }, { "text": "Global Features", "path": "framework/ui/angular/global-features.md" }, { "text": "Permission Management", "path": "framework/ui/angular/permission-management.md" }, { "text": "Multi Tenancy", "path": "framework/ui/angular/multi-tenancy.md" }, { "text": "Account Module", "path": "framework/ui/angular/account-module.md" } ] }, { "text": "Utilities", "items": [ { "text": "Managing RxJS Subscriptions", "path": "framework/ui/angular/subscription-service.md" }, { "text": "Working with Lists", "path": "framework/ui/angular/list-service.md" }, { "text": "Easy *ngFor trackBy", "path": "framework/ui/angular/track-by-service.md" }, { "text": "Router Events", "path": "framework/ui/angular/router-events.md" }, { "text": "Inserting Scripts & Styles to DOM", "path": "framework/ui/angular/dom-insertion-service.md" }, { "text": "Lazy Loading Scripts & Styles", "path": "framework/ui/angular/lazy-load-service.md" }, { "text": "Projecting Angular Content", "path": "framework/ui/angular/content-projection-service.md" }, { "text": "Modal", "path": "framework/ui/angular/modal.md" }, { "text": "Confirmation Popup", "path": "framework/ui/angular/confirmation-service.md" }, { "text": "Loading Directive", "path": "framework/ui/angular/loading-directive.md" }, { "text": "Show Password Directive", "path": "framework/ui/angular/show-password-directive.md" }, { "text": "Caps Lock Directive", "path": "framework/ui/angular/caps-lock-directive.md" }, { "text": "Toast Overlay", "path": "framework/ui/angular/toaster-service.md" }, { "text": "Page Alerts", "path": "framework/ui/angular/page-alerts.md" }, { "text": "Ellipsis", "path": "framework/ui/angular/ellipsis-directive.md" }, { "text": "Context Strategy", "path": "framework/ui/angular/context-strategy.md" }, { "text": "Cross Origin Strategy", "path": "framework/ui/angular/cross-origin-strategy.md" }, { "text": "Dom Strategy", "path": "framework/ui/angular/dom-strategy.md" }, { "text": "Container Strategy", "path": "framework/ui/angular/container-strategy.md" }, { "text": "Content Security Strategy", "path": "framework/ui/angular/content-security-strategy.md" }, { "text": "Abp Window Service", "path": "framework/ui/angular/abp-window-service.md" } ] }, { "text": "Customization", "items": [ { "text": "Customization Guide", "path": "framework/ui/angular/customization-user-interface.md" }, { "text": "Theming", "items": [ { "text": "Overview", "path": "framework/ui/angular/theming.md" }, { "text": "Configuration", "path": "framework/ui/angular/theme-configurations.md" }, { "text": "The Basic Theme", "path": "framework/ui/angular/basic-theme.md" }, { "text": "LeptonX Lite", "path": "ui-themes/lepton-x-lite/angular.md" } ] }, { "text": "Modifying the Menu", "path": "framework/ui/angular/modifying-the-menu.md" }, { "text": "Manage Profile Page Tabs", "path": "framework/ui/angular/manage-profile-page-tabs.md" }, { "text": "Sorting Navigation Elements", "path": "framework/ui/angular/sorting-navigation-elements.md" }, { "text": "Component Replacement", "path": "framework/ui/angular/component-replacement.md" }, { "text": "Extensions", "items": [ { "text": "Overview", "path": "framework/ui/angular/extensions-overall.md" }, { "text": "Entity Action Extensions", "path": "framework/ui/angular/entity-action-extensions.md" }, { "text": "Data Table Column Extensions", "path": "framework/ui/angular/data-table-column-extensions.md" }, { "text": "Page Toolbar Extensions", "path": "framework/ui/angular/page-toolbar-extensions.md" }, { "text": "Dynamic Form Extensions", "path": "framework/ui/angular/dynamic-form-extensions.md" }, { "text": "Date, time and datetime format pipes", "path": "framework/ui/angular/datetime-format-pipe.md" } ] } ] }, { "text": "Components", "items": [ { "text": "Page", "path": "framework/ui/angular/page-component.md" }, { "text": "Chart", "path": "framework/ui/angular/chart-component.md" }, { "text": "Card", "path": "framework/ui/angular/card-component.md" }, { "text": "Password Complexity Indicator", "path": "framework/ui/angular/password-complexity-indicator-component.md" }, { "text": "Lookup Components(Pro)", "path": "framework/ui/angular/lookup-components.md" }, { "text": "Entity Filters(Pro)", "path": "framework/ui/angular/entity-filters.md" } ] } ] }, { "text": "React Native", "items": [ { "text": "Overview", "path": "framework/ui/react-native" } ] }, { "text": "MAUI", "items": [ { "text": "Overview", "path": "framework/ui/maui" } ] }, { "text": "Common", "items": [ { "text": "Overriding the User Interface", "path": "framework/architecture/modularity/extending/overriding-user-interface.md" }, { "text": "Utilities", "items": [ { "text": "Linked List (Doubly)", "path": "framework/ui/common/utils/linked-list.md" } ] } ] } ] }, { "text": "Data Access", "items": [ { "text": "Overview", "path": "framework/data" }, { "text": "Entity Framework Core", "items": [ { "text": "Overview", "path": "framework/data/entity-framework-core" }, { "text": "Database Migrations", "path": "framework/data/entity-framework-core/migrations.md" }, { "text": "Switch DBMS", "path": "framework/data/entity-framework-core/other-dbms.md", "items": [ { "text": "To MySQL", "path": "framework/data/entity-framework-core/mysql.md" }, { "text": "To PostgreSQL", "path": "framework/data/entity-framework-core/postgresql.md" }, { "text": "To Oracle", "path": "framework/data/entity-framework-core/oracle.md", "items": [ { "text": "Oracle (Official)", "path": "framework/data/entity-framework-core/oracle-official.md" }, { "text": "Oracle (Devart)", "path": "framework/data/entity-framework-core/oracle-devart.md" } ] }, { "text": "To SQLite", "path": "framework/data/entity-framework-core/sqlite.md" } ] } ] }, { "text": "MongoDB", "path": "framework/data/mongodb" }, { "text": "Dapper", "path": "framework/data/dapper" } ] }, { "text": "Real Time", "items": [ { "text": "SignalR Integration", "path": "framework/real-time/signalr.md" } ] }, { "text": "Dapr Integration", "path": "framework/dapr" } ] }, { "text": "Solution Templates", "items": [ { "text": "Overview", "path": "solution-templates" }, { "text": "Single-Layer Solution", "path": "solution-templates/single-layer-web-application" }, { "text": "Layered Solution", "path": "solution-templates/layered-web-application" }, { "text": "Microservice Solution", "path": "solution-templates/microservice" }, { "text": "Application Module", "path": "solution-templates/application-module" } ] }, { "text": "Application Modules", "items": [ { "text": "Overview", "path": "modules" }, { "text": "Account", "path": "modules/account.md" }, { "text": "Account (Pro)", "path": "modules/account-pro.md" }, { "text": "Audit Logging", "path": "modules/audit-logging.md" }, { "text": "Audit Logging (Pro)", "path": "modules/audit-logging-pro.md" }, { "text": "Background Jobs", "path": "modules/background-jobs.md" }, { "text": "Chat (Pro)", "path": "modules/chat.md" }, { "text": "CMS Kit", "path": "modules/cms-kit" }, { "text": "CMS Kit (Pro)", "path": "modules/cms-kit-pro" }, { "text": "Docs", "path": "modules/docs.md" }, { "text": "Feature Management", "path": "modules/feature-management.md" }, { "text": "File Management (Pro)", "path": "modules/file-management.md" }, { "text": "Forms (Pro)", "path": "modules/forms.md" }, { "text": "GDPR (Pro)", "path": "modules/gdpr.md" }, { "text": "Identity", "path": "modules/identity.md" }, { "text": "Identity (Pro)", "path": "modules/identity-pro.md" }, { "text": "IdentityServer", "items": [ { "text": "Overview", "path": "modules/identity-server.md" }, { "text": "IdentityServer Migration Guide", "path": "release-info/migration-guides/identityserver4-step-by-step.md" } ] }, { "text": "IdentityServer (Pro)", "path": "modules/identity-server-pro.md" }, { "text": "Language Management (Pro)", "path": "modules/language-management.md" }, { "text": "OpenIddict", "items": [ { "text": "Overview", "path": "modules/openiddict.md" }, { "text": "OpenIddict Migration Guide", "path": "release-info/migration-guides/openiddict-step-by-step.md" } ] }, { "text": "OpenIddict (Pro)", "path": "modules/openiddict-pro.md" }, { "text": "Payment (Pro)", "path": "modules/payment.md" }, { "text": "Permission Management", "path": "modules/permission-management.md" }, { "text": "SaaS (Pro)", "path": "modules/saas.md" }, { "text": "Setting Management", "path": "modules/setting-management.md" }, { "text": "Tenant Management", "path": "modules/tenant-management.md" }, { "text": "Text template management (Pro)", "path": "modules/text-template-management.md" }, { "text": "Twilio SMS (Pro)", "path": "modules/twilio-sms.md" }, { "text": "Virtual File Explorer", "path": "modules/virtual-file-explorer.md" }, { "text": "Common", "items": [ { "text": "Database Tables", "path": "modules/database-tables.md" } ] } ] }, { "text": "UI Themes", "items": [ { "text": "Overview", "path": "ui-themes" }, { "text": "The Basic Theme", "path": "framework/ui/mvc-razor-pages/basic-theme.md" }, { "text": "LeptonX Theme", "path": "ui-themes/lepton-x" } ] }, { "text": "Testing", "items": [ { "text": "Overview", "path": "testing/overall.md" }, { "text": "Unit tests", "path": "testing/unit-tests.md" }, { "text": "Integration tests", "path": "testing/integration-tests.md" }, { "text": "UI tests", "path": "testing/ui-tests.md" } ] }, { "text": "Deployment", "items": [ { "text": "Overview", "path": "deployment" }, { "text": "Configuring SSL certificate(HTTPS)", "path": "deployment/ssl.md" }, { "text": "Configuring OpenIddict", "path": "deployment/configuring-openiddict.md" }, { "text": "Configuring for Production", "path": "deployment/configuring-production.md" }, { "text": "Deploying to a Clustered Environment", "path": "deployment/clustered-environment.md" }, { "text": "Distributed / Microservice Solutions", "path": "deployment/distributed-microservice.md" }, { "text": "Optimizing for Production", "path": "deployment/optimizing-production.md" } ] }, { "text": "Samples", "items": [ { "text": "Overview", "path": "samples" }, { "text": "eShopOnAbp", "path": "https://github.com/abpframework/eShopOnAbp" }, { "text": "EventHub", "path": "https://github.com/abpframework/eventhub" }, { "text": "Easy CRM", "path": "samples/easy-crm.md" } ] }, { "text": "Books", "items": [ { "text": "Overview", "path": "https://abp.io/books" }, { "text": "Mastering ABP Framework", "path": "https://abp.io/books/mastering-abp-framework" }, { "text": "Implementing Domain Driven Design", "path": "https://abp.io/books/implementing-domain-driven-design" } ] }, { "text": "Release Information", "items": [ { "text": "Overview", "path": "release-info" }, { "text": "Release Notes", "path": "release-info/release-notes.md" }, { "text": "Migration Guides", "path": "release-info/migration-guides" }, { "text": "Road Map", "path": "release-info/road-map.md" }, { "text": "Upgrading", "path": "release-info/upgrading.md" }, { "text": "Preview Releases", "path": "release-info/previews.md" }, { "text": "Nightly Builds", "path": "release-info/nightly-builds.md" }, { "text": "Official Packages", "path": "https://abp.io/packages" } ] }, { "text": "Others", "items": [ { "text": "API Documentation", "path": "{ApiDocumentationUrl}" }, { "text": "Contribution Guide", "path": "contribution" }, { "text": "Why ABP Platform?", "path": "others/why-abp-platform.md" }, { "text": "Free license vs Pro licenses?", "path": "others/free-licenses-vs-pro-licenses.md" }, { "text": "Penetration Test Report", "path": "others/penetration-test-report.md" }, { "text": "ASP.NET Zero vs ABP", "path": "others/aspnet-zero-vs-abp.md" }, { "text": "Migrating from Open Source Templates", "path": "guides/migrating-from-open-source.md" }, { "text": "Migrating from IdentityServer to OpenIddict", "path": "release-info/migration-guides/openiddict-step-by-step.md" }, { "text": "Migrating from the ASP.NET Boilerplate", "path": "others/aspnet-boilerplate-migration-guide.md" } ] } ] }