diff --git a/docs/en/apps/volo-docs.md b/docs/en/apps/volo-docs.md index d33914f513..0178c1c6bb 100644 --- a/docs/en/apps/volo-docs.md +++ b/docs/en/apps/volo-docs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "VoloDocs simplifies documentation creation with GitHub integration, supporting Markdown, versioning, and collaborative editing across platforms." +} +``` + # VoloDocs ## What is VoloDocs? diff --git a/docs/en/cli/build-command.md b/docs/en/cli/build-command.md index d9620aa621..9fcff53e3c 100644 --- a/docs/en/cli/build-command.md +++ b/docs/en/cli/build-command.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently build .NET projects with the ABP Framework's build command, handling complex dependencies and configurations seamlessly." +} +``` + # Build Command Building a .NET project is hard when the project references a project reference outside of the solution or even from a different GIT repository. This command builds a GIT repository and it's depending repositories or a single .NET solution File. In order ```build``` command to work, its **executing directory** or passed ```--working-directory``` parameter's directory must contain one of; diff --git a/docs/en/cli/differences-between-old-and-new-cli.md b/docs/en/cli/differences-between-old-and-new-cli.md index 095d4fc316..299c863051 100644 --- a/docs/en/cli/differences-between-old-and-new-cli.md +++ b/docs/en/cli/differences-between-old-and-new-cli.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the differences between the old and new ABP CLI, including features and commands, to enhance your ABP development experience." +} +``` + # Old ABP CLI vs New ABP CLI ABP CLI (Command Line Interface) is a command line tool to perform some common operations for ABP based solutions or ABP Studio features. With **v8.2+**, the old/legacy ABP CLI has been replaced with a new [CLI](index.md) system to align with the new templating system and [ABP Studio](../studio/index.md). Also, some superior features/commands have been introduced with the new CLI, such as `kube-connect` and `kube-intercept` commands. diff --git a/docs/en/cli/index.md b/docs/en/cli/index.md index ec0fe0accb..9e70f96fd3 100644 --- a/docs/en/cli/index.md +++ b/docs/en/cli/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to install and use the new ABP CLI for streamlined operations in ABP-based solutions, enhancing your development experience!" +} +``` + # ABP CLI ABP CLI (Command Line Interface) is a command line tool to perform some common operations for ABP based solutions or ABP Studio features. diff --git a/docs/en/cli/new-command-samples.md b/docs/en/cli/new-command-samples.md index 5aa65f4d18..7c26e724a4 100644 --- a/docs/en/cli/new-command-samples.md +++ b/docs/en/cli/new-command-samples.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore sample commands to create ABP solutions using the ABP CLI, including Angular projects and database options for developers." +} +``` + # ABP CLI - New Solution Sample Commands The `abp new` command creates an ABP solution or other artifacts based on an ABP template. [ABP CLI](../cli/index.md) has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are `Acme.BookStore`. Currently, the available mobile projects are `React Native` and `MAUI` mobile app (they are *available for* ***Team*** *or higher licenses*). Available database providers are `Entity Framework Core` and `MongoDB`. All the commands starts with `abp new`. diff --git a/docs/en/contribution/angular-ui.md b/docs/en/contribution/angular-ui.md index b39ee8ad0c..6aefa43fa8 100644 --- a/docs/en/contribution/angular-ui.md +++ b/docs/en/contribution/angular-ui.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to set up and contribute to Angular UI in the ABP Framework with essential tools, commands, and guidelines for developers." +} +``` + # Contribution Guide for the Angular UI ## Pre-requirements diff --git a/docs/en/contribution/index.md b/docs/en/contribution/index.md index 504078f09f..3a016890aa 100644 --- a/docs/en/contribution/index.md +++ b/docs/en/contribution/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Join the ABP community! This guide outlines how to contribute code and articles to enhance the ABP Framework." +} +``` + # Contribution Guide ABP is an [open source](https://github.com/abpframework) and community driven project. This guide is aims to help anyone wants to contribute to the project. diff --git a/docs/en/deployment/clustered-environment.md b/docs/en/deployment/clustered-environment.md index 0c4aa3daca..8c99b7ad8d 100644 --- a/docs/en/deployment/clustered-environment.md +++ b/docs/en/deployment/clustered-environment.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively deploy your ABP application in a clustered environment, ensuring smooth operation across multiple instances." +} +``` + # Deploying to a Clustered Environment This document explains the topics that you should consider when deploying your application to a clustered environment where multiple instances of your application run concurrently. diff --git a/docs/en/deployment/configuring-openIddict.md b/docs/en/deployment/configuring-openIddict.md index eb62f3ec3f..321d8503c9 100644 --- a/docs/en/deployment/configuring-openIddict.md +++ b/docs/en/deployment/configuring-openIddict.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure OpenIddict in your AuthServer project for both Development and Production environments with this comprehensive guide." +} +``` + # Configuring OpenIddict This document introduces how to configure `OpenIddict` in the `AuthServer` project. diff --git a/docs/en/deployment/configuring-production.md b/docs/en/deployment/configuring-production.md index 1480f933fe..557b671614 100644 --- a/docs/en/deployment/configuring-production.md +++ b/docs/en/deployment/configuring-production.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to optimize your ABP application for production with essential configurations and caching strategies for better performance." +} +``` + # Configuring Your Application for Production Environments ABP predefines the configurations for the best performance for common deployment scenarios. diff --git a/docs/en/deployment/distributed-microservice.md b/docs/en/deployment/distributed-microservice.md index 1a020b1e1b..5db2b4e660 100644 --- a/docs/en/deployment/distributed-microservice.md +++ b/docs/en/deployment/distributed-microservice.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy distributed and microservice solutions with ABP, ensuring seamless communication and effective application management." +} +``` + # Deploying Distributed / Microservice Solutions ABP is designed for distributed and microservice systems, where multiple applications and/or services communicate internally. All of its features are compatible with distributed scenarios. This document highlights some points you should consider when deploying your distributed or microservice solution. diff --git a/docs/en/deployment/forwarded-headers.md b/docs/en/deployment/forwarded-headers.md index b6b74205c3..54abd43bfc 100644 --- a/docs/en/deployment/forwarded-headers.md +++ b/docs/en/deployment/forwarded-headers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to handle common issues with reverse proxies in ASP.NET Core using forwarded headers middleware for your ABP applications." +} +``` + # Forwarded Headers Reverse proxies and load balancers play a crucial role in modern web application architectures. When an application is deployed behind these proxies and load balancers, several specific issues can arise. This document will discuss these issues in detail, explain how ASP.NET Core's forwarded headers middleware can address them, and provide a code example for configuring forwarded headers in an ABP application. diff --git a/docs/en/deployment/index.md b/docs/en/deployment/index.md index 245c8bdaf0..933da06de2 100644 --- a/docs/en/deployment/index.md +++ b/docs/en/deployment/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively deploy your ABP applications with essential guides on SSL, OpenIddict, and best practices for .NET environments." +} +``` + # Deployment Deploying an ABP application is not different than deploying any .NET or ASP.NET Core application. You can deploy it to a cloud provider (e.g., Azure, AWS, Google Could) or an on-premise server, IIS or any other web server. ABP's documentation doesn't contain much information on deployment. You can refer to your provider's documentation. diff --git a/docs/en/deployment/optimizing-production.md b/docs/en/deployment/optimizing-production.md index d6689b77fe..c6b3e4b21e 100644 --- a/docs/en/deployment/optimizing-production.md +++ b/docs/en/deployment/optimizing-production.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to optimize your ABP applications for production with caching strategies and best practices for maximum performance." +} +``` + # Optimizing Your Application for Production Environments ABP and the startup solution templates are configured well to get the maximum performance on production environments. diff --git a/docs/en/deployment/ssl.md b/docs/en/deployment/ssl.md index 27c83ea80f..515aac4c38 100644 --- a/docs/en/deployment/ssl.md +++ b/docs/en/deployment/ssl.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to obtain and configure an SSL certificate for your application to enhance security, trust, and ownership verification." +} +``` + # Configuring SSL certificate(HTTPS) A website needs an SSL certificate to keep user data secure, verify ownership, prevent attackers from creating a fake version of the site, and gain user trust. diff --git a/docs/en/framework/api-development/auto-controllers.md b/docs/en/framework/api-development/auto-controllers.md index d52c5e4d7f..b40718b079 100644 --- a/docs/en/framework/api-development/auto-controllers.md +++ b/docs/en/framework/api-development/auto-controllers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to automatically create API controllers in ABP Framework, simplifying your application's REST API setup with minimal configuration." +} +``` + # Auto API Controllers Once you create an [application service](../architecture/domain-driven-design/application-services.md), you generally want to create an API controller to expose this service as an HTTP (REST) API endpoint. A typical API controller does nothing but redirects method calls to the application service and configures the REST API using attributes like [HttpGet], [HttpPost], [Route]... etc. diff --git a/docs/en/framework/api-development/dynamic-csharp-clients.md b/docs/en/framework/api-development/dynamic-csharp-clients.md index a5dc2ec1cf..d560b536eb 100644 --- a/docs/en/framework/api-development/dynamic-csharp-clients.md +++ b/docs/en/framework/api-development/dynamic-csharp-clients.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use ABP's dynamic C# API client proxies for seamless HTTP service calls, simplifying authentication, serialization, and error handling." +} +``` + # Dynamic C# API Client Proxies ABP can dynamically create C# API client proxies to call your remote HTTP services (REST APIs). In this way, you don't need to deal with `HttpClient` and other low level details to call remote services and get results. diff --git a/docs/en/framework/api-development/index.md b/docs/en/framework/api-development/index.md index 1d9736388f..15dd6a824f 100644 --- a/docs/en/framework/api-development/index.md +++ b/docs/en/framework/api-development/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore comprehensive guidance on building HTTP APIs with ABP, covering endpoints, versioning, auto controllers, and more." +} +``` + # API Development The following documents explain the concepts, infrastructure and integrations to build HTTP APIs with ABP: diff --git a/docs/en/framework/api-development/integration-services.md b/docs/en/framework/api-development/integration-services.md index 2514be37de..0bc532e643 100644 --- a/docs/en/framework/api-development/integration-services.md +++ b/docs/en/framework/api-development/integration-services.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how Integration Services facilitate communication between microservices, enhancing your ABP Framework applications with seamless integration." +} +``` + # Integration Services The *Integration Service* concept was created to distinguish the [application services](../architecture/domain-driven-design/application-services.md) that are built for inter-module (or inter-microservice) communication from the application services that are intended to be consumed from a UI or a client application. diff --git a/docs/en/framework/api-development/standard-apis/configuration.md b/docs/en/framework/api-development/standard-apis/configuration.md index c1470fcf71..8be57834d6 100644 --- a/docs/en/framework/api-development/standard-apis/configuration.md +++ b/docs/en/framework/api-development/standard-apis/configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use ABP's Application Configuration Endpoint to access user permissions, settings, and tenant info for your application." +} +``` + # Application Configuration Endpoint ABP provides a pre-built and standard endpoint that contains some useful information about the application/service. Here, is the list of some fundamental information at this endpoint: diff --git a/docs/en/framework/api-development/standard-apis/index.md b/docs/en/framework/api-development/standard-apis/index.md index 531d76bbd9..316151e765 100644 --- a/docs/en/framework/api-development/standard-apis/index.md +++ b/docs/en/framework/api-development/standard-apis/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's standard HTTP API endpoints for easy access to application configuration and localization information." +} +``` + # Standard HTTP API Endpoints ABP provides some pre-built and standard endpoints that contains useful information about the application or service, such as localization entries and settings. Here, is the list of the pre-built endpoints: diff --git a/docs/en/framework/api-development/standard-apis/localization.md b/docs/en/framework/api-development/standard-apis/localization.md index 57e2e939c5..f98ee44aff 100644 --- a/docs/en/framework/api-development/standard-apis/localization.md +++ b/docs/en/framework/api-development/standard-apis/localization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize ABP's application localization endpoint to fetch localization resources and enhance your UI application effectively." +} +``` + # Application Localization Endpoint ABP provides a pre-built and standard endpoint that returns all the [localization](../../fundamentals/localization.md) resources and texts defined in the server. diff --git a/docs/en/framework/api-development/static-csharp-clients.md b/docs/en/framework/api-development/static-csharp-clients.md index c8eaea4231..efb36f2a40 100644 --- a/docs/en/framework/api-development/static-csharp-clients.md +++ b/docs/en/framework/api-development/static-csharp-clients.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create Static C# API client proxies with ABP for seamless HTTP service calls, simplifying authentication, serialization, and error handling." +} +``` + # Static C# API Client Proxies ABP can create C# API client proxy code to call your remote HTTP services (REST APIs). In this way, you don't need to deal with `HttpClient` and other low level details to call remote services and get results. diff --git a/docs/en/framework/api-development/swagger.md b/docs/en/framework/api-development/swagger.md index 1699e4d0d2..cb0e8245c0 100644 --- a/docs/en/framework/api-development/swagger.md +++ b/docs/en/framework/api-development/swagger.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Swagger with ABP Framework for seamless REST API documentation and service connectivity with minimal setup." +} +``` + # Swagger Integration [Swagger (OpenAPI)](https://swagger.io/) is a language-agnostic specification for describing REST APIs. It allows both computers and humans to understand the capabilities of a REST API without direct access to the source code. Its main goals are to: diff --git a/docs/en/framework/api-development/versioning.md b/docs/en/framework/api-development/versioning.md index 9acdd5a888..3a46d63af8 100644 --- a/docs/en/framework/api-development/versioning.md +++ b/docs/en/framework/api-development/versioning.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement API versioning in ABP Framework, enabling seamless integration with ASP.NET while supporting static client proxies." +} +``` + # API Versioning System ABP integrates the [ASPNET-API-Versioning](https://github.com/dotnet/aspnet-api-versioning/wiki) feature and adapts to C# and JavaScript Static Client Proxies and [Auto API Controller](./auto-controllers.md). diff --git a/docs/en/framework/architecture/best-practices/application-layer-overview.md b/docs/en/framework/architecture/best-practices/application-layer-overview.md index f834d02615..dc124911f8 100644 --- a/docs/en/framework/architecture/best-practices/application-layer-overview.md +++ b/docs/en/framework/architecture/best-practices/application-layer-overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore best practices for implementing the application layer in your solution with Domain Driven Design principles." +} +``` + # Best Practices: Application Layer The following documents suggest some best-practices that you can use while implementing the application layer of your solution by following the Domain Driven Design principles: diff --git a/docs/en/framework/architecture/best-practices/application-services.md b/docs/en/framework/architecture/best-practices/application-services.md index efe937e956..4cbd453076 100644 --- a/docs/en/framework/architecture/best-practices/application-services.md +++ b/docs/en/framework/architecture/best-practices/application-services.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore best practices for implementing Application Services in ABP Framework, ensuring effective use of Domain-Driven Design principles." +} +``` + # Application Services Best Practices & Conventions > This document offers best practices for implementing Application Services classes in your modules and applications based on Domain-Driven-Design principles. diff --git a/docs/en/framework/architecture/best-practices/data-access-overview.md b/docs/en/framework/architecture/best-practices/data-access-overview.md index 28dd6b274d..a782127157 100644 --- a/docs/en/framework/architecture/best-practices/data-access-overview.md +++ b/docs/en/framework/architecture/best-practices/data-access-overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore best practices for data access in your solutions using Entity Framework Core and MongoDB, aligned with Domain Driven Design principles." +} +``` + # Best Practices: Data Access The following documents suggest some best-practices that you can use while implementing the database integration layer of your solution by following Domain Driven Design principles: diff --git a/docs/en/framework/architecture/best-practices/data-transfer-objects.md b/docs/en/framework/architecture/best-practices/data-transfer-objects.md index 96194b4adb..e3735168c7 100644 --- a/docs/en/framework/architecture/best-practices/data-transfer-objects.md +++ b/docs/en/framework/architecture/best-practices/data-transfer-objects.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore best practices for implementing Data Transfer Objects in your applications, guided by Domain-Driven Design principles." +} +``` + # Data Transfer Objects Best Practices & Conventions > This document offers best practices for implementing Data Transfer Object classes in your modules and applications based on Domain-Driven-Design principles. diff --git a/docs/en/framework/architecture/best-practices/domain-layer-overview.md b/docs/en/framework/architecture/best-practices/domain-layer-overview.md index bfdd286c28..8abde65765 100644 --- a/docs/en/framework/architecture/best-practices/domain-layer-overview.md +++ b/docs/en/framework/architecture/best-practices/domain-layer-overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover best practices for implementing the domain layer using Domain Driven Design principles, including entities, repositories, and domain services." +} +``` + # Best Practices: Domain Layer The following documents suggest some best-practices that you can use while implementing the domain layer of your solution by following the Domain Driven Design principles: diff --git a/docs/en/framework/architecture/best-practices/domain-services.md b/docs/en/framework/architecture/best-practices/domain-services.md index 55c731d207..2b068b1955 100644 --- a/docs/en/framework/architecture/best-practices/domain-services.md +++ b/docs/en/framework/architecture/best-practices/domain-services.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn best practices for implementing Domain Services in your applications, guided by Domain-Driven Design principles." +} +``` + # Domain Services Best Practices & Conventions > This document offers best practices for implementing Domain Service classes in your modules and applications based on Domain-Driven-Design principles. diff --git a/docs/en/framework/architecture/best-practices/entities.md b/docs/en/framework/architecture/best-practices/entities.md index cc4b0e2a21..b96e9c1a9d 100644 --- a/docs/en/framework/architecture/best-practices/entities.md +++ b/docs/en/framework/architecture/best-practices/entities.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore best practices for implementing Aggregate Root and Entity classes in your applications using Domain-Driven Design principles." +} +``` + # Entity Best Practices & Conventions > This document offers best practices for implementing Aggregate Root and Entity classes in your modules and applications based on Domain-Driven-Design principles. diff --git a/docs/en/framework/architecture/best-practices/entity-framework-core-integration.md b/docs/en/framework/architecture/best-practices/entity-framework-core-integration.md index 960e0e69e4..e95e2ccbb5 100644 --- a/docs/en/framework/architecture/best-practices/entity-framework-core-integration.md +++ b/docs/en/framework/architecture/best-practices/entity-framework-core-integration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover best practices for integrating Entity Framework Core in your applications, ensuring optimal performance and maintainability." +} +``` + # Entity Framework Core Integration Best Practices > This document offers best practices for implementing Entity Framework Core integration in your modules and applications. diff --git a/docs/en/framework/architecture/best-practices/index.md b/docs/en/framework/architecture/best-practices/index.md index 1dc84838c6..aec04828ba 100644 --- a/docs/en/framework/architecture/best-practices/index.md +++ b/docs/en/framework/architecture/best-practices/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore best practices for developing ABP Framework modules, focusing on Domain Driven Design, DBMS independence, and microservice compatibility." +} +``` + # Module Development Best Practices & Conventions This document describes the **best practices** and **conventions** for those who want to develop **modules** that satisfy the following specifications: diff --git a/docs/en/framework/architecture/best-practices/module-architecture.md b/docs/en/framework/architecture/best-practices/module-architecture.md index c168b77f87..345c7d65fd 100644 --- a/docs/en/framework/architecture/best-practices/module-architecture.md +++ b/docs/en/framework/architecture/best-practices/module-architecture.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover best practices for structuring ABP modules with clear conventions on solution architecture, layered design, and package dependencies." +} +``` + # Module Architecture Best Practices & Conventions ## Solution Structure diff --git a/docs/en/framework/architecture/best-practices/mongodb-integration.md b/docs/en/framework/architecture/best-practices/mongodb-integration.md index 1930984e2e..11aa9f9ba4 100644 --- a/docs/en/framework/architecture/best-practices/mongodb-integration.md +++ b/docs/en/framework/architecture/best-practices/mongodb-integration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn best practices for integrating MongoDB in your ABP Framework applications with clear guidelines on defining MongoDbContext." +} +``` + # MongoDB Integration > This document offers best practices for implementing MongoDB integration in your modules and applications. diff --git a/docs/en/framework/architecture/best-practices/repositories.md b/docs/en/framework/architecture/best-practices/repositories.md index 227c620f45..80d80cfc4d 100644 --- a/docs/en/framework/architecture/best-practices/repositories.md +++ b/docs/en/framework/architecture/best-practices/repositories.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover best practices for implementing repository classes in your applications, grounded in Domain-Driven Design principles." +} +``` + # Repository Best Practices & Conventions > This document offers best practices for implementing Repository classes in your modules and applications based on Domain-Driven-Design principles. diff --git a/docs/en/framework/architecture/domain-driven-design/application-layer.md b/docs/en/framework/architecture/domain-driven-design/application-layer.md index 97b4cc718b..a4e1d6fb56 100644 --- a/docs/en/framework/architecture/domain-driven-design/application-layer.md +++ b/docs/en/framework/architecture/domain-driven-design/application-layer.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Application Layer in Domain Driven Design, learn about its components, and how it facilitates application logic in ABP Framework." +} +``` + # Domain Driven Design: Application Layer Application Layer mediates between the Presentation and Domain Layers. Orchestrates business objects to perform specific application tasks and implements use cases as the application logic. Here, is the list of the building blocks of the Application Layer: diff --git a/docs/en/framework/architecture/domain-driven-design/application-services.md b/docs/en/framework/architecture/domain-driven-design/application-services.md index 4d32f853dd..9a8235a6b0 100644 --- a/docs/en/framework/architecture/domain-driven-design/application-services.md +++ b/docs/en/framework/architecture/domain-driven-design/application-services.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement application services in the ABP Framework to expose domain logic and streamline presentation layer interactions." +} +``` + # Application Services Application services are used to implement the **use cases** of an application. They are used to **expose domain logic to the presentation layer**. diff --git a/docs/en/framework/architecture/domain-driven-design/data-transfer-objects.md b/docs/en/framework/architecture/domain-driven-design/data-transfer-objects.md index 8816411a5b..716b53e027 100644 --- a/docs/en/framework/architecture/domain-driven-design/data-transfer-objects.md +++ b/docs/en/framework/architecture/domain-driven-design/data-transfer-objects.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how Data Transfer Objects (DTOs) enhance data handling between application and presentation layers, ensuring clean architecture and abstraction." +} +``` + # Data Transfer Objects **Data Transfer Objects** (DTO) are used to transfer data between the **Application Layer** and the **Presentation Layer** or other type of clients. diff --git a/docs/en/framework/architecture/domain-driven-design/domain-layer.md b/docs/en/framework/architecture/domain-driven-design/domain-layer.md index 7a83b634b8..c14a6e91f6 100644 --- a/docs/en/framework/architecture/domain-driven-design/domain-layer.md +++ b/docs/en/framework/architecture/domain-driven-design/domain-layer.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Domain Layer in Domain Driven Design, featuring essential building blocks like Entities, Value Objects, and Domain Services." +} +``` + # Domain Driven Design: Domain Layer Domain Layer contains business objects and the core (domain) business rules of the application and it's the heart of the application. Here, is the list of building blocks of the Domain Layer: diff --git a/docs/en/framework/architecture/domain-driven-design/domain-services.md b/docs/en/framework/architecture/domain-driven-design/domain-services.md index 36bd732a3c..9f13b2c605 100644 --- a/docs/en/framework/architecture/domain-driven-design/domain-services.md +++ b/docs/en/framework/architecture/domain-driven-design/domain-services.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement Domain Services in ABP Framework for core business logic, enhancing your Domain Driven Design solutions effectively." +} +``` + # Domain Services In a [Domain Driven Design](../domain-driven-design) (DDD) solution, the core business logic is generally implemented in aggregates ([entities](./entities.md)) and the Domain Services. Creating a Domain Service is especially needed when; diff --git a/docs/en/framework/architecture/domain-driven-design/entities.md b/docs/en/framework/architecture/domain-driven-design/entities.md index 8be960c773..df727a61ba 100644 --- a/docs/en/framework/architecture/domain-driven-design/entities.md +++ b/docs/en/framework/architecture/domain-driven-design/entities.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about entities in DDD, their structure, and best practices for using GUID keys in the ABP Framework for effective data modeling." +} +``` + # Entities Entities are one of the core concepts of DDD (Domain Driven Design). Eric Evans describes it as "*An object that is not fundamentally defined by its attributes, but rather by a thread of continuity and identity*". diff --git a/docs/en/framework/architecture/domain-driven-design/index.md b/docs/en/framework/architecture/domain-driven-design/index.md index a15b9c11e0..938d25043a 100644 --- a/docs/en/framework/architecture/domain-driven-design/index.md +++ b/docs/en/framework/architecture/domain-driven-design/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how ABP Framework simplifies Domain Driven Design (DDD) for developers with structured layers and collaboration for complex software needs." +} +``` + # Domain Driven Design ## What is DDD? diff --git a/docs/en/framework/architecture/domain-driven-design/repositories.md b/docs/en/framework/architecture/domain-driven-design/repositories.md index 9050e7d3c3..de3d3d232a 100644 --- a/docs/en/framework/architecture/domain-driven-design/repositories.md +++ b/docs/en/framework/architecture/domain-driven-design/repositories.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use repositories in ABP Framework for effective data access and CRUD operations on domain objects." +} +``` + # Repositories "*Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects*" (Martin Fowler). diff --git a/docs/en/framework/architecture/domain-driven-design/specifications.md b/docs/en/framework/architecture/domain-driven-design/specifications.md index 867080b86e..5f15c42d56 100644 --- a/docs/en/framework/architecture/domain-driven-design/specifications.md +++ b/docs/en/framework/architecture/domain-driven-design/specifications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the Specification Pattern in your ABP projects for creating reusable and testable filters for your entities." +} +``` + # Specifications Specification Pattern is used to define **named, reusable, combinable and testable filters** for entities and other business objects. diff --git a/docs/en/framework/architecture/domain-driven-design/unit-of-work.md b/docs/en/framework/architecture/domain-driven-design/unit-of-work.md index 9b9931b210..697d7dba80 100644 --- a/docs/en/framework/architecture/domain-driven-design/unit-of-work.md +++ b/docs/en/framework/architecture/domain-driven-design/unit-of-work.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP's Unit of Work simplifies database transactions, ensuring consistency across operations in any application type." +} +``` + # Unit of Work ABP's Unit Of Work (UOW) implementation provides an abstraction and control on a **database connection and transaction** scope in an application. diff --git a/docs/en/framework/architecture/domain-driven-design/value-objects.md b/docs/en/framework/architecture/domain-driven-design/value-objects.md index aa0d75dc5a..125f5f96ac 100644 --- a/docs/en/framework/architecture/domain-driven-design/value-objects.md +++ b/docs/en/framework/architecture/domain-driven-design/value-objects.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about Value Objects in domain-driven design, how to implement them in your projects, and why they matter for clean architecture." +} +``` + # Value Objects > An object that represents a descriptive aspect of the domain with no conceptual identity is called a VALUE OBJECT. diff --git a/docs/en/framework/architecture/index.md b/docs/en/framework/architecture/index.md index 06df5bd78b..85e11631dd 100644 --- a/docs/en/framework/architecture/index.md +++ b/docs/en/framework/architecture/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP's opinionated yet flexible architecture for building enterprise software, featuring modularity and comprehensive tools for developers." +} +``` + # ABP Architecture ABP offers an **opinionated architecture** to build enterprise software solutions. In this way, the solution structure and development model is pretty well defined. All the solution templates, tooling, pre-built modules, guides and documentation are compatible to that development model. diff --git a/docs/en/framework/architecture/microservices/index.md b/docs/en/framework/architecture/microservices/index.md index a6e9091f2d..5f85208924 100644 --- a/docs/en/framework/architecture/microservices/index.md +++ b/docs/en/framework/architecture/microservices/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore microservice architecture and learn how it enhances modularity, scalability, and continuous delivery for efficient application development." +} +``` + # Microservice Architecture *"Microservices are a software development technique—a variant of the **service-oriented architecture** (SOA) architectural style that structures an application as a collection of **loosely coupled services**. In a microservices architecture, services are **fine-grained** and the protocols are **lightweight**. The benefit of decomposing an application into different smaller services is that it improves **modularity**. This makes the application easier to understand, develop, test, and become more resilient to architecture erosion. It **parallelizes development** by enabling small autonomous teams to **develop, deploy and scale** their respective services independently. It also allows the architecture of an individual service to emerge through **continuous refactoring**. Microservices-based architectures enable **continuous delivery and deployment**."* diff --git a/docs/en/framework/architecture/modularity/basics.md b/docs/en/framework/architecture/modularity/basics.md index f92e6edc3b..4c6b10e915 100644 --- a/docs/en/framework/architecture/modularity/basics.md +++ b/docs/en/framework/architecture/modularity/basics.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to build modular applications with ABP Framework, including best practices, templates, and CLI support for seamless development." +} +``` + # Modularity ## Introduction diff --git a/docs/en/framework/architecture/modularity/extending/customizing-application-modules-extending-entities.md b/docs/en/framework/architecture/modularity/extending/customizing-application-modules-extending-entities.md index 034c5b6956..c46ec6d7b4 100644 --- a/docs/en/framework/architecture/modularity/extending/customizing-application-modules-extending-entities.md +++ b/docs/en/framework/architecture/modularity/extending/customizing-application-modules-extending-entities.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to extend entities in ABP Framework by adding extra properties to seamlessly customize your application modules." +} +``` + # Customizing the Application Modules: Extending Entities In some cases, you may want to add some additional properties (and database fields) for an entity defined in a depended module. This section will cover some different approaches to make this possible. diff --git a/docs/en/framework/architecture/modularity/extending/customizing-application-modules-guide.md b/docs/en/framework/architecture/modularity/extending/customizing-application-modules-guide.md index 87a1ba0f4f..1d6c5ffe99 100644 --- a/docs/en/framework/architecture/modularity/extending/customizing-application-modules-guide.md +++ b/docs/en/framework/architecture/modularity/extending/customizing-application-modules-guide.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize and reuse ABP's pre-built application modules for efficient and modular application development." +} +``` + # Customizing the Existing Modules ABP has been designed to support to build fully [modular applications](../../modularity/basics.md) and systems. It also provides some [pre-built application modules](../../../../modules) those are **ready to use** in any kind of application. diff --git a/docs/en/framework/architecture/modularity/extending/customizing-application-modules-overriding-services.md b/docs/en/framework/architecture/modularity/extending/customizing-application-modules-overriding-services.md index dbc2f48d5f..4327d99e55 100644 --- a/docs/en/framework/architecture/modularity/extending/customizing-application-modules-overriding-services.md +++ b/docs/en/framework/architecture/modularity/extending/customizing-application-modules-overriding-services.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize ABP application modules by overriding services using dependency injection for tailored business logic." +} +``` + # Customizing the Application Modules: Overriding Services You may need to **change behavior (business logic)** of a depended module for your application. In this case, you can use the power of the [dependency injection system](../../../fundamentals/dependency-injection.md) to replace a service, controller or even a page model of the depended module by your own implementation. diff --git a/docs/en/framework/architecture/modularity/extending/module-entity-extensions.md b/docs/en/framework/architecture/modularity/extending/module-entity-extensions.md index 8a5b50652e..77d1c22974 100644 --- a/docs/en/framework/architecture/modularity/extending/module-entity-extensions.md +++ b/docs/en/framework/architecture/modularity/extending/module-entity-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to extend existing entities in ABP Framework modules by adding new properties seamlessly across the entire system." +} +``` + # Module Entity Extensions Module entity extension system is a **high level** extension system that allows you to **define new properties** for existing entities of the depended modules. It automatically **adds properties to the entity, database, HTTP API and the user interface** in a single point. diff --git a/docs/en/framework/architecture/modularity/extending/overriding-user-interface.md b/docs/en/framework/architecture/modularity/extending/overriding-user-interface.md index 62e77e908c..3beb02fff8 100644 --- a/docs/en/framework/architecture/modularity/extending/overriding-user-interface.md +++ b/docs/en/framework/architecture/modularity/extending/overriding-user-interface.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize and override the user interface for ABP Framework modules using various UI frameworks like ASP.NET Core, Angular, and Blazor." +} +``` + # Overriding the User Interface You may want to override a page, a component, a JavaScript, CSS or an image file of your depended module. Overriding the UI completely depends on the UI framework you're using. Select the UI framework to continue: diff --git a/docs/en/framework/architecture/modularity/plugin-modules.md b/docs/en/framework/architecture/modularity/plugin-modules.md index c4c7c51d04..ba23d6e4fa 100644 --- a/docs/en/framework/architecture/modularity/plugin-modules.md +++ b/docs/en/framework/architecture/modularity/plugin-modules.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to load modules as plug-ins in your ABP Framework application, enabling flexible module management without direct assembly references." +} +``` + # Plug-In Modules It is possible to load [modules](../modularity/basics.md) as plug-ins. That means you may not reference to a module's assembly in your solution, but you can load that module in the application startup just like any other module. diff --git a/docs/en/framework/architecture/multi-tenancy/index.md b/docs/en/framework/architecture/multi-tenancy/index.md index 0a035d110d..0964700ebd 100644 --- a/docs/en/framework/architecture/multi-tenancy/index.md +++ b/docs/en/framework/architecture/multi-tenancy/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP Framework enables developers to build powerful multi-tenant applications, optimizing resource sharing for SaaS solutions." +} +``` + # Multi-Tenancy Multi-Tenancy is a widely used architecture to create **SaaS applications** where the hardware and software **resources are shared by the customers** (tenants). ABP provides all the base functionalities to create **multi tenant applications**. diff --git a/docs/en/framework/dapr/index.md b/docs/en/framework/dapr/index.md index 8083cc8813..c83b4f65f9 100644 --- a/docs/en/framework/dapr/index.md +++ b/docs/en/framework/dapr/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Dapr with ABP Framework for streamlined microservice communication and enhanced developer experience." +} +``` + # ABP Dapr Integration > This document assumes that you are already familiar with [Dapr](https://dapr.io/) and you want to use it in your ABP based applications. diff --git a/docs/en/framework/data/dapper/index.md b/docs/en/framework/data/dapper/index.md index 840246eb0f..d9a823714b 100644 --- a/docs/en/framework/data/dapper/index.md +++ b/docs/en/framework/data/dapper/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Dapper with ABP Framework for high-performance data access, simplifying repository creation while leveraging EF Core." +} +``` + # Dapper Integration [Dapper](https://github.com/DapperLib/Dapper) is a simple and lightweight object mapper for .NET. A key feature of Dapper is its [high performance](https://github.com/DapperLib/Dapper#performance) compared to other ORMs. diff --git a/docs/en/framework/data/entity-framework-core/index.md b/docs/en/framework/data/entity-framework-core/index.md index 293e58daad..e77183f6c0 100644 --- a/docs/en/framework/data/entity-framework-core/index.md +++ b/docs/en/framework/data/entity-framework-core/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Entity Framework Core with ABP applications, including installation and configuration for seamless database management." +} +``` + # Entity Framework Core Integration This document explains how to integrate EF Core as an ORM provider to ABP based applications and how to configure it. diff --git a/docs/en/framework/data/entity-framework-core/migrations.md b/docs/en/framework/data/entity-framework-core/migrations.md index 93a5e3905f..173fc32d4b 100644 --- a/docs/en/framework/data/entity-framework-core/migrations.md +++ b/docs/en/framework/data/entity-framework-core/migrations.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize database migrations in EF Core with the ABP Framework, enhancing your application's structure and management." +} +``` + # EF Core Database Migrations This document begins by **introducing the default structure** provided by [the application startup template](../../../solution-templates/layered-web-application) and **discusses various scenarios** you may want to implement for your own application. diff --git a/docs/en/framework/data/entity-framework-core/mysql.md b/docs/en/framework/data/entity-framework-core/mysql.md index 7760598414..14f8be22dd 100644 --- a/docs/en/framework/data/entity-framework-core/mysql.md +++ b/docs/en/framework/data/entity-framework-core/mysql.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your ABP Framework application to the MySQL database provider, replacing the default SQL Server setup effortlessly." +} +``` + # Switch to EF Core MySQL Provider > [ABP CLI](../../../cli/index.md) and the [Get Started](https://abp.io/get-started) page already provides an option to create a new solution with MySQL. See [that document](./other-dbms.md) to learn how to use. This document provides guidance for who wants to manually switch to MySQL after creating the solution. diff --git a/docs/en/framework/data/entity-framework-core/oracle-devart.md b/docs/en/framework/data/entity-framework-core/oracle-devart.md index 01e9ce7cc2..2e0233958e 100644 --- a/docs/en/framework/data/entity-framework-core/oracle-devart.md +++ b/docs/en/framework/data/entity-framework-core/oracle-devart.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch to the Oracle Devart provider for your ABP application, ensuring compatibility with Oracle v12.2+ for seamless database integration." +} +``` + # Switch to EF Core Oracle Devart Provider This document explains how to switch to the **Oracle** database provider for **[the application startup template](../../../solution-templates/layered-web-application)** which comes with SQL Server provider pre-configured. diff --git a/docs/en/framework/data/entity-framework-core/oracle-official.md b/docs/en/framework/data/entity-framework-core/oracle-official.md index d9942fe0e0..5cfbfb57c0 100644 --- a/docs/en/framework/data/entity-framework-core/oracle-official.md +++ b/docs/en/framework/data/entity-framework-core/oracle-official.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your ABP application to use the EF Core Oracle provider, ensuring compatibility with Oracle version 12.2 and above." +} +``` + # Switch to EF Core Oracle Provider This document explains how to switch to the **Oracle** database provider for **[the application startup template](../../../solution-templates/layered-web-application)** which comes with SQL Server provider pre-configured. diff --git a/docs/en/framework/data/entity-framework-core/oracle.md b/docs/en/framework/data/entity-framework-core/oracle.md index 4d757260f8..9e855ea08e 100644 --- a/docs/en/framework/data/entity-framework-core/oracle.md +++ b/docs/en/framework/data/entity-framework-core/oracle.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your ABP application to use the Oracle database provider, with guidance on both official and commercial drivers." +} +``` + # Switch to EF Core Oracle Provider > [ABP CLI](../../../cli/index.md) and the [Get Started](https://abp.io/get-started) page already provides an option to create a new solution with Oracle. See [that document](other-dbms.md) to learn how to use. This document provides guidance for who wants to manually switch to Oracle after creating the solution. diff --git a/docs/en/framework/data/entity-framework-core/other-dbms.md b/docs/en/framework/data/entity-framework-core/other-dbms.md index a59328533b..e07a5fb122 100644 --- a/docs/en/framework/data/entity-framework-core/other-dbms.md +++ b/docs/en/framework/data/entity-framework-core/other-dbms.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your DBMS for Entity Framework Core in ABP Framework, allowing flexibility to choose your preferred database solution." +} +``` + # Switch to Another DBMS for Entity Framework Core [ABP CLI](../../../cli/index.md) provides a `-dbms` option to allow you to choose your Database Management System (DBMS) while creating a new solution. It accepts the following values: diff --git a/docs/en/framework/data/entity-framework-core/postgresql.md b/docs/en/framework/data/entity-framework-core/postgresql.md index 8561e8bada..efdd92411c 100644 --- a/docs/en/framework/data/entity-framework-core/postgresql.md +++ b/docs/en/framework/data/entity-framework-core/postgresql.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your ABP Framework application from SQL Server to PostgreSQL with step-by-step guidance for a smooth transition." +} +``` + # Switch to EF Core PostgreSQL Provider > [ABP CLI](../../../cli) and the [Get Started](https://abp.io/get-started) page already provides an option to create a new solution with PostgreSQL. See [that document](./other-dbms.md) to learn how to use. This document provides guidance for who wants to manually switch to PostgreSQL after creating the solution. diff --git a/docs/en/framework/data/entity-framework-core/sqlite.md b/docs/en/framework/data/entity-framework-core/sqlite.md index a837b2227a..4c5c7b81dc 100644 --- a/docs/en/framework/data/entity-framework-core/sqlite.md +++ b/docs/en/framework/data/entity-framework-core/sqlite.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your ABP Framework application to use the SQLite database provider with this step-by-step guide." +} +``` + # Switch to EF Core SQLite Provider > [ABP CLI](../../../cli) and the [Get Started](https://abp.io/get-started) page already provides an option to create a new solution with SQLite. See [that document](other-dbms.md) to learn how to use. This document provides guidance for who wants to manually switch to SQLite after creating the solution. diff --git a/docs/en/framework/data/index.md b/docs/en/framework/data/index.md index c6b1ba3d19..9c0ff7868a 100644 --- a/docs/en/framework/data/index.md +++ b/docs/en/framework/data/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's database-agnostic data access, featuring repositories and unit of work for Entity Framework Core, MongoDB, and Dapper." +} +``` + # Data Access ABP was designed as database agnostic. It can work any type of data source by the help of the [repository](../architecture/domain-driven-design/repositories.md) and [unit of work](../architecture/domain-driven-design/unit-of-work.md) abstractions. Currently, the following providers are implemented as official: diff --git a/docs/en/framework/data/mongodb/index.md b/docs/en/framework/data/mongodb/index.md index d5bb4124aa..b609e22963 100644 --- a/docs/en/framework/data/mongodb/index.md +++ b/docs/en/framework/data/mongodb/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate MongoDB with ABP applications, including installation and configuration steps for seamless database management." +} +``` + # MongoDB Integration This document explains how to integrate MongoDB as a database provider to ABP based applications and how to configure it. diff --git a/docs/en/framework/fundamentals/application-startup.md b/docs/en/framework/fundamentals/application-startup.md index e985048714..4c323c1c52 100644 --- a/docs/en/framework/fundamentals/application-startup.md +++ b/docs/en/framework/fundamentals/application-startup.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively start your ABP application using templates, and understand the integration and configuration details for customization." +} +``` + # ABP Application Startup You typically use the [ABP CLI](../../cli)'s `abp new` command to [get started](../../get-started/layered-web-application.md) with one of the pre-built [startup solution templates](../../solution-templates). When you do that, you generally don't need to know the details of how the ABP is integrated with your application or how it is configured and initialized. The startup template also comes with the fundamental ABP packages and [application modules](../../modules) are pre-installed and configured for you. diff --git a/docs/en/framework/fundamentals/authorization.md b/docs/en/framework/fundamentals/authorization.md index 87c4776015..0dae7bbf13 100644 --- a/docs/en/framework/fundamentals/authorization.md +++ b/docs/en/framework/fundamentals/authorization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to leverage ABP Framework's enhanced authorization features, including permissions and policies, to secure your applications efficiently." +} +``` + # Authorization Authorization is used to check if a user is allowed to perform some specific operations in the application. diff --git a/docs/en/framework/fundamentals/autofac-integration.md b/docs/en/framework/fundamentals/autofac-integration.md index 02b6f8a1c5..ac0abfc3d8 100644 --- a/docs/en/framework/fundamentals/autofac-integration.md +++ b/docs/en/framework/fundamentals/autofac-integration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Autofac with ABP Framework for advanced dependency injection features, enhancing your .NET applications effortlessly." +} +``` + # Autofac Integration [Autofac](https://autofac.org/) is one of the most used dependency injection frameworks for .NET. It provides advanced features compared to .Net Core's standard DI library, like dynamic proxying and property injection. diff --git a/docs/en/framework/fundamentals/caching.md b/docs/en/framework/fundamentals/caching.md index bdef675f64..d5caeeb5f7 100644 --- a/docs/en/framework/fundamentals/caching.md +++ b/docs/en/framework/fundamentals/caching.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement distributed caching in ABP Framework for efficient memory management and improved application performance." +} +``` + # Distributed Caching ABP extends the [ASP.NET Core distributed cache](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed) to provide a more comfortable and easy-to-use cache service. diff --git a/docs/en/framework/fundamentals/configuration.md b/docs/en/framework/fundamentals/configuration.md index 7611017b7e..0226f979cd 100644 --- a/docs/en/framework/fundamentals/configuration.md +++ b/docs/en/framework/fundamentals/configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore how to leverage ASP.NET Core's flexible configuration system with ABP Framework for effective application management and customization." +} +``` + # Configuration ASP.NET Core has an flexible and extensible key-value based configuration system. In fact, the configuration system is a part of Microsoft.Extensions libraries and it is independent from ASP.NET Core. That means it can be used in any type of application. See [Microsoft's documentation](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/) to learn the configuration infrastructure. ABP is 100% compatible with the configuration system. \ No newline at end of file diff --git a/docs/en/framework/fundamentals/connection-strings.md b/docs/en/framework/fundamentals/connection-strings.md index 0f1a5b4bc8..c791e6043f 100644 --- a/docs/en/framework/fundamentals/connection-strings.md +++ b/docs/en/framework/fundamentals/connection-strings.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage connection strings in ABP for modular and multi-tenant applications, enabling flexible database configurations." +} +``` + # Connection Strings > Connection string system is especially needed when you want to create or use a modular system. If you have a monolithic application with a single database, you can go with the [ABP startup solution template](../../solution-templates/layered-web-application), which is properly configured for you. diff --git a/docs/en/framework/fundamentals/dependency-injection.md b/docs/en/framework/fundamentals/dependency-injection.md index 9dda3aef45..a1eef66761 100644 --- a/docs/en/framework/fundamentals/dependency-injection.md +++ b/docs/en/framework/fundamentals/dependency-injection.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to leverage ABP's Dependency Injection system for modular service registration and dynamic proxying with best practices and tips." +} +``` + # Dependency Injection ABP's Dependency Injection system is developed based on Microsoft's [dependency injection extension](https://medium.com/volosoft/asp-net-core-dependency-injection-best-practices-tips-tricks-c6e9c67f9d96) library (Microsoft.Extensions.DependencyInjection nuget package). So, its documentation is valid in ABP too. diff --git a/docs/en/framework/fundamentals/dynamic-claims.md b/docs/en/framework/fundamentals/dynamic-claims.md index f326ac444d..03ddc701cd 100644 --- a/docs/en/framework/fundamentals/dynamic-claims.md +++ b/docs/en/framework/fundamentals/dynamic-claims.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement dynamic claims in ABP Framework to ensure real-time updates of claims in user sessions for enhanced security." +} +``` + # Dynamic Claims When a client authenticates and obtains an access token or an authentication cookie, the claims in that token or cookie are not changed unless it re-authenticates. That is not a problem for most claims since the claim values do not frequently change. However, for some claims, it may be required to immediately see the impact after the claim values change in the current session. For example, if a role is revoked from a user, you want to see its effect in the next request. Otherwise, the user will continue to use that role's permissions until re-login to the application. diff --git a/docs/en/framework/fundamentals/exception-handling.md b/docs/en/framework/fundamentals/exception-handling.md index a85ae58e24..73e5d055fe 100644 --- a/docs/en/framework/fundamentals/exception-handling.md +++ b/docs/en/framework/fundamentals/exception-handling.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP Framework simplifies exception handling with automatic formatting, localization, and HTTP status code mapping for seamless API responses." +} +``` + # Exception Handling ABP provides a built-in infrastructure and offers a standard model for handling exceptions. diff --git a/docs/en/framework/fundamentals/fluent-validation.md b/docs/en/framework/fundamentals/fluent-validation.md index d3af69bae9..e973a528b8 100644 --- a/docs/en/framework/fundamentals/fluent-validation.md +++ b/docs/en/framework/fundamentals/fluent-validation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate FluentValidation with ABP Framework for enhanced validation capabilities in your applications." +} +``` + # FluentValidation Integration ABP [Validation](./validation.md) infrastructure is extensible. [Volo.Abp.FluentValidation](https://www.nuget.org/packages/Volo.Abp.FluentValidation) NuGet package extends the validation system to work with the [FluentValidation](https://fluentvalidation.net/) library. diff --git a/docs/en/framework/fundamentals/index.md b/docs/en/framework/fundamentals/index.md index 8d35df9631..6aef484c41 100644 --- a/docs/en/framework/fundamentals/index.md +++ b/docs/en/framework/fundamentals/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the essential building blocks of ABP Framework solutions, covering startup, authorization, caching, and more for efficient development." +} +``` + # ABP Fundamentals: Overview The following documents explains the fundamental building blocks to create ABP solutions: diff --git a/docs/en/framework/fundamentals/localization.md b/docs/en/framework/fundamentals/localization.md index 61118fd742..57341dd793 100644 --- a/docs/en/framework/fundamentals/localization.md +++ b/docs/en/framework/fundamentals/localization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively use ABP's localization system, enhancing your applications with features from Microsoft.Extensions.Localization." +} +``` + # Localization ABP's localization system is seamlessly integrated to the `Microsoft.Extensions.Localization` package and compatible with the [Microsoft's localization documentation](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization). It adds some useful features and enhancements to make it easier to use in real life application scenarios. diff --git a/docs/en/framework/fundamentals/logging.md b/docs/en/framework/fundamentals/logging.md index 27c8d7ba19..94056400c7 100644 --- a/docs/en/framework/fundamentals/logging.md +++ b/docs/en/framework/fundamentals/logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize ASP.NET Core's logging system in ABP Framework for effective application logging and monitoring." +} +``` + # Logging ABP doesn't implement any logging infrastructure. It uses the [ASP.NET Core's logging system](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging). diff --git a/docs/en/framework/fundamentals/object-extensions.md b/docs/en/framework/fundamentals/object-extensions.md index b12be63dc0..2494f75bbf 100644 --- a/docs/en/framework/fundamentals/object-extensions.md +++ b/docs/en/framework/fundamentals/object-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP's object extension system lets you add properties to existing objects effortlessly without altering the original class." +} +``` + # Object Extensions ABP provides an **object extension system** to allow you to **add extra properties** to an existing object **without modifying** the related class. This allows to extend functionalities implemented by a depended [application module](../../modules), especially when you want to [extend entities](../architecture/modularity/extending/customizing-application-modules-extending-entities.md) and [DTOs](../architecture/modularity/extending/customizing-application-modules-overriding-services.md) defined by the module. diff --git a/docs/en/framework/fundamentals/options.md b/docs/en/framework/fundamentals/options.md index 3602e5acee..d18c89c675 100644 --- a/docs/en/framework/fundamentals/options.md +++ b/docs/en/framework/fundamentals/options.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the options pattern in ABP Framework to configure settings efficiently for your applications." +} +``` + # Options Microsoft has introduced [the options pattern](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options) that is used to configure a group of settings used by the framework services. This pattern is implemented by the [Microsoft.Extensions.Options](https://www.nuget.org/packages/Microsoft.Extensions.Options) NuGet package, so it is usable by any type of applications in addition to ASP.NET Core based applications. diff --git a/docs/en/framework/fundamentals/redis-cache.md b/docs/en/framework/fundamentals/redis-cache.md index 55d05fb942..efb2fd763f 100644 --- a/docs/en/framework/fundamentals/redis-cache.md +++ b/docs/en/framework/fundamentals/redis-cache.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your ABP application with Redis Cache integration for improved performance and advanced caching capabilities." +} +``` + # Redis Cache ABP [Caching System](./caching.md) extends the [ASP.NET Core distributed cache](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed). So, **any provider** supported by the standard ASP.NET Core distributed cache can be usable in your application and can be configured just like **documented by Microsoft**. diff --git a/docs/en/framework/fundamentals/validation.md b/docs/en/framework/fundamentals/validation.md index 600f93914f..50540b5625 100644 --- a/docs/en/framework/fundamentals/validation.md +++ b/docs/en/framework/fundamentals/validation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP Framework enhances ASP.NET Core validation with automatic checks, localization, and FluentValidation integration for better input handling." +} +``` + # Validation Validation system is used to validate the user input or client request for a particular controller action or service method. diff --git a/docs/en/framework/infrastructure/audit-logging.md b/docs/en/framework/infrastructure/audit-logging.md index f04bfafbe5..e846650df2 100644 --- a/docs/en/framework/infrastructure/audit-logging.md +++ b/docs/en/framework/infrastructure/audit-logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP's extensible audit logging system, enabling automated, configurable tracking of web request activities and changes for enhanced security." +} +``` + # Audit Logging [Wikipedia](https://en.wikipedia.org/wiki/Audit_trail): "*An audit trail (also called **audit log**) is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, or event*". diff --git a/docs/en/framework/infrastructure/background-jobs/hangfire.md b/docs/en/framework/infrastructure/background-jobs/hangfire.md index 396c7498b5..69f4fd701f 100644 --- a/docs/en/framework/infrastructure/background-jobs/hangfire.md +++ b/docs/en/framework/infrastructure/background-jobs/hangfire.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Integrate Hangfire with the ABP Framework for efficient background job management, ensuring code independence and seamless functionality." +} +``` + # Hangfire Background Job Manager [Hangfire](https://www.hangfire.io/) is an advanced background job manager. You can integrate Hangfire with the ABP to use it instead of the [default background job manager](../background-jobs). In this way, you can use the same background job API for Hangfire and your code will be independent of Hangfire. If you like, you can directly use Hangfire's API, too. diff --git a/docs/en/framework/infrastructure/background-jobs/index.md b/docs/en/framework/infrastructure/background-jobs/index.md index c4536885c7..b69549da20 100644 --- a/docs/en/framework/infrastructure/background-jobs/index.md +++ b/docs/en/framework/infrastructure/background-jobs/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement background jobs in ABP Framework for efficient task execution, ensuring persistence and reliability in your applications." +} +``` + # Background Jobs ## Introduction diff --git a/docs/en/framework/infrastructure/background-jobs/quartz.md b/docs/en/framework/infrastructure/background-jobs/quartz.md index 93cf5d53bf..fc7a0176e2 100644 --- a/docs/en/framework/infrastructure/background-jobs/quartz.md +++ b/docs/en/framework/infrastructure/background-jobs/quartz.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Quartz with ABP Framework for advanced background job management, enhancing your job processing capabilities effortlessly." +} +``` + # Quartz Background Job Manager [Quartz](https://www.quartz-scheduler.net/) is an advanced background job manager. You can integrate Quartz with the ABP to use it instead of the [default background job manager](../background-jobs). In this way, you can use the same background job API for Quartz and your code will be independent of Quartz. If you like, you can directly use Quartz's API, too. diff --git a/docs/en/framework/infrastructure/background-jobs/rabbitmq.md b/docs/en/framework/infrastructure/background-jobs/rabbitmq.md index ec84a92d4b..06ea241cc3 100644 --- a/docs/en/framework/infrastructure/background-jobs/rabbitmq.md +++ b/docs/en/framework/infrastructure/background-jobs/rabbitmq.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to install and configure RabbitMQ for background job execution in your ABP Framework projects effectively." +} +``` + # RabbitMQ Background Job Manager RabbitMQ is an industry standard message broker. While it is typically used for inter-process communication (messaging / distributed events), it is pretty useful to store and execute background jobs in FIFO (First In First Out) order. diff --git a/docs/en/framework/infrastructure/background-workers/hangfire.md b/docs/en/framework/infrastructure/background-workers/hangfire.md index 3ccbaf35bd..be1169ce55 100644 --- a/docs/en/framework/infrastructure/background-workers/hangfire.md +++ b/docs/en/framework/infrastructure/background-workers/hangfire.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Integrate Hangfire with ABP Framework to efficiently manage background jobs and leverage advanced scheduling for recurring tasks." +} +``` + # Hangfire Background Worker Manager [Hangfire](https://www.hangfire.io/) is an advanced background jobs and worker manager. You can integrate Hangfire with the ABP to use it instead of the [default background worker manager](../background-workers). diff --git a/docs/en/framework/infrastructure/background-workers/index.md b/docs/en/framework/infrastructure/background-workers/index.md index 9f5d15e114..e717276368 100644 --- a/docs/en/framework/infrastructure/background-workers/index.md +++ b/docs/en/framework/infrastructure/background-workers/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and manage background workers in your application using the ABP Framework for efficient task automation." +} +``` + # Background Workers ## Introduction diff --git a/docs/en/framework/infrastructure/background-workers/quartz.md b/docs/en/framework/infrastructure/background-workers/quartz.md index 663fe22a7f..ba18683e9d 100644 --- a/docs/en/framework/infrastructure/background-workers/quartz.md +++ b/docs/en/framework/infrastructure/background-workers/quartz.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Integrate Quartz as your background worker manager in ABP Framework with easy installation steps and enhance your application's performance." +} +``` + # Quartz Background Worker Manager [Quartz](https://www.quartz-scheduler.net/) is an advanced background worker manager. You can integrate Quartz with the ABP to use it instead of the [default background worker manager](../background-workers). ABP simply integrates quartz. diff --git a/docs/en/framework/infrastructure/blob-storing/aliyun.md b/docs/en/framework/infrastructure/blob-storing/aliyun.md index 97c8895886..57ff1ca3a5 100644 --- a/docs/en/framework/infrastructure/blob-storing/aliyun.md +++ b/docs/en/framework/infrastructure/blob-storing/aliyun.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure Aliyun Blob storage with the ABP Framework for efficient BLOB storage in your applications." +} +``` + # BLOB Storing Aliyun Provider BLOB Storing Aliyun Provider can store BLOBs in [Aliyun Blob storage](https://help.aliyun.com/product/31815.html). diff --git a/docs/en/framework/infrastructure/blob-storing/aws.md b/docs/en/framework/infrastructure/blob-storing/aws.md index 4eac484e92..35293ec922 100644 --- a/docs/en/framework/infrastructure/blob-storing/aws.md +++ b/docs/en/framework/infrastructure/blob-storing/aws.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure AWS as a BLOB storage provider in your ABP Framework project using the Volo.Abp.BlobStoring.Aws package." +} +``` + # BLOB Storing Aws Provider BLOB Storing Aws Provider can store BLOBs in [Amazon Simple Storage Service](https://aws.amazon.com/s3/). diff --git a/docs/en/framework/infrastructure/blob-storing/azure.md b/docs/en/framework/infrastructure/blob-storing/azure.md index ddaab1e08f..234c369ecd 100644 --- a/docs/en/framework/infrastructure/blob-storing/azure.md +++ b/docs/en/framework/infrastructure/blob-storing/azure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure Azure Blob storage for your project using the ABP Framework with this concise guide on the BLOB Storing Azure Provider." +} +``` + # BLOB Storing Azure Provider BLOB Storing Azure Provider can store BLOBs in [Azure Blob storage](https://azure.microsoft.com/en-us/services/storage/blobs/). diff --git a/docs/en/framework/infrastructure/blob-storing/custom-provider.md b/docs/en/framework/infrastructure/blob-storing/custom-provider.md index 1713d444b5..033dbdcfd7 100644 --- a/docs/en/framework/infrastructure/blob-storing/custom-provider.md +++ b/docs/en/framework/infrastructure/blob-storing/custom-provider.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create a custom BLOB storage provider in ABP Framework with practical examples and implementation details." +} +``` + # BLOB Storing: Creating a Custom Provider This document explains how you can create a new storage provider for the BLOB storing system with an example. diff --git a/docs/en/framework/infrastructure/blob-storing/database.md b/docs/en/framework/infrastructure/blob-storing/database.md index 7d533b0d81..1b568c247c 100644 --- a/docs/en/framework/infrastructure/blob-storing/database.md +++ b/docs/en/framework/infrastructure/blob-storing/database.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure BLOB storage in relational and non-relational databases using ABP Framework's database providers for seamless data management." +} +``` + # BLOB Storing Database Provider BLOB Storing Database Storage Provider can store BLOBs in a relational or non-relational database. diff --git a/docs/en/framework/infrastructure/blob-storing/file-system.md b/docs/en/framework/infrastructure/blob-storing/file-system.md index af15abf037..e9b8d90366 100644 --- a/docs/en/framework/infrastructure/blob-storing/file-system.md +++ b/docs/en/framework/infrastructure/blob-storing/file-system.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure the BLOB Storing File System Provider in ABP Framework to efficiently store files locally with ease." +} +``` + # BLOB Storing File System Provider File System Storage Provider is used to store BLOBs in the local file system as standard files inside a folder. diff --git a/docs/en/framework/infrastructure/blob-storing/google.md b/docs/en/framework/infrastructure/blob-storing/google.md index a90152b4f0..671b388e65 100644 --- a/docs/en/framework/infrastructure/blob-storing/google.md +++ b/docs/en/framework/infrastructure/blob-storing/google.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure BLOB storage in Google Cloud with ABP Framework, enhancing your project's cloud capabilities effortlessly." +} +``` + # BLOB Storing Google Provider BLOB Storing Google Provider can store BLOBs in [Google Cloud Storage](https://cloud.google.com/storage). diff --git a/docs/en/framework/infrastructure/blob-storing/index.md b/docs/en/framework/infrastructure/blob-storing/index.md index f95a90e410..4fef01335c 100644 --- a/docs/en/framework/infrastructure/blob-storing/index.md +++ b/docs/en/framework/infrastructure/blob-storing/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently store and manage BLOBs in your applications using ABP Framework's built-in storage solutions and abstractions." +} +``` + # BLOB Storing It is typical to **store file contents** in an application and read these file contents on need. Not only files, but you may also need to save various types of **large binary objects**, a.k.a. [BLOB](https://en.wikipedia.org/wiki/Binary_large_object)s, into a **storage**. For example, you may want to save user profile pictures. diff --git a/docs/en/framework/infrastructure/blob-storing/minio.md b/docs/en/framework/infrastructure/blob-storing/minio.md index 771b699278..20bfb57296 100644 --- a/docs/en/framework/infrastructure/blob-storing/minio.md +++ b/docs/en/framework/infrastructure/blob-storing/minio.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure the MinIO BLOB Storing Provider in your ABP Framework project for efficient object storage." +} +``` + # BLOB Storing Minio Provider BLOB Storing Minio Provider can store BLOBs in [MinIO Object storage](https://min.io/). diff --git a/docs/en/framework/infrastructure/cancellation-token-provider.md b/docs/en/framework/infrastructure/cancellation-token-provider.md index aea703403e..c420f200ff 100644 --- a/docs/en/framework/infrastructure/cancellation-token-provider.md +++ b/docs/en/framework/infrastructure/cancellation-token-provider.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the `ICancellationTokenProvider` in ABP Framework for efficient cooperative cancellation in your applications." +} +``` + # Cancellation Token Provider A `CancellationToken` enables cooperative cancellation between threads, thread pool work items, or `Task` objects. To handle the possible cancellation of the operation, ABP provides `ICancellationTokenProvider` to obtain the `CancellationToken` itself from the source. diff --git a/docs/en/framework/infrastructure/concurrency-check.md b/docs/en/framework/infrastructure/concurrency-check.md index 731750f306..356abafcde 100644 --- a/docs/en/framework/infrastructure/concurrency-check.md +++ b/docs/en/framework/infrastructure/concurrency-check.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about Concurrency Check in ABP Framework, focusing on Optimistic and Pessimistic approaches for maintaining data consistency." +} +``` + # Concurrency Check ### Introduction diff --git a/docs/en/framework/infrastructure/csrf-anti-forgery.md b/docs/en/framework/infrastructure/csrf-anti-forgery.md index df36c4f985..6957fc47e7 100644 --- a/docs/en/framework/infrastructure/csrf-anti-forgery.md +++ b/docs/en/framework/infrastructure/csrf-anti-forgery.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP Framework automates CSRF protection effortlessly, ensuring secure web applications with minimal configuration needed." +} +``` + # CSRF/XSRF & Anti Forgery System "*Cross-Site Request Forgery (CSRF) is a type of attack that occurs when a malicious web site, email, blog, instant message, or program causes a user’s web browser to perform an unwanted action on a trusted site for which the user is currently authenticated*" ([OWASP](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet)). diff --git a/docs/en/framework/infrastructure/current-user.md b/docs/en/framework/infrastructure/current-user.md index d9082633f5..055f8e0dd3 100644 --- a/docs/en/framework/infrastructure/current-user.md +++ b/docs/en/framework/infrastructure/current-user.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to access information about the logged-in user in your ABP Framework app using the ICurrentUser service." +} +``` + # Current User It is very common to retrieve the information about the logged in user in a web application. The current user is the active user related to the current request in a web application. diff --git a/docs/en/framework/infrastructure/data-filtering.md b/docs/en/framework/infrastructure/data-filtering.md index 38844f2079..341c790277 100644 --- a/docs/en/framework/infrastructure/data-filtering.md +++ b/docs/en/framework/infrastructure/data-filtering.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement data filtering in ABP Framework, including built-in soft delete functionality for managing your entities efficiently." +} +``` + # Data Filtering [Volo.Abp.Data](https://www.nuget.org/packages/Volo.Abp.Data) package defines services to automatically filter data on querying from a database. diff --git a/docs/en/framework/infrastructure/data-seeding.md b/docs/en/framework/infrastructure/data-seeding.md index a2886f4975..0b50e2b726 100644 --- a/docs/en/framework/infrastructure/data-seeding.md +++ b/docs/en/framework/infrastructure/data-seeding.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively seed initial data in your ABP applications for smooth startup and reliable testing across various databases." +} +``` + # Data Seeding ## Introduction diff --git a/docs/en/framework/infrastructure/distributed-locking.md b/docs/en/framework/infrastructure/distributed-locking.md index 9a6488c2fd..76911a8860 100644 --- a/docs/en/framework/infrastructure/distributed-locking.md +++ b/docs/en/framework/infrastructure/distributed-locking.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement distributed locking in your applications using ABP Framework, ensuring safe access to shared resources without conflicts." +} +``` + # Distributed Locking Distributed locking is a technique to manage many applications that try to access the same resource. The main purpose is to allow only one of many applications to access the same resource at the same time. Otherwise, accessing the same object from various applications may corrupt the value of the resources. diff --git a/docs/en/framework/infrastructure/emailing.md b/docs/en/framework/infrastructure/emailing.md index 21d9fa2e1f..7c240a9d75 100644 --- a/docs/en/framework/infrastructure/emailing.md +++ b/docs/en/framework/infrastructure/emailing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently send emails using ABP's IEmailSender service, configure settings, and integrate with background jobs and MailKit." +} +``` + # Email Sending ABP provides various services, settings and integrations for sending emails; diff --git a/docs/en/framework/infrastructure/entity-cache.md b/docs/en/framework/infrastructure/entity-cache.md index 03d0e8c548..7737bbb777 100644 --- a/docs/en/framework/infrastructure/entity-cache.md +++ b/docs/en/framework/infrastructure/entity-cache.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently implement entity caching in ABP, enhancing performance by reducing database calls and ensuring data consistency." +} +``` + # Entity Cache ABP provides an entity caching system that works on top of the [distributed caching](../fundamentals/caching.md) system. It does the following operations on behalf of you: diff --git a/docs/en/framework/infrastructure/event-bus/distributed/azure.md b/docs/en/framework/infrastructure/event-bus/distributed/azure.md index c18eaefcb1..8e1bff3e63 100644 --- a/docs/en/framework/infrastructure/event-bus/distributed/azure.md +++ b/docs/en/framework/infrastructure/event-bus/distributed/azure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Azure Service Bus as a distributed event bus provider in your ABP Framework project with this comprehensive guide." +} +``` + # Distributed Event Bus Azure Integration > This document explains **how to configure the [Azure Service Bus](https://azure.microsoft.com/en-us/services/service-bus/)** as the distributed event bus provider. See the [distributed event bus document](../distributed) to learn how to use the distributed event bus system diff --git a/docs/en/framework/infrastructure/event-bus/distributed/index.md b/docs/en/framework/infrastructure/event-bus/distributed/index.md index 9ed2121057..a361875b4f 100644 --- a/docs/en/framework/infrastructure/event-bus/distributed/index.md +++ b/docs/en/framework/infrastructure/event-bus/distributed/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Distributed Event Bus in ABP Framework for seamless communication between microservices with various provider options." +} +``` + # Distributed Event Bus Distributed Event bus system allows to **publish** and **subscribe** to events that can be **transferred across application/service boundaries**. You can use the distributed event bus to asynchronously send and receive messages between **microservices** or **applications**. diff --git a/docs/en/framework/infrastructure/event-bus/distributed/kafka.md b/docs/en/framework/infrastructure/event-bus/distributed/kafka.md index 0a48612405..1a8ddb4668 100644 --- a/docs/en/framework/infrastructure/event-bus/distributed/kafka.md +++ b/docs/en/framework/infrastructure/event-bus/distributed/kafka.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Kafka as a distributed event bus provider in your ABP Framework project with step-by-step configuration instructions." +} +``` + # Distributed Event Bus Kafka Integration > This document explains **how to configure the [Kafka](https://kafka.apache.org/)** as the distributed event bus provider. See the [distributed event bus document](../distributed) to learn how to use the distributed event bus system diff --git a/docs/en/framework/infrastructure/event-bus/distributed/rabbitmq.md b/docs/en/framework/infrastructure/event-bus/distributed/rabbitmq.md index 98395c6dff..7b7d64c4c6 100644 --- a/docs/en/framework/infrastructure/event-bus/distributed/rabbitmq.md +++ b/docs/en/framework/infrastructure/event-bus/distributed/rabbitmq.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure RabbitMQ as a distributed event bus provider in your ABP Framework project with easy installation steps." +} +``` + # Distributed Event Bus RabbitMQ Integration > This document explains **how to configure the [RabbitMQ](https://www.rabbitmq.com/)** as the distributed event bus provider. See the [distributed event bus document](../distributed) to learn how to use the distributed event bus system diff --git a/docs/en/framework/infrastructure/event-bus/distributed/rebus.md b/docs/en/framework/infrastructure/event-bus/distributed/rebus.md index beb23fcad6..ddc07f1ac0 100644 --- a/docs/en/framework/infrastructure/event-bus/distributed/rebus.md +++ b/docs/en/framework/infrastructure/event-bus/distributed/rebus.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to set up Rebus as your distributed event bus provider with ABP Framework for seamless event handling in your applications." +} +``` + # Distributed Event Bus Rebus Integration > This document explains **how to configure the [Rebus](http://mookid.dk/category/rebus/)** as the distributed event bus provider. See the [distributed event bus document](../distributed) to learn how to use the distributed event bus system diff --git a/docs/en/framework/infrastructure/event-bus/index.md b/docs/en/framework/infrastructure/event-bus/index.md index 1c3f59bc4e..9a309e648b 100644 --- a/docs/en/framework/infrastructure/event-bus/index.md +++ b/docs/en/framework/infrastructure/event-bus/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about ABP Framework's Event Bus, its types, and guidance for choosing between local and distributed messaging in your applications." +} +``` + # Event Bus An event bus is a mediator that transfers a message from a sender to a receiver. In this way, it provides a loosely coupled communication way between objects, services and applications. diff --git a/docs/en/framework/infrastructure/event-bus/local/index.md b/docs/en/framework/infrastructure/event-bus/local/index.md index a1f0e9a53e..b20718c51f 100644 --- a/docs/en/framework/infrastructure/event-bus/local/index.md +++ b/docs/en/framework/infrastructure/event-bus/local/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Local Event Bus in ABP Framework for efficient in-process event publishing and subscribing between services." +} +``` + # Local Event Bus The Local Event Bus allows services to publish and subscribe to **in-process events**. That means it is suitable if two services (publisher and subscriber) are running in the same process. diff --git a/docs/en/framework/infrastructure/features.md b/docs/en/framework/infrastructure/features.md index ef5d97bd91..af1680abf3 100644 --- a/docs/en/framework/infrastructure/features.md +++ b/docs/en/framework/infrastructure/features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to enable, disable, and customize application features at runtime with ABP's flexible feature system for multi-tenant applications." +} +``` + # Features ABP Feature system is used to **enable**, **disable** or **change the behavior** of the application features **on runtime**. diff --git a/docs/en/framework/infrastructure/global-features.md b/docs/en/framework/infrastructure/global-features.md index a37070dc7e..c2adb9b302 100644 --- a/docs/en/framework/infrastructure/global-features.md +++ b/docs/en/framework/infrastructure/global-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Global Features system in ABP Framework to enable or disable application features during development for reusable modules." +} +``` + # Global Features Global Feature system is used to enable/disable an application feature on development time. It is done on the development time, because some **services** (e.g. controllers) are removed from the application model and **database tables** are not created for the disabled features, which is not possible on runtime. diff --git a/docs/en/framework/infrastructure/guid-generation.md b/docs/en/framework/infrastructure/guid-generation.md index 6b3177ae22..79314e0570 100644 --- a/docs/en/framework/infrastructure/guid-generation.md +++ b/docs/en/framework/infrastructure/guid-generation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about GUID generation in ABP Framework, its advantages, and why it's preferred for primary keys in database management systems." +} +``` + # GUID Generation GUID is a common **primary key type** that is used in database management systems. ABP prefers GUID as the primary for pre-built [application modules](../../modules). Also, `ICurrentUser.Id` property ([see](./current-user.md)) is type of GUID, that means the ABP assumes that the User Id is always GUID. diff --git a/docs/en/framework/infrastructure/image-manipulation.md b/docs/en/framework/infrastructure/image-manipulation.md index 7ab8dc562e..f65cb62c9d 100644 --- a/docs/en/framework/infrastructure/image-manipulation.md +++ b/docs/en/framework/infrastructure/image-manipulation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently compress and resize images in your applications using ABP Framework's extensible services powered by ImageSharp and Magick.NET." +} +``` + # Image Manipulation ABP provides services to compress and resize images and implements these services with popular [ImageSharp](https://sixlabors.com/products/imagesharp/) and [Magick.NET](https://github.com/dlemstra/Magick.NET) libraries. You can use these services in your reusable modules, libraries and applications, so you don't depend on a specific imaging library. diff --git a/docs/en/framework/infrastructure/index.md b/docs/en/framework/infrastructure/index.md index 681e593aba..45a84be944 100644 --- a/docs/en/framework/infrastructure/index.md +++ b/docs/en/framework/infrastructure/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP's comprehensive infrastructure features for building robust .NET applications, including audit logging, background jobs, and more." +} +``` + # ABP Infrastructure ABP provides a complete infrastructure for creating real world software solutions with modern architectures based on the .NET platform. Each of the following documents explains an infrastructure feature: diff --git a/docs/en/framework/infrastructure/json.md b/docs/en/framework/infrastructure/json.md index 67126edceb..9316180df7 100644 --- a/docs/en/framework/infrastructure/json.md +++ b/docs/en/framework/infrastructure/json.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use ABP's JSON abstraction for flexible, library-independent serialization with predefined converters for seamless integration." +} +``` + # JSON The ABP provides an abstraction to work with JSON. Having such an abstraction has some benefits; diff --git a/docs/en/framework/infrastructure/mail-kit.md b/docs/en/framework/infrastructure/mail-kit.md index b99bb637c3..f483aaa512 100644 --- a/docs/en/framework/infrastructure/mail-kit.md +++ b/docs/en/framework/infrastructure/mail-kit.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate MailKit with ABP Framework for efficient email sending and management in your .NET applications." +} +``` + # MailKit Integration [MailKit](http://www.mimekit.net/) is a cross-platform, popular open source mail client library for .net. ABP provides an integration package to use the MailKit as the [email sender](./emailing.md). diff --git a/docs/en/framework/infrastructure/object-to-object-mapping.md b/docs/en/framework/infrastructure/object-to-object-mapping.md index 8961d804c7..6a66b0358f 100644 --- a/docs/en/framework/infrastructure/object-to-object-mapping.md +++ b/docs/en/framework/infrastructure/object-to-object-mapping.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to simplify object-to-object mapping in ABP Framework, reducing repetitive code and enhancing efficiency in your applications." +} +``` + # Object To Object Mapping It's common to map an object to another similar object. It's also tedious and repetitive since generally both classes have the same or similar properties mapped to each other. Imagine a typical [application service](../architecture/domain-driven-design/application-services.md) method below: diff --git a/docs/en/framework/infrastructure/settings.md b/docs/en/framework/infrastructure/settings.md index ef164e939b..21db8f5dc7 100644 --- a/docs/en/framework/infrastructure/settings.md +++ b/docs/en/framework/infrastructure/settings.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to define and manage application settings in ABP Framework, enhancing configuration and modularity for your projects." +} +``` + # Settings [Configuration system](../fundamentals/configuration.md) is a good way to configure the application on startup. In addition to the configurations, ABP provides another way to set and get some application settings. diff --git a/docs/en/framework/infrastructure/simple-state-checker.md b/docs/en/framework/infrastructure/simple-state-checker.md index 584fef1592..af09e35ab9 100644 --- a/docs/en/framework/infrastructure/simple-state-checker.md +++ b/docs/en/framework/infrastructure/simple-state-checker.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement a simple state checking system in your applications to dynamically enable or disable objects based on conditions." +} +``` + # Simple State Checker The simple state checking system can be used to enable/disable an object based on some dynamic conditions. For example, you can disable a menu item on the user interface, if the current user has not granted for a given permission. The simple state checking system provides a generic way to define and check such conditions. diff --git a/docs/en/framework/infrastructure/sms-sending.md b/docs/en/framework/infrastructure/sms-sending.md index e6bc9135e5..60c80e65a5 100644 --- a/docs/en/framework/infrastructure/sms-sending.md +++ b/docs/en/framework/infrastructure/sms-sending.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily integrate SMS sending in your ABP applications with flexible options for changing SMS providers and creating reusable modules." +} +``` + # SMS Sending The ABP provides an abstraction to sending SMS. Having such an abstraction has some benefits; diff --git a/docs/en/framework/infrastructure/string-encryption.md b/docs/en/framework/infrastructure/string-encryption.md index 5f37f1fa99..abf84ed7ca 100644 --- a/docs/en/framework/infrastructure/string-encryption.md +++ b/docs/en/framework/infrastructure/string-encryption.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to securely encrypt and decrypt strings in your ABP applications with easy installation and usage guides." +} +``` + # String Encryption ABP provides string encryption feature that allows to **Encrypt** and **Decrypt** strings. diff --git a/docs/en/framework/infrastructure/text-templating/index.md b/docs/en/framework/infrastructure/text-templating/index.md index 586efa31d0..853014c1cd 100644 --- a/docs/en/framework/infrastructure/text-templating/index.md +++ b/docs/en/framework/infrastructure/text-templating/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP's powerful text templating system for dynamic content rendering, supporting conditionals, loops, and localization for enhanced applications." +} +``` + # Text Templating ## Introduction diff --git a/docs/en/framework/infrastructure/text-templating/razor.md b/docs/en/framework/infrastructure/text-templating/razor.md index 1d17d4337e..ea62383cc2 100644 --- a/docs/en/framework/infrastructure/text-templating/razor.md +++ b/docs/en/framework/infrastructure/text-templating/razor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Razor templates in your ABP Framework project, including installation via ABP CLI or manual methods." +} +``` + # Razor Integration diff --git a/docs/en/framework/infrastructure/text-templating/scriban.md b/docs/en/framework/infrastructure/text-templating/scriban.md index bd54914411..5403297e2a 100644 --- a/docs/en/framework/infrastructure/text-templating/scriban.md +++ b/docs/en/framework/infrastructure/text-templating/scriban.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Scriban into your ABP Framework project, including installation steps and defining templates for efficient text templating." +} +``` + # Scriban Integration ## Installation diff --git a/docs/en/framework/infrastructure/timing.md b/docs/en/framework/infrastructure/timing.md index 7ddf1b730a..3cd1678c51 100644 --- a/docs/en/framework/infrastructure/timing.md +++ b/docs/en/framework/infrastructure/timing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP simplifies handling time and time zones for global applications with built-in services like IClock for accurate date and time management." +} +``` + # Timing Working with times & [time zones](https://en.wikipedia.org/wiki/Time_zone) is always tricky, especially if you need to build a **global system** that is used by users in **different time zones**. diff --git a/docs/en/framework/infrastructure/virtual-file-system.md b/docs/en/framework/infrastructure/virtual-file-system.md index 03dab585be..682fcd2f10 100644 --- a/docs/en/framework/infrastructure/virtual-file-system.md +++ b/docs/en/framework/infrastructure/virtual-file-system.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage non-physical files with the ABP Virtual File System, allowing you to embed assets directly into your assemblies." +} +``` + # Virtual File System The Virtual File System makes it possible to manage files that do not physically exist on the file system (disk). It's mainly used to embed (js, css, image..) files into assemblies and use them like physical files at runtime. diff --git a/docs/en/framework/real-time/signalr.md b/docs/en/framework/real-time/signalr.md index d6cbbfbada..06a903ae33 100644 --- a/docs/en/framework/real-time/signalr.md +++ b/docs/en/framework/real-time/signalr.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily integrate SignalR into your ABP Framework application using the ABP CLI for seamless real-time communication." +} +``` + # SignalR Integration > It is already possible to follow [the standard Microsoft tutorial](https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr) to add [SignalR](https://docs.microsoft.com/en-us/aspnet/core/signalr/introduction) to your application. However, ABP provides SignalR integration packages those simplify the integration and usage. diff --git a/docs/en/framework/ui/angular/abp-window-service.md b/docs/en/framework/ui/angular/abp-window-service.md index bc060f79b5..c5c7c531b3 100644 --- a/docs/en/framework/ui/angular/abp-window-service.md +++ b/docs/en/framework/ui/angular/abp-window-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use AbpWindowService in Angular to efficiently download blobs as files with easy-to-follow steps and code examples." +} +``` + # Abp Window Service diff --git a/docs/en/framework/ui/angular/account-module.md b/docs/en/framework/ui/angular/account-module.md index eb149af61e..e427de1ec7 100644 --- a/docs/en/framework/ui/angular/account-module.md +++ b/docs/en/framework/ui/angular/account-module.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate the Angular UI Account Module into your project for seamless user authentication with login, registration, and account management features." +} +``` + # Angular UI Account Module Angular UI account module is available as of v4.3. It contains some pages (login, register, My account, etc.). diff --git a/docs/en/framework/ui/angular/authorization.md b/docs/en/framework/ui/angular/authorization.md index dcf6e0c67d..1b5c468c4c 100644 --- a/docs/en/framework/ui/angular/authorization.md +++ b/docs/en/framework/ui/angular/authorization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement OAuth in your Angular apps with ABP Framework, ensuring secure authorization right from project setup." +} +``` + # Authorization in Angular UI OAuth is preconfigured in Angular application templates. So, when you start a project using the CLI (or Suite, for that matter), authorization already works. ABP Angular UI packages are using [angular-oauth2-oidc library](https://github.com/manfredsteyer/angular-oauth2-oidc#logging-in) for managing OAuth in the Angular client. diff --git a/docs/en/framework/ui/angular/basic-theme.md b/docs/en/framework/ui/angular/basic-theme.md index 6e32d4e6be..10a8717937 100644 --- a/docs/en/framework/ui/angular/basic-theme.md +++ b/docs/en/framework/ui/angular/basic-theme.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the Basic Theme for Angular UI—minimalist styling on Bootstrap, perfect for creating custom themes for your projects." +} +``` + # Angular UI: Basic Theme The Basic Theme is a theme implementation for the Angular UI. It is a minimalist theme that doesn't add any styling on top of the plain [Bootstrap](https://getbootstrap.com/). You can take the Basic Theme as the **base theme** and build your own theme or styling on top of it. See the *Customization* section. diff --git a/docs/en/framework/ui/angular/breadcrumb.md b/docs/en/framework/ui/angular/breadcrumb.md index 1a26975c96..a245c1f415 100644 --- a/docs/en/framework/ui/angular/breadcrumb.md +++ b/docs/en/framework/ui/angular/breadcrumb.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize breadcrumb navigation in your ABP applications with the Breadcrumb Component for enhanced user experience." +} +``` + # Breadcrumb Component ABP provides a component that listens to the angular router's `NavigationEnd` diff --git a/docs/en/framework/ui/angular/caps-lock-directive.md b/docs/en/framework/ui/angular/caps-lock-directive.md index f6a9c83931..5c287b15e9 100644 --- a/docs/en/framework/ui/angular/caps-lock-directive.md +++ b/docs/en/framework/ui/angular/caps-lock-directive.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the `TrackCapsLockDirective` for password inputs in Angular, enhancing user experience with Caps Lock warnings." +} +``` + # Caps Lock Directive In password inputs, You may want to show if Caps Lock is on. To make this even easier, you can use the `TrackCapsLockDirective` which has been exposed by the `@abp/ng.core` package. diff --git a/docs/en/framework/ui/angular/card-component.md b/docs/en/framework/ui/angular/card-component.md index ca056853ff..2260b24069 100644 --- a/docs/en/framework/ui/angular/card-component.md +++ b/docs/en/framework/ui/angular/card-component.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the ABP Card Component with Bootstrap, featuring customizable CardHeader, CardBody, and CardFooter components." +} +``` + # Card Component The ABP Card Component is a wrapper component for the Bootstrap card class. diff --git a/docs/en/framework/ui/angular/chart-component.md b/docs/en/framework/ui/angular/chart-component.md index e2bf2c2e1e..419d54695b 100644 --- a/docs/en/framework/ui/angular/chart-component.md +++ b/docs/en/framework/ui/angular/chart-component.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to effortlessly integrate the ABP Chart component into your Angular app using lazy loading for optimal performance." +} +``` + # Chart Component ABP Chart component exposed by `@abp/ng.components/chart.js` is based on [`charts.js`](https://www.chartjs.org/) v3+. You don't need to install the `chart.js` package. Since the `@abp/ng.components` is dependent on the `chart.js`, the package is already installed in your project. diff --git a/docs/en/framework/ui/angular/checkbox-component.md b/docs/en/framework/ui/angular/checkbox-component.md index 898f86732c..2e5cc44ad3 100644 --- a/docs/en/framework/ui/angular/checkbox-component.md +++ b/docs/en/framework/ui/angular/checkbox-component.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement the ABP Checkbox Component for reusable form input, enhancing your applications with ease and efficiency." +} +``` + # Checkbox Component The ABP Checkbox Component is a reusable form input component for the checkbox type. diff --git a/docs/en/framework/ui/angular/component-replacement.md b/docs/en/framework/ui/angular/component-replacement.md index aa9f66df1b..f12f7e5366 100644 --- a/docs/en/framework/ui/angular/component-replacement.md +++ b/docs/en/framework/ui/angular/component-replacement.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to replace ABP components with your custom ones for enhanced flexibility while maintaining system integrity." +} +``` + # Component Replacement You can replace some ABP components with your custom components. diff --git a/docs/en/framework/ui/angular/config-state-service.md b/docs/en/framework/ui/angular/config-state-service.md index f5415d38b3..5acf6a8fb4 100644 --- a/docs/en/framework/ui/angular/config-state-service.md +++ b/docs/en/framework/ui/angular/config-state-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently use the ConfigStateService in your ABP application to manage and access configuration settings seamlessly." +} +``` + # Config State Service `ConfigStateService` is a singleton service, i.e. provided in root level of your application, and keeps the application configuration response in the internal store. diff --git a/docs/en/framework/ui/angular/confirmation-service.md b/docs/en/framework/ui/angular/confirmation-service.md index c1d2dee850..1564aa81c5 100644 --- a/docs/en/framework/ui/angular/confirmation-service.md +++ b/docs/en/framework/ui/angular/confirmation-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily implement confirmation popups in your Angular project using the `ConfirmationService` from ABP Framework." +} +``` + # Confirmation Popup You can use the `ConfirmationService` in @abp/ng.theme.shared package to display a confirmation popup by placing at the root level in your project. diff --git a/docs/en/framework/ui/angular/container-strategy.md b/docs/en/framework/ui/angular/container-strategy.md index 715644826a..a5cf5c12b6 100644 --- a/docs/en/framework/ui/angular/container-strategy.md +++ b/docs/en/framework/ui/angular/container-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about the `ContainerStrategy` class in ABP Framework, including `ClearContainerStrategy` and `InsertIntoContainerStrategy` for effective content projection." +} +``` + # ContainerStrategy `ContainerStrategy` is an abstract class exposed by @abp/ng.core package. There are two container strategies extending it: `ClearContainerStrategy` and `InsertIntoContainerStrategy`. Implementing the same methods and properties, both of these strategies help you define how your containers will be prepared and where your content will be projected. diff --git a/docs/en/framework/ui/angular/content-projection-service.md b/docs/en/framework/ui/angular/content-projection-service.md index 0308b0353a..4ae6b84341 100644 --- a/docs/en/framework/ui/angular/content-projection-service.md +++ b/docs/en/framework/ui/angular/content-projection-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to use the ContentProjectionService in @abp/ng.core for easy and dynamic content projection in Angular components." +} +``` + # Projecting Angular Content You can use the `ContentProjectionService` in @abp/ng.core package in order to project content in an easy and explicit way. diff --git a/docs/en/framework/ui/angular/content-security-strategy.md b/docs/en/framework/ui/angular/content-security-strategy.md index 11b164365a..048a66cd30 100644 --- a/docs/en/framework/ui/angular/content-security-strategy.md +++ b/docs/en/framework/ui/angular/content-security-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to safely implement Content Security Policy with the `ContentSecurityStrategy` class in ABP Framework for enhanced web security." +} +``` + # ContentSecurityStrategy `ContentSecurityStrategy` is an abstract class exposed by @abp/ng.core package. It helps you mark inline scripts or styles as safe in terms of [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy). diff --git a/docs/en/framework/ui/angular/content-strategy.md b/docs/en/framework/ui/angular/content-strategy.md index 93f6a2ea44..cacf7860d1 100644 --- a/docs/en/framework/ui/angular/content-strategy.md +++ b/docs/en/framework/ui/angular/content-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the `ContentStrategy` abstract class to create inline scripts and styles in your ABP applications efficiently." +} +``` + # ContentStrategy `ContentStrategy` is an abstract class exposed by @abp/ng.core package. It helps you create inline scripts or styles. diff --git a/docs/en/framework/ui/angular/context-strategy.md b/docs/en/framework/ui/angular/context-strategy.md index 4bcd08b257..6a01ab3775 100644 --- a/docs/en/framework/ui/angular/context-strategy.md +++ b/docs/en/framework/ui/angular/context-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the `ContextStrategy` class in ABP, detailing context management for projected components with various strategies for developers." +} +``` + # ContextStrategy `ContextStrategy` is an abstract class exposed by @abp/ng.core package. There are three context strategies extending it: `ComponentContextStrategy`, `TemplateContextStrategy`, and `NoContextStrategy`. Implementing the same methods and properties, all of these strategies help you define how projected content will get their context. diff --git a/docs/en/framework/ui/angular/cross-origin-strategy.md b/docs/en/framework/ui/angular/cross-origin-strategy.md index 5edcbed9e6..7ecde7c09e 100644 --- a/docs/en/framework/ui/angular/cross-origin-strategy.md +++ b/docs/en/framework/ui/angular/cross-origin-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `CrossOriginStrategy` class in the @abp/ng.core package to manage resource retrieval in your applications effectively." +} +``` + # CrossOriginStrategy `CrossOriginStrategy` is a class exposed by @abp/ng.core package. Its instances define how a source referenced by an element will be retrieved by the browser and are consumed by other classes such as `LoadingStrategy`. diff --git a/docs/en/framework/ui/angular/current-user.md b/docs/en/framework/ui/angular/current-user.md index 8d90b0cfda..dc35a2bd9e 100644 --- a/docs/en/framework/ui/angular/current-user.md +++ b/docs/en/framework/ui/angular/current-user.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to retrieve current user information in Angular using ConfigStateService methods for efficient state management." +} +``` + # Angular UI: Current User The current user information stored in Config State. diff --git a/docs/en/framework/ui/angular/data-table-column-extensions.md b/docs/en/framework/ui/angular/data-table-column-extensions.md index 89e9000119..25d15687cd 100644 --- a/docs/en/framework/ui/angular/data-table-column-extensions.md +++ b/docs/en/framework/ui/angular/data-table-column-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your Angular UI data tables by adding or modifying columns with the Entity Prop Extension system in ABP Framework." +} +``` + # Data Table Column (or Entity Prop) Extensions for Angular UI ## Introduction diff --git a/docs/en/framework/ui/angular/datetime-format-pipe.md b/docs/en/framework/ui/angular/datetime-format-pipe.md index 88eb9fb604..e0e5493851 100644 --- a/docs/en/framework/ui/angular/datetime-format-pipe.md +++ b/docs/en/framework/ui/angular/datetime-format-pipe.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily format dates in Angular using DateTime format pipes for shortDate, shortTime, and shortDateTime with culture settings." +} +``` + {%{ # DateTime Format Pipes diff --git a/docs/en/framework/ui/angular/dom-insertion-service.md b/docs/en/framework/ui/angular/dom-insertion-service.md index 43d7d16ed1..2ebdfc92eb 100644 --- a/docs/en/framework/ui/angular/dom-insertion-service.md +++ b/docs/en/framework/ui/angular/dom-insertion-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily insert scripts and styles into the DOM using the `DomInsertionService` from @abp/ng.core, enhancing your Angular applications seamlessly." +} +``` + # Inserting Scripts & Styles to DOM You can use the `DomInsertionService` in @abp/ng.core package in order to insert scripts and styles in an easy and explicit way. diff --git a/docs/en/framework/ui/angular/dom-strategy.md b/docs/en/framework/ui/angular/dom-strategy.md index 6f1ea9ed90..a53fb80a86 100644 --- a/docs/en/framework/ui/angular/dom-strategy.md +++ b/docs/en/framework/ui/angular/dom-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the `DomStrategy` class in the @abp/ng.core package, which defines how elements attach to the DOM, enhancing your development workflow." +} +``` + # DomStrategy `DomStrategy` is a class exposed by @abp/ng.core package. Its instances define how an element will be attached to the DOM and are consumed by other classes such as `LoadingStrategy`. diff --git a/docs/en/framework/ui/angular/dynamic-form-extensions.md b/docs/en/framework/ui/angular/dynamic-form-extensions.md index 0c7f5e41f7..9dbbce39fb 100644 --- a/docs/en/framework/ui/angular/dynamic-form-extensions.md +++ b/docs/en/framework/ui/angular/dynamic-form-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance Angular UI forms with dynamic field extensions, enabling customization and validation for improved user management." +} +``` + # Dynamic Form (or Form Prop) Extensions for Angular UI diff --git a/docs/en/framework/ui/angular/ellipsis-directive.md b/docs/en/framework/ui/angular/ellipsis-directive.md index c462331574..a841ec4ebb 100644 --- a/docs/en/framework/ui/angular/ellipsis-directive.md +++ b/docs/en/framework/ui/angular/ellipsis-directive.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily truncate text with ellipsis using the `EllipsisDirective` in ABP Framework, enhancing your Angular templates effortlessly." +} +``` + # Ellipsis Text inside an HTML element can be truncated easily with an ellipsis by using CSS. To make this even easier, you can use the `EllipsisDirective` which has been exposed by the `@abp/ng.theme.shared` package. diff --git a/docs/en/framework/ui/angular/entity-action-extensions.md b/docs/en/framework/ui/angular/entity-action-extensions.md index b65e23d6b7..9bd8c35e7c 100644 --- a/docs/en/framework/ui/angular/entity-action-extensions.md +++ b/docs/en/framework/ui/angular/entity-action-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your Angular UI with custom entity actions, enabling dynamic functionality like modals and API calls in ABP Framework." +} +``` + # Entity Action Extensions for Angular UI ## Introduction diff --git a/docs/en/framework/ui/angular/entity-filters.md b/docs/en/framework/ui/angular/entity-filters.md index 75a197b81b..752ecd311d 100644 --- a/docs/en/framework/ui/angular/entity-filters.md +++ b/docs/en/framework/ui/angular/entity-filters.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement advanced entity filters in your ABP Framework CRUD pages using the `abp-advanced-entity-filters` component." +} +``` + # Entity Filters Every CRUD page includes some sort of inputs to filter the listed data. Some of the inputs are common among all of the entities like the `Search` box. In addition, every entity has its own advanced filters depending on its fields. To reduce the amount of code written on every CRUD page, the Angular UI of ABP Commercial introduces a new type of component called `abp-advanced-entity-filters` diff --git a/docs/en/framework/ui/angular/environment.md b/docs/en/framework/ui/angular/environment.md index 7fd1b1273a..3b217c301f 100644 --- a/docs/en/framework/ui/angular/environment.md +++ b/docs/en/framework/ui/angular/environment.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure environment variables in ABP Framework applications, including API settings and production configurations." +} +``` + # Environment Every application needs some **environment** variables. In Angular world, this is usually managed by `environment.ts`, `environment.prod.ts` and so on. It is the same for ABP as well. diff --git a/docs/en/framework/ui/angular/extensions-overall.md b/docs/en/framework/ui/angular/extensions-overall.md index 4776198001..b8beca881c 100644 --- a/docs/en/framework/ui/angular/extensions-overall.md +++ b/docs/en/framework/ui/angular/extensions-overall.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to enhance your Angular UI with extensions for actions, data tables, toolbars, and forms in the ABP Framework." +} +``` + # Angular UI Extensions Angular UI extensions system allows you to add a new action to the actions menu, a new column to the data table, a new action to the toolbar of a page, and add a new field to the create and/or edit forms. diff --git a/docs/en/framework/ui/angular/feature-libraries.md b/docs/en/framework/ui/angular/feature-libraries.md index cda5f66551..8b549738e1 100644 --- a/docs/en/framework/ui/angular/feature-libraries.md +++ b/docs/en/framework/ui/angular/feature-libraries.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and configure feature libraries in ABP Framework to enhance your Angular applications with modular functionality." +} +``` + # About Feature Libraries ABP has an ever-growing number of feature modules and [introducing a new one](../../architecture/modularity/basics.md) is always possible. When the UI is Angular, these features have modular Angular libraries accompanying them. diff --git a/docs/en/framework/ui/angular/features.md b/docs/en/framework/ui/angular/features.md index 337f034aad..5484e6d23d 100644 --- a/docs/en/framework/ui/angular/features.md +++ b/docs/en/framework/ui/angular/features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to access feature values in Angular using ConfigStateService for seamless integration with ABP Framework." +} +``` + # Features You can get the value of a feature on the client-side using the [config state service](./config-state.md) if it is allowed by the feature definition on the server-side. diff --git a/docs/en/framework/ui/angular/form-input-component.md b/docs/en/framework/ui/angular/form-input-component.md index f1dedd824a..aaf3b6f5be 100644 --- a/docs/en/framework/ui/angular/form-input-component.md +++ b/docs/en/framework/ui/angular/form-input-component.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Form Input Component documentation to learn how to easily implement reusable text input fields in your applications." +} +``` + # Form Input Component The ABP FormInput Component is a reusable form input component for the text type. diff --git a/docs/en/framework/ui/angular/form-validation.md b/docs/en/framework/ui/angular/form-validation.md index 1c3c1a0d49..fcbccecaec 100644 --- a/docs/en/framework/ui/angular/form-validation.md +++ b/docs/en/framework/ui/angular/form-validation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily implement form validation in ABP Angular UI using ngx-validate, with automatic error message handling for a seamless user experience." +} +``` + # Form Validation Reactive forms in ABP Angular UI are validated by [ngx-validate](https://www.npmjs.com/package/@ngx-validate/core) and helper texts are shown automatically based on validation rules and error blueprints. You do not have to add any elements or components to your templates. The library handles that for you. Here is how the experience is: diff --git a/docs/en/framework/ui/angular/global-features.md b/docs/en/framework/ui/angular/global-features.md index b9b167d176..0b7e75313b 100644 --- a/docs/en/framework/ui/angular/global-features.md +++ b/docs/en/framework/ui/angular/global-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the ConfigStateService.getGlobalFeatures API in Angular to access enabled global features for your ABP Framework applications." +} +``` + # Angular: Global Features API The `ConfigStateService.getGlobalFeatures` API allows you to get the enabled features of the [Global Features](../../infrastructure/global-features.md) on the client side. diff --git a/docs/en/framework/ui/angular/how-replaceable-components-work-with-extensions.md b/docs/en/framework/ui/angular/how-replaceable-components-work-with-extensions.md index 11a7f6dfb8..1bcacada3d 100644 --- a/docs/en/framework/ui/angular/how-replaceable-components-work-with-extensions.md +++ b/docs/en/framework/ui/angular/how-replaceable-components-work-with-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize replaceable components with extensions in ABP Framework to customize entity actions, table columns, and page toolbars effectively." +} +``` + # How Replaceable Components Work with Extensions Additional UI extensibility points ([Entity action extensions](../angular/entity-action-extensions.md), [data table column extensions](../angular/data-table-column-extensions.md), [page toolbar extensions](../angular/page-toolbar-extensions.md) and others) are used in ABP pages to allow to control entity actions, table columns and page toolbar of a page. If you replace a page, you need to apply some configurations to be able to work extension components in your component. Let's see how to do this by replacing the roles page. diff --git a/docs/en/framework/ui/angular/http-error-handling.md b/docs/en/framework/ui/angular/http-error-handling.md index 14d4589c97..4fbaa188a8 100644 --- a/docs/en/framework/ui/angular/http-error-handling.md +++ b/docs/en/framework/ui/angular/http-error-handling.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure HTTP error handling in ABP Framework, including custom error screens and handling specific error codes." +} +``` + # HTTP Error Handling ## Error Configurations diff --git a/docs/en/framework/ui/angular/http-error-reporter-service.md b/docs/en/framework/ui/angular/http-error-reporter-service.md index 5e85fc95dc..46efd06a11 100644 --- a/docs/en/framework/ui/angular/http-error-reporter-service.md +++ b/docs/en/framework/ui/angular/http-error-reporter-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently report HTTP errors in your Angular app using the `HttpErrorReporterService` from the ABP Framework." +} +``` + # HTTP Error Reporter Service `HttpErrorReporterService` is a service which is exposed by `@abp/ng.core` package. HTTP errors can be reported by using this service. The service emits an event when an error is reported and keeps the errors as an array. The [`RestService`](./http-requests#restservice) uses the `HttpErrorReporterService` for reporting errors. diff --git a/docs/en/framework/ui/angular/http-requests.md b/docs/en/framework/ui/angular/http-requests.md index ff73c6ee52..9ebaa9dd89 100644 --- a/docs/en/framework/ui/angular/http-requests.md +++ b/docs/en/framework/ui/angular/http-requests.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to make efficient HTTP requests in Angular using HttpClient and simplify error handling with HttpInterceptor in your ABP project." +} +``` + # How to Make HTTP Requests ## About HttpClient diff --git a/docs/en/framework/ui/angular/internet-connection-service.md b/docs/en/framework/ui/angular/internet-connection-service.md index 6fe5ed7402..945234f8bd 100644 --- a/docs/en/framework/ui/angular/internet-connection-service.md +++ b/docs/en/framework/ui/angular/internet-connection-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `InternetConnectionService` to easily check and respond to internet connectivity status in your ABP applications." +} +``` + # Internet Connection Service `InternetConnectionService` is a service which is exposed by the `@abp/ng.core` package. **You can use this service in order to check your internet connection** diff --git a/docs/en/framework/ui/angular/lazy-load-service.md b/docs/en/framework/ui/angular/lazy-load-service.md index 8dedddfe7c..aba2f6eece 100644 --- a/docs/en/framework/ui/angular/lazy-load-service.md +++ b/docs/en/framework/ui/angular/lazy-load-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Easily lazy load scripts and styles in your Angular app with ABP's `LazyLoadService`, streamlining resource management and improving performance." +} +``` + # Lazy Loading Scripts & Styles You can use the `LazyLoadService` in @abp/ng.core package in order to lazy load scripts and styles in an easy and explicit way. diff --git a/docs/en/framework/ui/angular/list-service.md b/docs/en/framework/ui/angular/list-service.md index e657cdab1b..c84569b809 100644 --- a/docs/en/framework/ui/angular/list-service.md +++ b/docs/en/framework/ui/angular/list-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement pagination, sorting, and search with the ListService in ABP Framework for enhanced data management." +} +``` + # Working with Lists `ListService` is a utility service to provide easy pagination, sorting, and search implementation. diff --git a/docs/en/framework/ui/angular/loading-directive.md b/docs/en/framework/ui/angular/loading-directive.md index 18ff4baaeb..a15c4640b3 100644 --- a/docs/en/framework/ui/angular/loading-directive.md +++ b/docs/en/framework/ui/angular/loading-directive.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the `LoadingDirective` in your ABP Framework app to enhance user experience with loading spinners in your UI." +} +``` + # Loading Directive diff --git a/docs/en/framework/ui/angular/loading-strategy.md b/docs/en/framework/ui/angular/loading-strategy.md index 5abff9a512..8b45aa53fe 100644 --- a/docs/en/framework/ui/angular/loading-strategy.md +++ b/docs/en/framework/ui/angular/loading-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement loading strategies for lazy loading in your ABP applications with the `LoadingStrategy` class and its extensions." +} +``` + # LoadingStrategy `LoadingStrategy` is an abstract class exposed by @abp/ng.core package. There are two loading strategies extending it: `ScriptLoadingStrategy` and `StyleLoadingStrategy`. Implementing the same methods and properties, both of these strategies help you define how your lazy loading will work. diff --git a/docs/en/framework/ui/angular/localization.md b/docs/en/framework/ui/angular/localization.md index 4ff0744212..f8d6714c77 100644 --- a/docs/en/framework/ui/angular/localization.md +++ b/docs/en/framework/ui/angular/localization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively implement localization in your ABP Framework project using the Localization Pipe and Service for seamless multilingual support." +} +``` + # Localization Before you read about _the Localization Pipe_ and _the Localization Service_, you should know about localization keys. diff --git a/docs/en/framework/ui/angular/lookup-components.md b/docs/en/framework/ui/angular/lookup-components.md index ce1e32eefd..d1b0a70ca1 100644 --- a/docs/en/framework/ui/angular/lookup-components.md +++ b/docs/en/framework/ui/angular/lookup-components.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement ABP Commercial's lookup components in your Angular project for efficient relational data retrieval." +} +``` + # Lookup Components The Angular UI of ABP Commercial introduces some components with `abp-lookup-...` selector prefix. These components are used for retrieving relational entity data. diff --git a/docs/en/framework/ui/angular/manage-profile-page-tabs.md b/docs/en/framework/ui/angular/manage-profile-page-tabs.md index 232575a419..63983522c3 100644 --- a/docs/en/framework/ui/angular/manage-profile-page-tabs.md +++ b/docs/en/framework/ui/angular/manage-profile-page-tabs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to manage profile page tabs in ABP Framework using `ManageProfileTabsService` for adding, removing, or editing tabs effortlessly." +} +``` + # Manage Profile Page Tabs ![manage profile page](./images/manage-profile-page.png) diff --git a/docs/en/framework/ui/angular/migration-guide-v3.md b/docs/en/framework/ui/angular/migration-guide-v3.md index 1d968125be..d5c70d1494 100644 --- a/docs/en/framework/ui/angular/migration-guide-v3.md +++ b/docs/en/framework/ui/angular/migration-guide-v3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to smoothly migrate your ABP Angular UI from v2.9 to v3.0, ensuring compatibility with Angular 10 and optimizing your project." +} +``` + # v2.9 to v3.0 Angular UI Migration Guide ## What Changed in v3.0? diff --git a/docs/en/framework/ui/angular/modal.md b/docs/en/framework/ui/angular/modal.md index 2b8412202c..f6c14bdc94 100644 --- a/docs/en/framework/ui/angular/modal.md +++ b/docs/en/framework/ui/angular/modal.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the flexible `ModalComponent` from ABP Framework for customizable modals with seamless integration and user-friendly features." +} +``` + # Modal `ModalComponent` is a pre-built component exposed by `@abp/ng.theme.shared` package to show modals. The component uses the [`ng-bootstrap`](https://ng-bootstrap.github.io/)'s modal service inside to render a modal. diff --git a/docs/en/framework/ui/angular/modifying-the-menu.md b/docs/en/framework/ui/angular/modifying-the-menu.md index ef5e12782f..3970bd5a8c 100644 --- a/docs/en/framework/ui/angular/modifying-the-menu.md +++ b/docs/en/framework/ui/angular/modifying-the-menu.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize the menu in ABP Framework, including adding logos and navigation elements for enhanced application layout." +} +``` + # Modifying the Menu The menu is inside the `ApplicationLayoutComponent` in the @abp/ng.theme.basic package. There are several methods for modifying the menu elements. This document covers these methods. If you would like to replace the menu completely, please refer to [Component Replacement documentation](./component-replacement.md) and learn how to replace a layout. diff --git a/docs/en/framework/ui/angular/multi-tenancy.md b/docs/en/framework/ui/angular/multi-tenancy.md index bfb929cc68..c1c6ea8713 100644 --- a/docs/en/framework/ui/angular/multi-tenancy.md +++ b/docs/en/framework/ui/angular/multi-tenancy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement multi-tenancy in ABP Angular UI, including tenant management and switching features for a seamless user experience." +} +``` + # Multi-Tenancy in Angular UI ABP Angular UI supports the multi-tenancy. The following features related to multi-tenancy are available in the startup templates. diff --git a/docs/en/framework/ui/angular/oauth-module.md b/docs/en/framework/ui/angular/oauth-module.md index 0e67d44d07..8202765e4f 100644 --- a/docs/en/framework/ui/angular/oauth-module.md +++ b/docs/en/framework/ui/angular/oauth-module.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP OAuth Package to learn about authentication integration in your app, including essential classes and functions for seamless user management." +} +``` + # ABP OAuth Package The authentication functionality has been moved from @abp/ng.core to @abp/ng.ouath since v7.0. diff --git a/docs/en/framework/ui/angular/overview.md b/docs/en/framework/ui/angular/overview.md index 3b54b395e1..b4dc004f87 100644 --- a/docs/en/framework/ui/angular/overview.md +++ b/docs/en/framework/ui/angular/overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Angular’s tools and utilities for seamless frontend development, enhancing your interactive web UIs with TypeScript and NodeJS." +} +``` + # Angular UI [Angular](https://angular.dev/) is a framework for building interactive, client-side web UIs using [TypeScript](https://www.typescriptlang.org) and [NodeJS](https://nodejs.org). diff --git a/docs/en/framework/ui/angular/page-alerts.md b/docs/en/framework/ui/angular/page-alerts.md index 4275b45f54..9f5c9ff5d7 100644 --- a/docs/en/framework/ui/angular/page-alerts.md +++ b/docs/en/framework/ui/angular/page-alerts.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively display important messages to users using the ABP Framework's Page Alert feature with easy-to-follow examples." +} +``` + # Page Alerts A page alert is useful for displaying an important message to the user. The ABP provides an easy way to show the following alert to the user. diff --git a/docs/en/framework/ui/angular/page-component.md b/docs/en/framework/ui/angular/page-component.md index b9fbc0b0bc..6d5561a0f9 100644 --- a/docs/en/framework/ui/angular/page-component.md +++ b/docs/en/framework/ui/angular/page-component.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to simplify your Angular templates with the ABP `abp-page` component, enhancing code efficiency and structure." +} +``` + # Page Component ABP provides a component that wraps your content with some built-in components to reduce the amount of code you need to write. diff --git a/docs/en/framework/ui/angular/page-toolbar-extensions.md b/docs/en/framework/ui/angular/page-toolbar-extensions.md index 74f79178dd..f734e3b5d7 100644 --- a/docs/en/framework/ui/angular/page-toolbar-extensions.md +++ b/docs/en/framework/ui/angular/page-toolbar-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your Angular UI with custom page toolbar actions, allowing seamless integration of functionalities like modals and API calls." +} +``` + # Page Toolbar Extensions for Angular UI ## Introduction diff --git a/docs/en/framework/ui/angular/password-complexity-indicator-component.md b/docs/en/framework/ui/angular/password-complexity-indicator-component.md index 806b686ece..4918cdc125 100644 --- a/docs/en/framework/ui/angular/password-complexity-indicator-component.md +++ b/docs/en/framework/ui/angular/password-complexity-indicator-component.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the Password Complexity Indicator in your app with default settings for colors, texts, and requirements to enhance user security." +} +``` + # Password Complexity Indicator The `PasswordComplexityIndicatorService` is for calculating the password complexity. diff --git a/docs/en/framework/ui/angular/permission-management-component-replacement.md b/docs/en/framework/ui/angular/permission-management-component-replacement.md index 677100381a..87c9123725 100644 --- a/docs/en/framework/ui/angular/permission-management-component-replacement.md +++ b/docs/en/framework/ui/angular/permission-management-component-replacement.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to replace the PermissionManagementComponent in your ABP Framework application with this step-by-step guide." +} +``` + # How to Replace PermissionManagementComponent ![Permission management modal](./images/permission-management-modal.png) diff --git a/docs/en/framework/ui/angular/permission-management.md b/docs/en/framework/ui/angular/permission-management.md index c797402003..2ee99382a3 100644 --- a/docs/en/framework/ui/angular/permission-management.md +++ b/docs/en/framework/ui/angular/permission-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage user permissions in ABP Framework with practical examples and methods for effective authorization control." +} +``` + # Permission Management A permission is a simple policy that is granted or prohibited for a particular user, role or client. You can read more about [authorization in ABP](../../fundamentals/authorization.md) document. diff --git a/docs/en/framework/ui/angular/projection-strategy.md b/docs/en/framework/ui/angular/projection-strategy.md index 2fa93d1ca4..4cb3c53422 100644 --- a/docs/en/framework/ui/angular/projection-strategy.md +++ b/docs/en/framework/ui/angular/projection-strategy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use `ProjectionStrategy` in ABP Framework to effectively project components with various strategies for enhanced content management." +} +``` + # ProjectionStrategy `ProjectionStrategy` is an abstract class exposed by @abp/ng.core package. There are three projection strategies extending it: `ComponentProjectionStrategy`, `RootComponentProjectionStrategy`, and `TemplateProjectionStrategy`. Implementing the same methods and properties, all of these strategies help you define how your content projection will work. diff --git a/docs/en/framework/ui/angular/pwa-configuration.md b/docs/en/framework/ui/angular/pwa-configuration.md index 918aa4970d..3035d618b5 100644 --- a/docs/en/framework/ui/angular/pwa-configuration.md +++ b/docs/en/framework/ui/angular/pwa-configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily convert your Angular application into a Progressive Web App (PWA) and leverage native features for enhanced user experience." +} +``` + # PWA Configuration [Progressive Web Apps](https://web.dev/progressive-web-apps/) are web applications which, although not as integrated to the OS as a native app, can take advantage of native features. They can be discovered via search engines, installed on devices with a single tap or click, and shared via a regular link. They also can work offline and get updates when new content is available. diff --git a/docs/en/framework/ui/angular/quick-start.md b/docs/en/framework/ui/angular/quick-start.md index dec3a23262..40c74d96e5 100644 --- a/docs/en/framework/ui/angular/quick-start.md +++ b/docs/en/framework/ui/angular/quick-start.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to set up your development environment for ABP Angular 17.3.x with this quick start guide, ensuring a smooth development experience." +} +``` + # ABP Angular Quick Start **In this version ABP uses Angular [17.3.x](https://github.com/angular/angular/tree/17.3.x) version. You don't have to install Angular CLI globally** diff --git a/docs/en/framework/ui/angular/router-events.md b/docs/en/framework/ui/angular/router-events.md index 817667cfb9..8de6ca7272 100644 --- a/docs/en/framework/ui/angular/router-events.md +++ b/docs/en/framework/ui/angular/router-events.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to simplify router event handling in Angular with `RouterEvents`, making your code cleaner and more efficient." +} +``` + # Router Events Simplified `RouterEvents` is a utility service for filtering specific router events and reacting to them. Please see [this page in Angular docs](https://angular.io/api/router/Event) for available router events. diff --git a/docs/en/framework/ui/angular/service-proxies.md b/docs/en/framework/ui/angular/service-proxies.md index 695e3027c4..61513d9788 100644 --- a/docs/en/framework/ui/angular/service-proxies.md +++ b/docs/en/framework/ui/angular/service-proxies.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently create service proxies for Angular applications using ABP Framework, avoiding manual transformations and improving code clarity." +} +``` + # Service Proxies Calling a REST endpoint from Angular applications is common. We usually create **services** matching server-side controllers and **interfaces** matching [DTOs](../../architecture/domain-driven-design/data-transfer-objects.md) to interact with the server. This often results in manually transforming C# code into TypeScript equivalents and that is unfortunate, if not intolerable. diff --git a/docs/en/framework/ui/angular/settings.md b/docs/en/framework/ui/angular/settings.md index f81bc1594c..bae73c4d9e 100644 --- a/docs/en/framework/ui/angular/settings.md +++ b/docs/en/framework/ui/angular/settings.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the ConfigStateService in Angular projects to access server-defined settings effectively with ABP Framework." +} +``` + # Settings You can get settings on the client-side using the [config state service](./config-state.md) if they are allowed by their setting definition on the server-side. diff --git a/docs/en/framework/ui/angular/show-password-directive.md b/docs/en/framework/ui/angular/show-password-directive.md index cacb2550c5..1567338b2a 100644 --- a/docs/en/framework/ui/angular/show-password-directive.md +++ b/docs/en/framework/ui/angular/show-password-directive.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Easily enhance password inputs with the Show Password Directive from ABP Framework, allowing users to toggle visibility for better usability." +} +``` + # Show Password Directive In password input, text can be shown easily via changing input type attribute to `text`. To make this even easier, you can use the `ShowPasswordDirective` which has been exposed by the `@abp/ng.core` package. diff --git a/docs/en/framework/ui/angular/sorting-navigation-elements.md b/docs/en/framework/ui/angular/sorting-navigation-elements.md index 7385a1681c..f88abdc0e8 100644 --- a/docs/en/framework/ui/angular/sorting-navigation-elements.md +++ b/docs/en/framework/ui/angular/sorting-navigation-elements.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to sort navigation elements in ABP Framework, customize sorting behavior, and understand the default algorithm effectively." +} +``` + # Sorting Navigation Elements This documentation describes how the navigation elements are sorted and how to change this default behaviour. diff --git a/docs/en/framework/ui/angular/subscription-service.md b/docs/en/framework/ui/angular/subscription-service.md index e080f8f3fa..b4f43878c6 100644 --- a/docs/en/framework/ui/angular/subscription-service.md +++ b/docs/en/framework/ui/angular/subscription-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage RxJS subscriptions in Angular components using the `SubscriptionService` for efficient resource cleanup." +} +``` + # Managing RxJS Subscriptions `SubscriptionService` is a utility service to provide an easy unsubscription from RxJS observables in Angular components and directives. Please see [why you should unsubscribe from observables on instance destruction](https://angular.io/guide/lifecycle-hooks#cleaning-up-on-instance-destruction). diff --git a/docs/en/framework/ui/angular/testing.md b/docs/en/framework/ui/angular/testing.md index 28da243b47..c0d5ff312c 100644 --- a/docs/en/framework/ui/angular/testing.md +++ b/docs/en/framework/ui/angular/testing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to unit test your ABP Angular UI applications with preconfigured Karma and Jasmine, plus ABP-specific testing topics." +} +``` + # Unit Testing Angular UI ABP Angular UI is tested like any other Angular application. So, [the guide here](https://angular.io/guide/testing) applies to ABP too. That said, we would like to point out some **unit testing topics specific to ABP Angular applications**. diff --git a/docs/en/framework/ui/angular/theme-configurations.md b/docs/en/framework/ui/angular/theme-configurations.md index bdb5189c8b..f052d97e3d 100644 --- a/docs/en/framework/ui/angular/theme-configurations.md +++ b/docs/en/framework/ui/angular/theme-configurations.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure theme settings in Angular for ABP Framework, ensuring your UI styles load correctly with the latest updates." +} +``` + # Angular UI: Theme Configurations Theme packages no longer import styles as CSS modules as of ABP version 6.0. The following style settings need to be included to the angular.json file in order for theme packages to load styles. diff --git a/docs/en/framework/ui/angular/theming.md b/docs/en/framework/ui/angular/theming.md index 1940fc331b..48bf774c17 100644 --- a/docs/en/framework/ui/angular/theming.md +++ b/docs/en/framework/ui/angular/theming.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's Angular UI Theming system, enabling customizable, theme-independent modules for seamless application design and upgrades." +} +``` + # Angular UI: Theming ## Introduction diff --git a/docs/en/framework/ui/angular/toaster-service.md b/docs/en/framework/ui/angular/toaster-service.md index ad08697eeb..f6cc30b112 100644 --- a/docs/en/framework/ui/angular/toaster-service.md +++ b/docs/en/framework/ui/angular/toaster-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the ToasterService in ABP to display customizable toast messages in your Angular applications effortlessly." +} +``` + # Toast Overlay You can use the `ToasterService` in @abp/ng.theme.shared package to display messages in an overlay by placing at the root level in your project. diff --git a/docs/en/framework/ui/angular/track-by-service.md b/docs/en/framework/ui/angular/track-by-service.md index a7df7b80b6..a71be4202c 100644 --- a/docs/en/framework/ui/angular/track-by-service.md +++ b/docs/en/framework/ui/angular/track-by-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to simplify Angular's `TrackByFunction` with the `TrackByService`, enhancing performance in your components effortlessly." +} +``` + # Easy *ngFor trackBy `TrackByService` is a utility service to provide an easy implementation for one of the most frequent needs in Angular templates: `TrackByFunction`. Please see [this page in Angular docs](https://angular.io/guide/template-syntax#ngfor-with-trackby) for its purpose. diff --git a/docs/en/framework/ui/blazor/authentication.md b/docs/en/framework/ui/blazor/authentication.md index a907beb862..a793a784bd 100644 --- a/docs/en/framework/ui/blazor/authentication.md +++ b/docs/en/framework/ui/blazor/authentication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement authentication in Blazor applications using OpenId Connect, with features like registration and password recovery." +} +``` + # Blazor UI: Authentication ````json diff --git a/docs/en/framework/ui/blazor/authorization.md b/docs/en/framework/ui/blazor/authorization.md index 3d66c7949c..fc006136b4 100644 --- a/docs/en/framework/ui/blazor/authorization.md +++ b/docs/en/framework/ui/blazor/authorization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement authorization in Blazor UI with ABP Framework, utilizing role-based and policy-based access control for enhanced security." +} +``` + # Blazor UI: Authorization Blazor applications can use the same authorization system and permissions defined in the server side. diff --git a/docs/en/framework/ui/blazor/basic-theme.md b/docs/en/framework/ui/blazor/basic-theme.md index 031a5f0fd5..4c6bff4674 100644 --- a/docs/en/framework/ui/blazor/basic-theme.md +++ b/docs/en/framework/ui/blazor/basic-theme.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Basic Theme for Blazor UI— a minimalist base to customize and build your own themes with ease!" +} +``` + # Blazor UI: Basic Theme ````json diff --git a/docs/en/framework/ui/blazor/block-busy.md b/docs/en/framework/ui/blazor/block-busy.md index 1c88a48436..38863c8064 100644 --- a/docs/en/framework/ui/blazor/block-busy.md +++ b/docs/en/framework/ui/blazor/block-busy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Block/Busy Service in Blazor UI to disable page elements and enhance user experience with progress indicators." +} +``` + # Blazor UI: Block/Busy Service UI Block disables (blocks) the page or a part of the page. diff --git a/docs/en/framework/ui/blazor/branding.md b/docs/en/framework/ui/blazor/branding.md index 81b4244c25..d6e7e4d358 100644 --- a/docs/en/framework/ui/blazor/branding.md +++ b/docs/en/framework/ui/blazor/branding.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize your Blazor app's branding with the `IBrandingProvider` interface for a personalized user experience." +} +``` + # Blazor UI: Branding ## IBrandingProvider diff --git a/docs/en/framework/ui/blazor/components/submit-button.md b/docs/en/framework/ui/blazor/components/submit-button.md index 86a86f110e..832554c9b1 100644 --- a/docs/en/framework/ui/blazor/components/submit-button.md +++ b/docs/en/framework/ui/blazor/components/submit-button.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the `SubmitButton` component in Blazor UI, designed for easy form submissions with localization support and loading indicators." +} +``` + # Blazor UI: SubmitButton Component `SubmitButton` is a simple wrapper around `Button` component. It is used to be placed inside of page Form or Modal dialogs where it can response to user actions and to be activated as a default button by pressing an ENTER key. Once clicked it will go into the `disabled` state and also it will show a small loading indicator until clicked event is finished. diff --git a/docs/en/framework/ui/blazor/current-tenant.md b/docs/en/framework/ui/blazor/current-tenant.md index a7a9d35fcb..6456acc7cb 100644 --- a/docs/en/framework/ui/blazor/current-tenant.md +++ b/docs/en/framework/ui/blazor/current-tenant.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `ICurrentTenant` service in ABP Framework to access tenant information in multi-tenant applications effectively." +} +``` + # Blazor UI: Current Tenant `ICurrentTenant` service can be used to get information about the current tenant in a [multi-tenant](../../architecture/multi-tenancy) application. `ICurrentTenant` defines the following properties; diff --git a/docs/en/framework/ui/blazor/current-user.md b/docs/en/framework/ui/blazor/current-user.md index 5016ba79aa..43a798f2f1 100644 --- a/docs/en/framework/ui/blazor/current-user.md +++ b/docs/en/framework/ui/blazor/current-user.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `ICurrentUser` service in Blazor to access and display authenticated user information seamlessly." +} +``` + # Blazor UI: Current User `ICurrentUser` service is used to obtain information about the currently authenticated user. Inject the `ICurrentUser` into any component/page and use its properties and methods. diff --git a/docs/en/framework/ui/blazor/customization-overriding-components.md b/docs/en/framework/ui/blazor/customization-overriding-components.md index fb8e4422e5..8855ff89bd 100644 --- a/docs/en/framework/ui/blazor/customization-overriding-components.md +++ b/docs/en/framework/ui/blazor/customization-overriding-components.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize and override Razor components in Blazor applications using ABP Framework for a tailored UI experience." +} +``` + # Blazor UI: Customization / Overriding Components ````json diff --git a/docs/en/framework/ui/blazor/data-table-column-extensions.md b/docs/en/framework/ui/blazor/data-table-column-extensions.md index 4fc12d6cda..b89b825201 100644 --- a/docs/en/framework/ui/blazor/data-table-column-extensions.md +++ b/docs/en/framework/ui/blazor/data-table-column-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to add custom columns to your Blazor UI data tables with the Data Table Column Extensions, enhancing your application's functionality." +} +``` + # Data Table Column Extensions for Blazor UI Data table column extension system allows you to add a **new table column** on the user interface. The example below adds a new column with the "Email Confirmed" title: diff --git a/docs/en/framework/ui/blazor/entity-action-extensions.md b/docs/en/framework/ui/blazor/entity-action-extensions.md index 0383546ddf..ab3d4b3cba 100644 --- a/docs/en/framework/ui/blazor/entity-action-extensions.md +++ b/docs/en/framework/ui/blazor/entity-action-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your Blazor UI by adding custom actions to entity menus with Entity Action Extensions in ABP Framework." +} +``` + # Entity Action Extensions for Blazor UI Entity action extension system allows you to add a **new action** to the action menu for an entity. A **Click Me** action was added to the *User Management* page below: diff --git a/docs/en/framework/ui/blazor/error-handling.md b/docs/en/framework/ui/blazor/error-handling.md index b2e607d3ea..2fae4ff38d 100644 --- a/docs/en/framework/ui/blazor/error-handling.md +++ b/docs/en/framework/ui/blazor/error-handling.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement effective error handling in Blazor UI with ABP Framework, ensuring user-friendly messages and seamless integration with server-side exceptions." +} +``` + # Blazor UI: Error Handling ````json diff --git a/docs/en/framework/ui/blazor/forms-validation.md b/docs/en/framework/ui/blazor/forms-validation.md index dc5de1f6ce..7fb1423e77 100644 --- a/docs/en/framework/ui/blazor/forms-validation.md +++ b/docs/en/framework/ui/blazor/forms-validation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement form validation in ABP Blazor UI using Blazorise's validation infrastructure with practical examples." +} +``` + # Blazor UI: Forms & Validation ABP Blazor UI is based on the [Blazorise](https://blazorise.com/docs) and does not have a built-in form validation infrastructure. However, you can use the [Blazorise validation infrastructure](https://blazorise.com/docs/components/validation) to validate your forms. diff --git a/docs/en/framework/ui/blazor/global-features.md b/docs/en/framework/ui/blazor/global-features.md index cbc1bf28af..605a72f0b1 100644 --- a/docs/en/framework/ui/blazor/global-features.md +++ b/docs/en/framework/ui/blazor/global-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use `GlobalFeatureManager` in Blazor to check and manage global features effectively for your applications." +} +``` + # Blazor UI: Global Features `GlobalFeatureManager` allows you to check the global features in your Blazor applications. diff --git a/docs/en/framework/ui/blazor/global-scripts-styles.md b/docs/en/framework/ui/blazor/global-scripts-styles.md index ef95172c08..76205e1961 100644 --- a/docs/en/framework/ui/blazor/global-scripts-styles.md +++ b/docs/en/framework/ui/blazor/global-scripts-styles.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage global scripts and styles in Blazor apps using ABP, simplifying references and dependency management effortlessly." +} +``` + # Blazor UI: Managing Global Scripts & Styles Some modules may require additional styles or scripts that need to be referenced in **index.html** file. It's not easy to find and update these types of references in Blazor apps. ABP offers a simple, powerful, and modular way to manage global style and scripts in Blazor apps. diff --git a/docs/en/framework/ui/blazor/layout-hooks.md b/docs/en/framework/ui/blazor/layout-hooks.md index 9e29ff69cd..8b85c5e964 100644 --- a/docs/en/framework/ui/blazor/layout-hooks.md +++ b/docs/en/framework/ui/blazor/layout-hooks.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize Blazor layouts using Layout Hooks in the ABP Framework, enabling dynamic content integration while maintaining theme updates." +} +``` + # Blazor UI: Layout Hooks ABP theming system places the page layout into the [theme](theming.md) NuGet packages. That means the final application doesn't include a layout, so you can't directly change the layout code to customize it. diff --git a/docs/en/framework/ui/blazor/localization.md b/docs/en/framework/ui/blazor/localization.md index 77a4c516c3..c8de94c89c 100644 --- a/docs/en/framework/ui/blazor/localization.md +++ b/docs/en/framework/ui/blazor/localization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement localization in Blazor apps using `IStringLocalizer` for seamless multi-language support with ABP Framework." +} +``` + # Blazor UI: Localization Blazor applications can reuse the same `IStringLocalizer` service that is explained in the [localization document](../../fundamentals/localization.md). diff --git a/docs/en/framework/ui/blazor/message.md b/docs/en/framework/ui/blazor/message.md index ee47aa6b52..850b199c29 100644 --- a/docs/en/framework/ui/blazor/message.md +++ b/docs/en/framework/ui/blazor/message.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Blazor UI Message Service to display user-friendly success messages in your app with ease." +} +``` + # Blazor UI: Message Service UI message service is used to show nice-looking messages to the user as a blocking dialog. diff --git a/docs/en/framework/ui/blazor/navigation-menu.md b/docs/en/framework/ui/blazor/navigation-menu.md index 4019538d42..be708963d0 100644 --- a/docs/en/framework/ui/blazor/navigation-menu.md +++ b/docs/en/framework/ui/blazor/navigation-menu.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively add and manage navigation menus in your ABP Framework application using the modular menu infrastructure." +} +``` + # Blazor UI: Navigation / Menu Every application has a main menu to allow users to navigate to pages/screens of the application. Some applications may contain more than one menu in different sections of the UI. diff --git a/docs/en/framework/ui/blazor/notification.md b/docs/en/framework/ui/blazor/notification.md index 57578cafc4..1f483f67a8 100644 --- a/docs/en/framework/ui/blazor/notification.md +++ b/docs/en/framework/ui/blazor/notification.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to implement toast notifications in Blazor UI with the `IUiNotificationService` for a better user experience." +} +``` + # Blazor UI: Notification Service `IUiNotificationService` is used to show toast style notifications on the user interface. diff --git a/docs/en/framework/ui/blazor/overall.md b/docs/en/framework/ui/blazor/overall.md index 54a545759e..23077e307e 100644 --- a/docs/en/framework/ui/blazor/overall.md +++ b/docs/en/framework/ui/blazor/overall.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's Blazor UI integration, simplifying your development with various hosting models for building interactive web applications." +} +``` + # Blazor UI: Overall [Blazor](https://docs.microsoft.com/en-us/aspnet/core/blazor/) is a framework for building interactive client-side web UI with .NET. It enables .NET developers to create Single-Page Web Applications using C# and the Razor syntax. diff --git a/docs/en/framework/ui/blazor/page-alerts.md b/docs/en/framework/ui/blazor/page-alerts.md index 14554ecdea..bde73820d6 100644 --- a/docs/en/framework/ui/blazor/page-alerts.md +++ b/docs/en/framework/ui/blazor/page-alerts.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement page alerts in Blazor UI using IAlertManager for effective user notifications in your applications." +} +``` + # Blazor UI: Page Alerts It is common to show error, warning or information alerts to inform the user. An example *Service Interruption* alert is shown below: diff --git a/docs/en/framework/ui/blazor/page-header.md b/docs/en/framework/ui/blazor/page-header.md index d21db1ab59..ed2e16903d 100644 --- a/docs/en/framework/ui/blazor/page-header.md +++ b/docs/en/framework/ui/blazor/page-header.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Blazor `PageHeader` component to customize page titles, breadcrumbs, and toolbars for your ABP Framework applications." +} +``` + # Blazor UI: Page Header You can use the`PageHeader` component to set the page title, the breadcrumb items and the toolbar items for a page. Before using the `PageHeader` component, you need to add a using statement for the `Volo.Abp.AspNetCore.Components.Web.Theming.Layout` namespace. diff --git a/docs/en/framework/ui/blazor/page-layout.md b/docs/en/framework/ui/blazor/page-layout.md index 5680166608..75666fd17a 100644 --- a/docs/en/framework/ui/blazor/page-layout.md +++ b/docs/en/framework/ui/blazor/page-layout.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to define page-specific elements with PageLayout in ABP Framework, enhancing your application's navigation and title management." +} +``` + # Page Layout PageLayout is used to define page-specific elements across application. diff --git a/docs/en/framework/ui/blazor/page-progress.md b/docs/en/framework/ui/blazor/page-progress.md index 4c6fb72d97..0616a63e80 100644 --- a/docs/en/framework/ui/blazor/page-progress.md +++ b/docs/en/framework/ui/blazor/page-progress.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Page Progress feature in Blazor UI to enhance user experience with automated and customizable loading indicators." +} +``` + # Blazor UI: Page Progress Page Progress is used to show a progress bar indicator on top of the page and to show to the user that currently a long running process is in the work. diff --git a/docs/en/framework/ui/blazor/page-toolbar-extensions.md b/docs/en/framework/ui/blazor/page-toolbar-extensions.md index 555bf1d145..7e341c50fe 100644 --- a/docs/en/framework/ui/blazor/page-toolbar-extensions.md +++ b/docs/en/framework/ui/blazor/page-toolbar-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your Blazor UI by adding custom components to the page toolbar, like an \"Import users from Excel\" button." +} +``` + # Page Toolbar Extensions for Blazor UI Page toolbar system allows you to add components to the toolbar of any page. The page toolbar is the area right to the header of a page. A button ("Import users from excel") was added to the user management page below: diff --git a/docs/en/framework/ui/blazor/pwa-configuration.md b/docs/en/framework/ui/blazor/pwa-configuration.md index 6c2396b214..28ba4cacd9 100644 --- a/docs/en/framework/ui/blazor/pwa-configuration.md +++ b/docs/en/framework/ui/blazor/pwa-configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure Progressive Web Apps (PWAs) with Blazor WebAssembly in ABP Framework for enhanced offline and installable experiences." +} +``` + # PWA Configuration [PWAs (Progressive Web Apps)](https://web.dev/progressive-web-apps/) are developed using specific technologies to allow applications to take advantage of both web and native app features. diff --git a/docs/en/framework/ui/blazor/routing.md b/docs/en/framework/ui/blazor/routing.md index 59f698d37e..9c77bddc87 100644 --- a/docs/en/framework/ui/blazor/routing.md +++ b/docs/en/framework/ui/blazor/routing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance Blazor's routing in ABP Framework by adding assemblies for modular development with the AbpRouterOptions configuration." +} +``` + # Blazor UI: Routing Blazor has its own [routing system](https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing) and you can use it in your applications. ABP doesn't add any new feature to it, except one small improvement for the [modular development](../../architecture/modularity/basics.md). diff --git a/docs/en/framework/ui/blazor/settings.md b/docs/en/framework/ui/blazor/settings.md index 8bcea2323c..6e735c9468 100644 --- a/docs/en/framework/ui/blazor/settings.md +++ b/docs/en/framework/ui/blazor/settings.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the ISettingProvider in Blazor applications to efficiently manage and retrieve settings values." +} +``` + # Blazor UI: Settings Blazor applications can reuse the same `ISettingProvider` service that is explained in the [settings document](../../infrastructure/settings.md). diff --git a/docs/en/framework/ui/blazor/theming.md b/docs/en/framework/ui/blazor/theming.md index 9a056580bb..0eae00ea47 100644 --- a/docs/en/framework/ui/blazor/theming.md +++ b/docs/en/framework/ui/blazor/theming.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP's UI Theming system for Blazor, enabling customizable, theme-independent applications with reusable modules and easy upgrades." +} +``` + # Blazor UI: Theming ````json diff --git a/docs/en/framework/ui/blazor/toolbars.md b/docs/en/framework/ui/blazor/toolbars.md index b365116b2d..d9131b78b2 100644 --- a/docs/en/framework/ui/blazor/toolbars.md +++ b/docs/en/framework/ui/blazor/toolbars.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and customize toolbars in Blazor UI, enhancing your app's interface with user-friendly features." +} +``` + # Blazor UI: Toolbars The Toolbar system is used to define **toolbars** on the user interface. Modules (or your application) can add **items** to a toolbar, then the [theme](theming.md) renders the toolbar on the **layout**. diff --git a/docs/en/framework/ui/common/utils/linked-list.md b/docs/en/framework/ui/common/utils/linked-list.md index 8c6c425e5c..cb9328113f 100644 --- a/docs/en/framework/ui/common/utils/linked-list.md +++ b/docs/en/framework/ui/common/utils/linked-list.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and use a doubly linked list with the @abp/utils package in Angular and MVC, enhancing your data structure skills!" +} +``` + # Linked List (Doubly) diff --git a/docs/en/framework/ui/index.md b/docs/en/framework/ui/index.md index 1e70914225..d892c63c69 100644 --- a/docs/en/framework/ui/index.md +++ b/docs/en/framework/ui/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's UI options, including MVC, Blazor, Angular, React Native, and MAUI, to build dynamic applications effortlessly." +} +``` + # ABP UI Options ABP provides several options for building the user interface (UI) in your applications. Here are some of the officially supported UI options you can use with ABP: diff --git a/docs/en/framework/ui/maui/index.md b/docs/en/framework/ui/maui/index.md index 573278a060..6f8ed6a036 100644 --- a/docs/en/framework/ui/maui/index.md +++ b/docs/en/framework/ui/maui/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to develop mobile applications with the ABP Commercial platform using MAUI, integrating seamlessly with your ABP backend." +} +``` + ````json //[doc-params] { diff --git a/docs/en/framework/ui/mvc-razor-pages/auto-complete-select.md b/docs/en/framework/ui/mvc-razor-pages/auto-complete-select.md index 760587084d..69f92be3f2 100644 --- a/docs/en/framework/ui/mvc-razor-pages/auto-complete-select.md +++ b/docs/en/framework/ui/mvc-razor-pages/auto-complete-select.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to implement an auto-complete select component in ASP.NET Core MVC/Razor Pages with pagination and server-side search using ABP." +} +``` + # ASP.NET Core MVC / Razor Pages: Auto-Complete Select A simple select component sometimes isn't useful with a huge amount of data. ABP Provides a select implementation that works with pagination and server-side search via using [Select2](https://select2.org/). It works with single or multiple choices well. diff --git a/docs/en/framework/ui/mvc-razor-pages/basic-theme.md b/docs/en/framework/ui/mvc-razor-pages/basic-theme.md index ca4ca98144..88bcbcea55 100644 --- a/docs/en/framework/ui/mvc-razor-pages/basic-theme.md +++ b/docs/en/framework/ui/mvc-razor-pages/basic-theme.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Basic Theme for ASP.NET Core MVC/Razor Pages—minimalist, customizable, and RTL-supported, perfect for building your own designs." +} +``` + # ASP.NET Core MVC / Razor Pages: The Basic Theme The Basic Theme is a theme implementation for the ASP.NET Core MVC / Razor Pages UI. It is a minimalist theme that doesn't add any styling on top of the plain [Bootstrap](https://getbootstrap.com/). You can take the Basic Theme as the **base theme** and build your own theme or styling on top of it. See the *Customization* section. diff --git a/docs/en/framework/ui/mvc-razor-pages/branding.md b/docs/en/framework/ui/mvc-razor-pages/branding.md index 46c05d7d7e..e8e9309ff8 100644 --- a/docs/en/framework/ui/mvc-razor-pages/branding.md +++ b/docs/en/framework/ui/mvc-razor-pages/branding.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize your ASP.NET Core application's branding with `IBrandingProvider` to display your app name and logo effortlessly." +} +``` + # ASP.NET Core MVC / Razor Pages: Branding ## IBrandingProvider diff --git a/docs/en/framework/ui/mvc-razor-pages/bundling-minification.md b/docs/en/framework/ui/mvc-razor-pages/bundling-minification.md index b50a144bfe..0114361188 100644 --- a/docs/en/framework/ui/mvc-razor-pages/bundling-minification.md +++ b/docs/en/framework/ui/mvc-razor-pages/bundling-minification.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently bundle and minify JavaScript and CSS in ASP.NET Core MVC using ABP's built-in solutions for better performance." +} +``` + # ASP.NET Core MVC Bundling & Minification diff --git a/docs/en/framework/ui/mvc-razor-pages/client-side-package-management.md b/docs/en/framework/ui/mvc-razor-pages/client-side-package-management.md index 31e54079ba..cc51b88349 100644 --- a/docs/en/framework/ui/mvc-razor-pages/client-side-package-management.md +++ b/docs/en/framework/ui/mvc-razor-pages/client-side-package-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage client-side packages with ABP Framework, including using NPM/Yarn for optimal compatibility and stability." +} +``` + # ASP.NET Core MVC Client Side Package Management diff --git a/docs/en/framework/ui/mvc-razor-pages/customization-user-interface.md b/docs/en/framework/ui/mvc-razor-pages/customization-user-interface.md index bc3b7d8fc2..a50ce50d07 100644 --- a/docs/en/framework/ui/mvc-razor-pages/customization-user-interface.md +++ b/docs/en/framework/ui/mvc-razor-pages/customization-user-interface.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize the user interface in ASP.NET Core MVC/Razor Pages by overriding page models and Razor pages for enhanced functionality and design." +} +``` + # ASP.NET Core (MVC / Razor Pages) User Interface Customization Guide This document explains how to override the user interface of a depended [application module](../../../modules) or [theme](theming.md) for ASP.NET Core MVC / Razor Page applications. diff --git a/docs/en/framework/ui/mvc-razor-pages/data-table-column-extensions.md b/docs/en/framework/ui/mvc-razor-pages/data-table-column-extensions.md index 9ad7f7b184..6af6338824 100644 --- a/docs/en/framework/ui/mvc-razor-pages/data-table-column-extensions.md +++ b/docs/en/framework/ui/mvc-razor-pages/data-table-column-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your ASP.NET Core UI by adding custom data table columns with our easy-to-follow guide on data table column extensions." +} +``` + # Data Table Column Extensions for ASP.NET Core UI ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/data-tables.md b/docs/en/framework/ui/mvc-razor-pages/data-tables.md index 5418b15710..fb60d40aef 100644 --- a/docs/en/framework/ui/mvc-razor-pages/data-tables.md +++ b/docs/en/framework/ui/mvc-razor-pages/data-tables.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate DataTables.Net with ABP Framework for seamless tabular data display in your ASP.NET Core MVC/Razor Pages applications." +} +``` + # ASP.NET Core MVC / Razor Pages: Data Tables A Data Table (aka Data Grid) is a UI component to show tabular data to the users. There are a lot of Data table components/libraries and **you can use any one you like** with the ABP. However, the startup templates come with the [DataTables.Net](https://datatables.net/) library as **pre-installed and configured**. ABP provides adapters for this library and make it easy to use with the API endpoints. diff --git a/docs/en/framework/ui/mvc-razor-pages/dynamic-javascript-proxies.md b/docs/en/framework/ui/mvc-razor-pages/dynamic-javascript-proxies.md index 02053f4c9f..ab2f309131 100644 --- a/docs/en/framework/ui/mvc-razor-pages/dynamic-javascript-proxies.md +++ b/docs/en/framework/ui/mvc-razor-pages/dynamic-javascript-proxies.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use dynamic JavaScript API client proxies in ABP Framework for efficient runtime API calls, enhancing your development experience." +} +``` + # Dynamic JavaScript API Client Proxies It is typical to consume your HTTP APIs from your JavaScript code. To do that, you normally deal with low level AJAX calls, like $.ajax, or better [abp.ajax](javascript-api/ajax.md). ABP provides **a better way** to call your HTTP APIs from your JavaScript code: JavaScript API Client Proxies! diff --git a/docs/en/framework/ui/mvc-razor-pages/entity-action-extensions.md b/docs/en/framework/ui/mvc-razor-pages/entity-action-extensions.md index 1c0b2e73b8..d54a6208d0 100644 --- a/docs/en/framework/ui/mvc-razor-pages/entity-action-extensions.md +++ b/docs/en/framework/ui/mvc-razor-pages/entity-action-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your ASP.NET Core UI with custom entity action extensions, enabling tailored user interactions for improved functionality." +} +``` + # Entity Action Extensions for ASP.NET Core UI ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/forms-validation.md b/docs/en/framework/ui/mvc-razor-pages/forms-validation.md index 53684711cd..a3258992e0 100644 --- a/docs/en/framework/ui/mvc-razor-pages/forms-validation.md +++ b/docs/en/framework/ui/mvc-razor-pages/forms-validation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how ABP simplifies forms and validation in ASP.NET Core MVC/Razor Pages, with automated localization and client-side validation." +} +``` + # ASP.NET Core MVC / Razor Pages: Forms & Validation ABP provides infrastructure and conventions to make easier to create forms, localize display names for the form elements and handle server & client side validation; diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/ajax.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/ajax.md index 6575c98b8e..3ee58ca458 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/ajax.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/ajax.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to simplify AJAX calls in ASP.NET Core with the `abp.ajax` API, offering error handling, CSRF protection, and customization options." +} +``` + # ASP.NET Core MVC / Razor Pages UI JavaScript AJAX API `abp.ajax` API provides a convenient way of performing AJAX calls to the server. It internally uses JQuery's `$.ajax`, but automates some common tasks for you; diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/auth.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/auth.md index 80ba9bed1b..5f31c184ec 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/auth.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/auth.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the JavaScript Auth API in ABP Framework to manage user permissions and conditionally adjust your UI." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Auth API Auth API allows you to check permissions (policies) for the current user in the client side. In this way, you can conditionally show/hide UI parts or perform your client side logic based on the current permissions. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/block-busy.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/block-busy.md index 4262b8ff7a..cb053de571 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/block-busy.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/block-busy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the JavaScript UI Block API in ASP.NET Core MVC to efficiently disable parts of your page during operations." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript UI Block/Busy API UI Block API disables (blocks) the page or a part of the page. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/current-user.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/current-user.md index ca0797e105..e99fea8264 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/current-user.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/current-user.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp.currentUser` JavaScript API to access current user information in your ASP.NET Core MVC/Razor Pages applications." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript CurrentUser API `abp.currentUser` is an object that contains information about the current user of the application. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/dom.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/dom.md index 07713d156d..ecc8648443 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/dom.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/dom.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the ABP Framework's JavaScript DOM API to manage dynamic elements in your ASP.NET Core MVC/Razor Pages applications efficiently." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript DOM API `abp.dom` (Document Object Model) provides events that you can subscribe to get notified when elements dynamically added to and removed from the page (DOM). diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/events.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/events.md index 3425355f44..1cb90e6819 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/events.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/events.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp.event` API to publish, subscribe, and manage JavaScript events in your ASP.NET Core MVC/Razor Pages UI for better component communication." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Events API `abp.event` object is a simple service that is used to publish and subscribe to global events **in the browser**. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/features.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/features.md index 34dee96fce..6e9f13e70e 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/features.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp.features` JavaScript API to access and manage feature values in your ASP.NET Core applications." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Features API `abp.features` API allows you to check features or get the values of the features on the client side. You can read the current value of a feature in the client side only if it is allowed by the feature definition (on the server side). diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/global-features.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/global-features.md index 55d36bb7a1..f25241b36b 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/global-features.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/global-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp.globalFeatures` JavaScript API to access enabled global features in your ABP Framework applications." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Global Features API `abp.globalFeatures` API allows you to get the enabled features of the [Global Features](../../../infrastructure/global-features.md) in the client side. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/index.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/index.md index a8f95bb7fb..193575def6 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/index.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's JavaScript APIs for seamless integration in ASP.NET Core MVC/Razor Pages, enhancing client-side functionality and server-side interaction." +} +``` + # JavaScript API ABP provides a set of JavaScript APIs for ASP.NET Core MVC / Razor Pages applications. They can be used to perform common application requirements easily in the client side and integrate to the server side. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/localization.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/localization.md index d4266d0a0b..d0279f557e 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/localization.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/localization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the JavaScript Localization API in ABP Framework to access server-side localization resources on the client side." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Localization API Localization API allows you to reuse the server side localization resources in the client side. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/logging.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/logging.md index 9b3902760b..63bfdfa7d0 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/logging.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement client-side logging with the `abp.log` API in ASP.NET Core MVC/Razor Pages for effective debugging and error tracking." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Logging API `abp.log` API is used to write simple logs in the client side. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md index ab9bf084df..e948aea5c1 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the ABP Framework's Message API for displaying user-friendly alerts in ASP.NET Core MVC/Razor Pages with SweetAlert integration." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Message API Message API is used to show nice looking messages to the user as a blocking dialog. Message API is an abstraction provided by the ABP and implemented using the [SweetAlert](https://sweetalert.js.org/) library by default. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md index 970d35b851..c3b5e63e06 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Notify API in ABP Framework to create toast notifications with ease, enhancing user experience in your ASP.NET Core apps." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Notify API Notify API is used to show toast style, auto disappearing UI notifications to the end user. It is implemented by the [Toastr](https://github.com/CodeSeven/toastr) library by default. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/resource-loader.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/resource-loader.md index 10b8c36f59..3294bf5bc8 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/resource-loader.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/resource-loader.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp.ResourceLoader` API in ASP.NET Core to efficiently load and execute JavaScript and CSS files on demand." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Resource Loader API `abp.ResourceLoader` is a service that can load a JavaScript or CSS file on demand. It guarantees to load the file only once even if you request multiple times. diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/settings.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/settings.md index cab2bcf98f..13805f08fe 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/settings.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/settings.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to utilize the JavaScript Setting API in ABP Framework to access client-side settings efficiently and enhance your ASP.NET Core applications." +} +``` + # ASP.NET Core MVC / Razor Pages UI: JavaScript Setting API Localization API allows you to get the values of the settings on the client side. You can read the current value of a setting in the client side only if it is allowed by the setting definition (on the server side). diff --git a/docs/en/framework/ui/mvc-razor-pages/layout-hooks.md b/docs/en/framework/ui/mvc-razor-pages/layout-hooks.md index 71e82e8e05..f194f6bba3 100644 --- a/docs/en/framework/ui/mvc-razor-pages/layout-hooks.md +++ b/docs/en/framework/ui/mvc-razor-pages/layout-hooks.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize your ABP Framework layout using Layout Hooks to enhance your ASP.NET Core MVC/Razor Pages applications." +} +``` + # ASP.NET Core MVC / Razor Pages: Layout Hooks ABP theming system places the page layout into the [theme](theming.md) NuGet packages. That means the final application doesn't include a `Layout.cshtml`, so you can't directly change the layout code to customize it. diff --git a/docs/en/framework/ui/mvc-razor-pages/modals.md b/docs/en/framework/ui/mvc-razor-pages/modals.md index 5cfee1a3ab..d37575cc26 100644 --- a/docs/en/framework/ui/mvc-razor-pages/modals.md +++ b/docs/en/framework/ui/mvc-razor-pages/modals.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how ABP Framework simplifies modal management in ASP.NET Core MVC/Razor Pages, automating tasks for enhanced user experience." +} +``` + # ASP.NET Core MVC / Razor Pages UI: Modals While you can continue to use the standard [Bootstrap way](https://getbootstrap.com/docs/4.5/components/modal/) to create, open and manage modals in your applications, ABP provides a **flexible** way to manage modals by **automating common tasks** for you. diff --git a/docs/en/framework/ui/mvc-razor-pages/navigation-menu.md b/docs/en/framework/ui/mvc-razor-pages/navigation-menu.md index e9d025b696..41cc31f77f 100644 --- a/docs/en/framework/ui/mvc-razor-pages/navigation-menu.md +++ b/docs/en/framework/ui/mvc-razor-pages/navigation-menu.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively manage navigation menus in your ABP Framework applications, enabling modular menu item integration with ease." +} +``` + # ASP.NET Core MVC / Razor Pages UI: Navigation Menu Every application has a main menu to allow users to navigate to pages/screens of the application. Some applications may contain more than one menu in different sections of the UI. diff --git a/docs/en/framework/ui/mvc-razor-pages/overall.md b/docs/en/framework/ui/mvc-razor-pages/overall.md index 657fb42df7..fc5b0b0ac0 100644 --- a/docs/en/framework/ui/mvc-razor-pages/overall.md +++ b/docs/en/framework/ui/mvc-razor-pages/overall.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to build web applications with ABP using ASP.NET Core MVC and Razor Pages for a streamlined, maintainable development experience." +} +``` + # ASP.NET Core MVC / Razor Pages UI ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/page-alerts.md b/docs/en/framework/ui/mvc-razor-pages/page-alerts.md index d1fa5e6514..80e4285492 100644 --- a/docs/en/framework/ui/mvc-razor-pages/page-alerts.md +++ b/docs/en/framework/ui/mvc-razor-pages/page-alerts.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement user alerts in ASP.NET Core MVC/Razor Pages with ABP Framework for effective communication in your applications." +} +``` + # ASP.NET Core MVC / Razor Pages: Page Alerts It is common to show error, warning or information alerts to inform the user. An example *Service Interruption* alert is shown below: diff --git a/docs/en/framework/ui/mvc-razor-pages/page-header.md b/docs/en/framework/ui/mvc-razor-pages/page-header.md index 7d760f6ec7..329c447054 100644 --- a/docs/en/framework/ui/mvc-razor-pages/page-header.md +++ b/docs/en/framework/ui/mvc-razor-pages/page-header.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `IPageLayout` service in ASP.NET Core MVC/Razor Pages to effectively set page titles and manage breadcrumbs for enhanced navigation." +} +``` + # ASP.NET Core MVC / Razor Pages: Page Header `IPageLayout` service can be used to set the page title, selected menu item and the breadcrumb items for a page. It's the [theme](theming.md)'s responsibility to render these on the page. diff --git a/docs/en/framework/ui/mvc-razor-pages/page-toolbar-extensions.md b/docs/en/framework/ui/mvc-razor-pages/page-toolbar-extensions.md index fa5a3a8941..54ad4e182c 100644 --- a/docs/en/framework/ui/mvc-razor-pages/page-toolbar-extensions.md +++ b/docs/en/framework/ui/mvc-razor-pages/page-toolbar-extensions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your ASP.NET Core UI with custom page toolbar extensions, adding buttons and functionality to improve user experience." +} +``` + # Page Toolbar Extensions for ASP.NET Core UI Page toolbar system allows you to add components to the toolbar of any page. The page toolbar is the area right to the header of a page. A button ("Import users from excel") was added to the user management page below: diff --git a/docs/en/framework/ui/mvc-razor-pages/security-headers.md b/docs/en/framework/ui/mvc-razor-pages/security-headers.md index a54697aca4..a804145e10 100644 --- a/docs/en/framework/ui/mvc-razor-pages/security-headers.md +++ b/docs/en/framework/ui/mvc-razor-pages/security-headers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enhance your application's security with essential HTTP headers using ABP Framework's `UseAbpSecurityHeaders` middleware." +} +``` + # Security Headers ABP allows you to add frequently used security headers into your application. The following security headers will be added as response headers to your application if you use the `UseAbpSecurityHeaders` middleware: diff --git a/docs/en/framework/ui/mvc-razor-pages/static-javascript-proxies.md b/docs/en/framework/ui/mvc-razor-pages/static-javascript-proxies.md index ac63334e51..7f7cb042a2 100644 --- a/docs/en/framework/ui/mvc-razor-pages/static-javascript-proxies.md +++ b/docs/en/framework/ui/mvc-razor-pages/static-javascript-proxies.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use static JavaScript API client proxies with ABP for efficient HTTP API calls, enhancing performance and development ease." +} +``` + # Static JavaScript API Client Proxies It is typical to consume your HTTP APIs from your JavaScript code. To do that, you normally deal with low level AJAX calls, like $.ajax, or better [abp.ajax](javascript-api/ajax.md). ABP provides **a better way** to call your HTTP APIs from your JavaScript code: JavaScript API Client Proxies! diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/alerts.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/alerts.md index cf19e31e29..f88ce17401 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/alerts.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/alerts.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and customize alerts using the `abp-alert` component in ABP Framework, with examples and attribute details for effective notifications." +} +``` + # Alerts ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/badges.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/badges.md index c627273062..358823b69d 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/badges.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/badges.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use ABP Tag Helpers to create stylish badges in your web applications with customizable attributes and easy examples." +} +``` + # Badges ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/blockquote.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/blockquote.md index a63187aeb3..be6a207578 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/blockquote.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/blockquote.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp-blockquote` component to create styled blockquotes with proper HTML structure and classes in your ABP applications." +} +``` + # Blockquote `abp-blockquote` is the main container for blockquote items. diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/borders.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/borders.md index e1d98ac7d8..76aa6639ae 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/borders.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/borders.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp-border` Tag Helper for versatile border styling in your ABP applications with clear examples and a demo." +} +``` + # Borders ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/breadcrumbs.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/breadcrumbs.md index b7082696c5..2d995eef8d 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/breadcrumbs.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/breadcrumbs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize breadcrumbs in your ABP Framework applications with the `abp-breadcrumb` component for improved navigation." +} +``` + # Breadcrumbs ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/button-groups.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/button-groups.md index bfd558f89e..f9e9753d5a 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/button-groups.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/button-groups.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use `abp-button-group` for creating grouped buttons in your ABP Framework projects, with customizable directions and sizes." +} +``` + # Button groups ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/buttons.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/buttons.md index 65e3ee2cf8..75b493a9e2 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/buttons.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/buttons.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the `abp-button` element for creating versatile buttons in your projects. Learn about styles, sizes, and attributes to enhance your UI efficiently." +} +``` + # Buttons ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/cards.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/cards.md index d7f3896cdd..45f0ba2069 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/cards.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/cards.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp-card` component in ABP Framework to create stylish and functional content containers effortlessly." +} +``` + # Cards ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/carousel.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/carousel.md index 3b91087838..907eeff717 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/carousel.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/carousel.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize the `abp-carousel` component in ABP Framework with easy-to-follow examples and attributes." +} +``` + # Carousel ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/collapse.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/collapse.md index dfbe8ea248..46813d2011 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/collapse.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/collapse.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use `abp-collapse-body` and `abp-collapse-id` to create dynamic content visibility in your ABP Framework projects." +} +``` + # Collapse ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dropdowns.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dropdowns.md index 75d57479b5..923dcc08ee 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dropdowns.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dropdowns.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize dropdowns in the ABP Framework with easy-to-follow examples and attributes for enhanced user interaction." +} +``` + # Dropdowns ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dynamic-forms.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dynamic-forms.md index 6b9a07f63a..c83f4a947b 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dynamic-forms.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/dynamic-forms.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create dynamic forms using `abp-dynamic-form` with a C# model, enhancing your ABP Framework applications effortlessly." +} +``` + # Dynamic Forms ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/figure.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/figure.md index 20f0450565..b6d7cf8c8e 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/figure.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/figure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp-figure` component to create responsive images with captions in your Bootstrap projects effortlessly." +} +``` + # Figures `abp-figure` is the main container for bootstrap figure items. diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md index 9230075ed3..67e16ab3ab 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to efficiently build forms using ABP Framework's input tag helpers, enhancing your ASP.NET Core applications with ease." +} +``` + # Form Elements ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/grids.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/grids.md index b33fa03c46..fdad8ceed5 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/grids.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/grids.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's tag helpers for Bootstrap's grid system, including equal width columns and column breakers, to enhance your web development experience." +} +``` + # Grids ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/index.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/index.md index 02937c7215..d986d65b43 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/index.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Tag Helpers for ASP.NET Core to simplify UI development with type-safe Bootstrap components and enhance your coding efficiency." +} +``` + # ABP Tag Helpers ABP defines a set of **tag helper components** to simply the user interface development for ASP.NET Core (MVC / Razor Pages) applications. diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/list-groups.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/list-groups.md index 08b942bd09..f30ef72a1e 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/list-groups.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/list-groups.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use `abp-list-group` to create structured lists in your ABP Framework applications, complete with examples and attributes." +} +``` + # List Groups ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/modals.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/modals.md index eff7d5ebe3..8f55ac5594 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/modals.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/modals.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily create and customize modals using the `abp-modal` Tag Helper in ABP Framework, enhancing your web application's user experience." +} +``` + # Modals > This document explains the details of the `abp-modal` Tag Helper, which simplifies to build the HTML markup for a modal dialog. Read [that documentation](../modals.md) to learn how to work with modals. diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/navs.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/navs.md index 9c8347b831..720eee42aa 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/navs.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/navs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the `abp-nav` tag helper for creating stylish navigation components in your ABP Framework applications." +} +``` + # Navs ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/paginator.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/paginator.md index c30e68eed9..b7054bf2ef 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/paginator.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/paginator.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the `abp-paginator` tag in your ABP Framework project for seamless pagination with customizable options." +} +``` + # Paginator ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/popovers.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/popovers.md index 55bb9fb0f6..04ff130361 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/popovers.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/popovers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize popovers in your ABP Framework applications with the `abp-popover` tag, enhancing user interaction effortlessly." +} +``` + # Popovers ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/progress-bars.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/progress-bars.md index 1f723f80ae..5f31d25ee3 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/progress-bars.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/progress-bars.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize progress bars using the `abp-progress-bar` tag in your ABP Framework applications with practical examples and demos." +} +``` + # Progress Bars ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tables.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tables.md index db30db6a09..08d98649f1 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tables.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tables.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize tables using the `abp-table` component in ABP Framework for responsive and user-friendly designs." +} +``` + # Tables ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tabs.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tabs.md index 4b8763dc4e..bea9035865 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tabs.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tabs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively use the `abp-tab` component for seamless tab navigation in your ABP Framework applications with practical examples." +} +``` + # Tabs ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tooltips.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tooltips.md index 55b6e574e8..5e3a885699 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tooltips.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/tooltips.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement tooltips in your ABP Framework applications with easy examples and demos for enhanced user interaction." +} +``` + # Tooltips ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/testing.md b/docs/en/framework/ui/mvc-razor-pages/testing.md index b637b52be4..f05084f791 100644 --- a/docs/en/framework/ui/mvc-razor-pages/testing.md +++ b/docs/en/framework/ui/mvc-razor-pages/testing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to leverage ABP's testing infrastructure for ASP.NET Core MVC/Razor Pages, enhancing your integration testing capabilities." +} +``` + # ASP.NET Core MVC / Razor Pages: Testing > You can follow the [ASP.NET Core Integration Tests documentation](https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests) to learn details of ASP.NET Core integration tests. This document explains the additional test infrastructure provided by the ABP. diff --git a/docs/en/framework/ui/mvc-razor-pages/theming.md b/docs/en/framework/ui/mvc-razor-pages/theming.md index 895032f1d7..ff73b3ad1b 100644 --- a/docs/en/framework/ui/mvc-razor-pages/theming.md +++ b/docs/en/framework/ui/mvc-razor-pages/theming.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement flexible UI theming in ABP Framework, enabling theme-independent modules and easy customization for your applications." +} +``` + # ASP.NET Core MVC / Razor Pages: UI Theming ## Introduction diff --git a/docs/en/framework/ui/mvc-razor-pages/toolbars.md b/docs/en/framework/ui/mvc-razor-pages/toolbars.md index 8c7660e596..bf6f020151 100644 --- a/docs/en/framework/ui/mvc-razor-pages/toolbars.md +++ b/docs/en/framework/ui/mvc-razor-pages/toolbars.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to define and customize toolbars in your ASP.NET Core MVC/Razor Pages UI, enhancing user experience with flexible UI components." +} +``` + # ASP.NET Core MVC / Razor Pages UI: Toolbars The Toolbar system is used to define **toolbars** on the user interface. Modules (or your application) can add **items** to a toolbar, then the [theme](theming.md) renders the toolbar on the **layout**. diff --git a/docs/en/framework/ui/mvc-razor-pages/widgets.md b/docs/en/framework/ui/mvc-razor-pages/widgets.md index 78c7012fd5..ac9901733b 100644 --- a/docs/en/framework/ui/mvc-razor-pages/widgets.md +++ b/docs/en/framework/ui/mvc-razor-pages/widgets.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create reusable widgets in ABP Framework, enhancing your ASP.NET Core applications with modular, scriptable components for dynamic dashboards." +} +``` + # Widgets ABP provides a model and infrastructure to create **reusable widgets**. Widget system is an extension to [ASP.NET Core's ViewComponents](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components). Widgets are especially useful when you want to; diff --git a/docs/en/framework/ui/react-native/index.md b/docs/en/framework/ui/react-native/index.md index 4b6a0b5ec7..74d295c496 100644 --- a/docs/en/framework/ui/react-native/index.md +++ b/docs/en/framework/ui/react-native/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to set up your development environment for React Native with ABP Framework, enabling seamless mobile app integration!" +} +``` + ````json //[doc-params] { diff --git a/docs/en/get-started/console.md b/docs/en/get-started/console.md index 6a17784380..cc1223a24d 100644 --- a/docs/en/get-started/console.md +++ b/docs/en/get-started/console.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to quickly set up a minimalist console application using the ABP CLI with this straightforward guide. Perfect for developers!" +} +``` + # Console Application Startup Template This template is used to create a minimalist console application project. diff --git a/docs/en/get-started/empty-aspnet-core-application.md b/docs/en/get-started/empty-aspnet-core-application.md index b0457db71b..7965e0b459 100644 --- a/docs/en/get-started/empty-aspnet-core-application.md +++ b/docs/en/get-started/empty-aspnet-core-application.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create an empty ASP.NET Core MVC/Razor Pages application with ABP, minimizing dependencies for a fresh start." +} +``` + # Getting Started with an Empty ASP.NET Core MVC / Razor Pages Application This tutorial explains how to start ABP from scratch with minimal dependencies. You generally want to start with the **[startup template](../get-started/layered-web-application.md)**. diff --git a/docs/en/get-started/index.md b/docs/en/get-started/index.md index 6ffbfe548f..2c9a676490 100644 --- a/docs/en/get-started/index.md +++ b/docs/en/get-started/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's startup templates for .NET applications, offering tailored solutions for single-layer, layered, and microservice architectures." +} +``` + # Get Started Great that you've decided to create a new application with ABP. ABP provides multiple startup templates for different needs. Each startup template is a fine-tuned and production-ready .NET solution that you can immediately start to develop your application based on it. diff --git a/docs/en/get-started/layered-web-application.md b/docs/en/get-started/layered-web-application.md index 8d4e540292..af03958451 100644 --- a/docs/en/get-started/layered-web-application.md +++ b/docs/en/get-started/layered-web-application.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create a layered web application with ABP Framework using ABP Studio. Set up your environment and start building efficiently!" +} +``` + # Get Started with ABP: Creating a Layered Web Application ````json diff --git a/docs/en/get-started/maui.md b/docs/en/get-started/maui.md index 657a217d44..c76ad0b759 100644 --- a/docs/en/get-started/maui.md +++ b/docs/en/get-started/maui.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Create a minimalist MAUI app with the ABP Framework; easily set up your project and explore the solution structure for development." +} +``` + # MAUI Application Startup Template This template is used to create a minimalist MAUI application project. diff --git a/docs/en/get-started/microservice.md b/docs/en/get-started/microservice.md index e29c4cbe10..08d9385e2e 100644 --- a/docs/en/get-started/microservice.md +++ b/docs/en/get-started/microservice.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create a microservice solution with ABP Framework using ABP Studio. Set up your development environment and get started quickly!" +} +``` + # Get Started with ABP: Creating a Microservice Solution > You must have an ABP Business or a higher license to use this startup template. diff --git a/docs/en/get-started/pre-requirements.md b/docs/en/get-started/pre-requirements.md index c1c7b39c28..c1aecbc0b8 100644 --- a/docs/en/get-started/pre-requirements.md +++ b/docs/en/get-started/pre-requirements.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Prepare your development environment for ABP applications with essential prerequisites and IDE recommendations for .NET development." +} +``` + # Prerequisites for Developing ABP Applications This document will guide you through preparing your development environment for ABP based application development. diff --git a/docs/en/get-started/single-layer-web-application.md b/docs/en/get-started/single-layer-web-application.md index 67d840d768..59ee066d2c 100644 --- a/docs/en/get-started/single-layer-web-application.md +++ b/docs/en/get-started/single-layer-web-application.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create a single layer web application with ABP Framework in this quick start guide. Set up your environment and get coding!" +} +``` + # Get Started with ABP: Creating a Single Layer Web Application ````json diff --git a/docs/en/get-started/wpf.md b/docs/en/get-started/wpf.md index 287119986e..08251bae39 100644 --- a/docs/en/get-started/wpf.md +++ b/docs/en/get-started/wpf.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to quickly set up a minimalist WPF application using the ABP Framework with this easy-to-follow template guide." +} +``` + # WPF Application Startup Template This template is used to create a minimalist WPF application project. diff --git a/docs/en/guides/add-microservice.md b/docs/en/guides/add-microservice.md index 512bdd8bd4..1efee159aa 100644 --- a/docs/en/guides/add-microservice.md +++ b/docs/en/guides/add-microservice.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create new microservices in your ABP solution with step-by-step guidance, enhancing your understanding of microservice architecture." +} +``` + # Add new Microservices to the Solution ````json diff --git a/docs/en/guides/add-module-to-microservice.md b/docs/en/guides/add-module-to-microservice.md index 903440fca3..bc9cfd12e4 100644 --- a/docs/en/guides/add-module-to-microservice.md +++ b/docs/en/guides/add-module-to-microservice.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly add a module to your existing microservice with ABP Framework, enhancing your project's capabilities effortlessly." +} +``` + # Add Module to Existing Microservices > This documentation introduces guidance for adding a module to a microservice for your microservice template project. Eventually, every module has its own documentation and implementation steps. However, some steps can be different for the microservice template. This guide will demonstrate the steps to add a module to an existing microservice. diff --git a/docs/en/guides/asynchronous-interservice-communication.md b/docs/en/guides/asynchronous-interservice-communication.md index 511ba7777c..634f56b391 100644 --- a/docs/en/guides/asynchronous-interservice-communication.md +++ b/docs/en/guides/asynchronous-interservice-communication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement asynchronous communication between microservices using event-based methods to improve decoupling and data consistency." +} +``` + # Asynchronous Communication between Microservices > This documentation introduces guidance for event based communication between microservices. diff --git a/docs/en/guides/customizing-modules.md b/docs/en/guides/customizing-modules.md index 86ef290ea2..d4dc7aec52 100644 --- a/docs/en/guides/customizing-modules.md +++ b/docs/en/guides/customizing-modules.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to extend and customize ABP modules effectively with our comprehensive guide on module customization." +} +``` + # Customizing the Modules ABP [modules](../modules/index.md) are designed to be extensible and customizable. They fully implement the extensibility system that is defined by the ABP. See the **[Customizing the Application Modules](https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Guide)** guide to learn different ways of extending/customizing a module. \ No newline at end of file diff --git a/docs/en/guides/extracting-module-as-microservice.md b/docs/en/guides/extracting-module-as-microservice.md index 943b585cc6..b80795a431 100644 --- a/docs/en/guides/extracting-module-as-microservice.md +++ b/docs/en/guides/extracting-module-as-microservice.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to extract the Audit-Logging Management module into a standalone microservice with this comprehensive guide." +} +``` + # Extracting a Module as a Microservice ````json diff --git a/docs/en/guides/interservice-communication.md b/docs/en/guides/interservice-communication.md index e1bbc89b31..5170d2a492 100644 --- a/docs/en/guides/interservice-communication.md +++ b/docs/en/guides/interservice-communication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn effective strategies for interservice communication in microservices, covering both synchronous and asynchronous messaging patterns." +} +``` + # Communications Between Microservices There are two basic messaging patterns for communication between two microservices: diff --git a/docs/en/guides/microservice-mongodb.md b/docs/en/guides/microservice-mongodb.md index f857370d09..c73009403b 100644 --- a/docs/en/guides/microservice-mongodb.md +++ b/docs/en/guides/microservice-mongodb.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to switch your ABP Microservice project to MongoDB, replacing EF Core references and updating dependencies for seamless integration." +} +``` + # Change Microservice project to use MongoDB Provider This guide explains how to change the Microservice project to use MongoDB as the database provider. diff --git a/docs/en/guides/migrating-from-open-source.md b/docs/en/guides/migrating-from-open-source.md index 35ba91df7a..1ea7b33bcd 100644 --- a/docs/en/guides/migrating-from-open-source.md +++ b/docs/en/guides/migrating-from-open-source.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly upgrade your ABP Framework projects from open-source templates to Pro modules using ABP Studio for enhanced features." +} +``` + # Migrating from Open Source Templates [ABP Studio](https://abp.io/studio) provides a way for the users who already started the development before purchasing a license to auto-upgrade their solutions with Pro modules. You can use this functionality through ABP Studio UI or ABP Studio CLI: diff --git a/docs/en/guides/ms-multi-tenant-domain-resolving.md b/docs/en/guides/ms-multi-tenant-domain-resolving.md index cb48a63905..7603491f56 100644 --- a/docs/en/guides/ms-multi-tenant-domain-resolving.md +++ b/docs/en/guides/ms-multi-tenant-domain-resolving.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement multi-tenant domain resolving in your microservice solution with ABP Framework, using helm charts for Kubernetes deployment." +} +``` + # Multi-tenant Domain Resolving in Microservice Solution > This documentation introduces guidance for adding multi-tenant domain resolver to your microservice solution. This guide will use **mystore** as the main project name and you can simply replace it with your own project name to adept your solution. This guide will be using existing helm charts for deploying this solution on local kubernetes cluster with mystore domain name. diff --git a/docs/en/guides/synchronous-interservice-communication.md b/docs/en/guides/synchronous-interservice-communication.md index 6371d1c068..9d80c15223 100644 --- a/docs/en/guides/synchronous-interservice-communication.md +++ b/docs/en/guides/synchronous-interservice-communication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement synchronous HTTP communication between microservices, enhancing service interaction and efficiency in your applications." +} +``` + # Synchronous Communication between Microservices ````json diff --git a/docs/en/images/penetration-test-report.md b/docs/en/images/penetration-test-report.md index 54e006c243..3992c698ac 100644 --- a/docs/en/images/penetration-test-report.md +++ b/docs/en/images/penetration-test-report.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Penetration Test Report detailing security findings, false positives, and actionable fixes for MVC v8.2.0 applications." +} +``` + # ABP Penetration Test Report The ABP Commercial MVC `v8.2.0` application template has been tested against security vulnerabilities by the [OWASP ZAP v2.14.0](https://www.zaproxy.org/) tool. The demo web application was started on the `https://localhost:44349` address. The below alerts have been reported by the pentest tool. These alerts are sorted by the risk level as high, medium, and low. The informational alerts are not mentioned in this document. diff --git a/docs/en/index.md b/docs/en/index.md index 187bd6ff83..3eaa814c2b 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP documentation to build robust enterprise solutions with best practices, templates, and tools for .NET and ASP.NET Core." +} +``` + # ABP Documentation ABP offers an **opinionated architecture** to build enterprise software solutions with **best practices** on top of the **.NET** and the **ASP.NET Core** platforms. It provides the fundamental infrastructure, production-ready startup templates, pre-built application modules, UI themes, tooling, guides and documentation to implement that architecture properly and **automate the details** and repetitive works as much as possible. diff --git a/docs/en/kb/can-not-login-with-admin-user.md b/docs/en/kb/can-not-login-with-admin-user.md index d69695b503..3a16d6d90e 100644 --- a/docs/en/kb/can-not-login-with-admin-user.md +++ b/docs/en/kb/can-not-login-with-admin-user.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Trouble logging in as admin? Follow these steps to reset access and ensure your database is properly configured." +} +``` + # KB#0003: Can not login with the admin user * Try username `admin` and Password `1q2w3E*`. diff --git a/docs/en/kb/index.md b/docs/en/kb/index.md index 5bbb201765..7c3f85f73f 100644 --- a/docs/en/kb/index.md +++ b/docs/en/kb/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Knowledge Base for essential insights on common issues and best practices to enhance your development experience." +} +``` + # ABP Knowledge Base The following documents provide useful information about several topics you might need to know. diff --git a/docs/en/kb/when-to-use-a-distributed-cache-server.md b/docs/en/kb/when-to-use-a-distributed-cache-server.md index 27fced60a9..d88e3790c9 100644 --- a/docs/en/kb/when-to-use-a-distributed-cache-server.md +++ b/docs/en/kb/when-to-use-a-distributed-cache-server.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn when to use a distributed cache server with ABP Framework to enhance performance in multi-instance and microservice applications." +} +``` + # KB#0002: When to Use a Distributed Cache Server ABP provides a [distributed cache service](../framework/fundamentals/caching.md) that is based on [ASP.NET Core's distributed cache](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed). This document explains when you need to have a separate cache server for your applications. diff --git a/docs/en/kb/windows-path-too-long-fix.md b/docs/en/kb/windows-path-too-long-fix.md index 1486abd40f..7b7bbffc7e 100644 --- a/docs/en/kb/windows-path-too-long-fix.md +++ b/docs/en/kb/windows-path-too-long-fix.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to fix the \"filename too long\" error on Windows by enabling long path options and resolving related .NET MAUI issues." +} +``` + # KB#0001: How to Fix "Filename too long" Error on Windows If you encounter the "filename too long" or "unzip" error on Windows, it's probably related to the Windows maximum file path limitation. Windows has a maximum file path limitation of 255 characters. diff --git a/docs/en/modules/account-pro.md b/docs/en/modules/account-pro.md index 83cccd9dc1..cc517147a5 100644 --- a/docs/en/modules/account-pro.md +++ b/docs/en/modules/account-pro.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Account Module (Pro) for ABP Framework, featuring user authentication, two-factor setup, and tenant switching functionalities." +} +``` + # Account Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/account.md b/docs/en/modules/account.md index a9532a9c36..3fc2c8e3aa 100644 --- a/docs/en/modules/account.md +++ b/docs/en/modules/account.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Account Module for ABP Framework, featuring essential authentication functions like login, registration, and account management with advanced integration options." +} +``` + # Account Module Account module implements the basic authentication features like **login**, **register**, **forgot password** and **account management**. diff --git a/docs/en/modules/account/authority-delegation.md b/docs/en/modules/account/authority-delegation.md index fafe297677..7ac7cec18f 100644 --- a/docs/en/modules/account/authority-delegation.md +++ b/docs/en/modules/account/authority-delegation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable Authority Delegation in ABP Framework, allowing users to perform actions on behalf of others securely and efficiently." +} +``` + # Authority Delegation Authority Delegation is a way of delegating the responsibility of the current user to a different user(s) for a limited time. Thus, the user can switch to the delegated user's account and perform actions on their behalf. diff --git a/docs/en/modules/account/impersonation.md b/docs/en/modules/account/impersonation.md index e814a414b2..c6fdae0ebf 100644 --- a/docs/en/modules/account/impersonation.md +++ b/docs/en/modules/account/impersonation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable user impersonation in ABP Framework to perform actions on behalf of users securely, enhancing tenant management." +} +``` + # Tenant impersonation & User impersonation User impersonation allows you to temporarily sign in as a different user in your tenant's users. This article introduces how to enable impersonation in ABP. Impersonation is enabled by defautl in ABP v5.0 and above. diff --git a/docs/en/modules/account/linkedaccounts.md b/docs/en/modules/account/linkedaccounts.md index 9868215d77..1862a3d217 100644 --- a/docs/en/modules/account/linkedaccounts.md +++ b/docs/en/modules/account/linkedaccounts.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to link multiple accounts for seamless navigation, enhancing user experience with ABP Framework's Linked Accounts feature." +} +``` + # Linked Accounts Linked accounts are used to link multiple accounts to each other. In this way, a user can easily navigate through his/her accounts using this feature. diff --git a/docs/en/modules/account/session-management.md b/docs/en/modules/account/session-management.md index 65a68bcb45..0d48842161 100644 --- a/docs/en/modules/account/session-management.md +++ b/docs/en/modules/account/session-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage user sessions and prevent concurrent logins with the ABP Framework's Session Management feature." +} +``` + # Session Management Session Management feature allows you to prevent concurrent login and manage user sessions. diff --git a/docs/en/modules/audit-logging-pro.md b/docs/en/modules/audit-logging-pro.md index ef609e5422..5f93b7903c 100644 --- a/docs/en/modules/audit-logging-pro.md +++ b/docs/en/modules/audit-logging-pro.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the ABP Framework's Audit Logging Module (Pro) to track changes, filter logs, and enhance application monitoring efficiently." +} +``` + # Audit Logging Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/audit-logging.md b/docs/en/modules/audit-logging.md index e47b0ce39e..5cba52cf34 100644 --- a/docs/en/modules/audit-logging.md +++ b/docs/en/modules/audit-logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the Audit Logging Module in ABP Framework to efficiently save and manage audit logs in your database." +} +``` + # Audit Logging Module The Audit Logging Module basically implements the `IAuditingStore` to save the audit log objects to a database. diff --git a/docs/en/modules/background-jobs.md b/docs/en/modules/background-jobs.md index 1ccc6a9394..971284b7c9 100644 --- a/docs/en/modules/background-jobs.md +++ b/docs/en/modules/background-jobs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and manage background jobs in the ABP Framework with this guide on the Background Jobs module, including installation and source code access." +} +``` + # Background Jobs Module The Background Jobs module implements the `IBackgroundJobStore` interface and makes possible to use the default background job manager of the ABP. If you don't want to use this module, then you should implement the `IBackgroundJobStore` interface yourself. diff --git a/docs/en/modules/chat.md b/docs/en/modules/chat.md index 589980ec98..9ecce25a90 100644 --- a/docs/en/modules/chat.md +++ b/docs/en/modules/chat.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement real-time messaging in your application with the ABP Chat Module. Installation made easy via ABP Suite or CLI." +} +``` + # Chat Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/cms-kit-pro/contact-form.md b/docs/en/modules/cms-kit-pro/contact-form.md index fcfa4a2582..6cdb08a569 100644 --- a/docs/en/modules/cms-kit-pro/contact-form.md +++ b/docs/en/modules/cms-kit-pro/contact-form.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to enable and utilize the CMS Kit Pro contact form widget for efficient contact management on your website with ABP Framework." +} +``` + # CMS Kit Pro: Contact Management > You must have an ABP Team or a higher license to use CMS Kit Pro module's features. diff --git a/docs/en/modules/cms-kit-pro/faq.md b/docs/en/modules/cms-kit-pro/faq.md index a153b3fee5..78ec252d17 100644 --- a/docs/en/modules/cms-kit-pro/faq.md +++ b/docs/en/modules/cms-kit-pro/faq.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement and manage the FAQ system in CMS Kit Pro, including enabling features and customizing the user interface." +} +``` + # CMS Kit Pro: FAQ System > You must have an ABP Team or a higher license to use CMS Kit Pro module's features. diff --git a/docs/en/modules/cms-kit-pro/index.md b/docs/en/modules/cms-kit-pro/index.md index 332b9dddc2..8a29db2d63 100644 --- a/docs/en/modules/cms-kit-pro/index.md +++ b/docs/en/modules/cms-kit-pro/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Enhance your application with the CMS Kit Module (Pro) for advanced content management, including dynamic pages, blogging, and user interactions." +} +``` + # CMS Kit Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/cms-kit-pro/newsletter.md b/docs/en/modules/cms-kit-pro/newsletter.md index b55ac23d04..84cc2ee34c 100644 --- a/docs/en/modules/cms-kit-pro/newsletter.md +++ b/docs/en/modules/cms-kit-pro/newsletter.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to enable and manage the newsletter system in CMS Kit Pro, enhancing user engagement with subscription features." +} +``` + # CMS Kit Pro: Newsletter System > You must have an ABP Team or a higher license to use CMS Kit Pro module's features. diff --git a/docs/en/modules/cms-kit-pro/page-feedback.md b/docs/en/modules/cms-kit-pro/page-feedback.md index e480e024fd..6986300d60 100644 --- a/docs/en/modules/cms-kit-pro/page-feedback.md +++ b/docs/en/modules/cms-kit-pro/page-feedback.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement the Page Feedback system in CMS Kit Pro, enabling user feedback collection with ease for enhanced engagement." +} +``` + # CMS Kit Pro: Page Feedback System > You must have an ABP Team or a higher license to use CMS Kit Pro module's features. diff --git a/docs/en/modules/cms-kit-pro/poll.md b/docs/en/modules/cms-kit-pro/poll.md index ed60964edc..f10baf080e 100644 --- a/docs/en/modules/cms-kit-pro/poll.md +++ b/docs/en/modules/cms-kit-pro/poll.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement and manage a poll system in CMS Kit Pro, enabling user engagement with easy setup and customization features." +} +``` + # CMS Kit Pro: Poll System > You must have an ABP Team or a higher license to use CMS Kit Pro module's features. diff --git a/docs/en/modules/cms-kit-pro/url-forwarding.md b/docs/en/modules/cms-kit-pro/url-forwarding.md index a059ef1305..899daffa5d 100644 --- a/docs/en/modules/cms-kit-pro/url-forwarding.md +++ b/docs/en/modules/cms-kit-pro/url-forwarding.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable and use the URL forwarding system in CMS Kit Pro for seamless redirection of pages and external links." +} +``` + # CMS Kit Pro: URL Forwarding System > You must have an ABP Team or a higher license to use CMS Kit Pro module's features. diff --git a/docs/en/modules/cms-kit/blogging.md b/docs/en/modules/cms-kit/blogging.md index 0ccfd7b2fa..90356a59fe 100644 --- a/docs/en/modules/cms-kit/blogging.md +++ b/docs/en/modules/cms-kit/blogging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to enable and manage the blogging feature in the CMS Kit, including UI elements for blogs and blog posts." +} +``` + # CMS Kit: Blogging The blogging feature provides the necessary UI to manage and render blogs and blog posts. diff --git a/docs/en/modules/cms-kit/comments.md b/docs/en/modules/cms-kit/comments.md index 8ff8ff5ba8..0070b5a2a9 100644 --- a/docs/en/modules/cms-kit/comments.md +++ b/docs/en/modules/cms-kit/comments.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable and configure the CMS Kit's comment system for various resources like blog posts and products efficiently." +} +``` + # CMS Kit: Comments CMS Kit provides a **comment** system to add the comment feature to any kind of resource, like blog posts, products, etc. diff --git a/docs/en/modules/cms-kit/dynamic-widget.md b/docs/en/modules/cms-kit/dynamic-widget.md index f8f5df9822..8644f7cd63 100644 --- a/docs/en/modules/cms-kit/dynamic-widget.md +++ b/docs/en/modules/cms-kit/dynamic-widget.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the CMS Kit's dynamic widget feature to seamlessly integrate custom components into your pages and blog posts." +} +``` + # CMS Kit: Dynamic Widget CMS Kit provides a dynamic [widget](../../framework/ui/mvc-razor-pages/widgets.md) used to render the components previously developed by the software in the content of the pages and blog posts. Its means, that in static content you can use dynamic content. We will mention how you can do it. You have two choices to define the widget in the system: Writing and UI. diff --git a/docs/en/modules/cms-kit/global-resources.md b/docs/en/modules/cms-kit/global-resources.md index 7a6981c964..ff02351be8 100644 --- a/docs/en/modules/cms-kit/global-resources.md +++ b/docs/en/modules/cms-kit/global-resources.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to dynamically manage global styles and scripts in CMS Kit, enabling features for seamless development with ABP Framework." +} +``` + # CMS Kit: Global Resources CMS Kit Global Resources system allows to add global styles and scripts dynamically. diff --git a/docs/en/modules/cms-kit/index.md b/docs/en/modules/cms-kit/index.md index 5c30806028..5bb1c37b36 100644 --- a/docs/en/modules/cms-kit/index.md +++ b/docs/en/modules/cms-kit/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the CMS Kit Module, offering essential tools for building dynamic websites with page management, blogging, and tagging features." +} +``` + # CMS Kit Module This module provides CMS (Content Management System) capabilities for your application. It provides **core building blocks** and fully working **sub-systems** to create your own website with CMS features enabled, or use the building blocks in your web sites with any purpose. diff --git a/docs/en/modules/cms-kit/marked-items.md b/docs/en/modules/cms-kit/marked-items.md index 05b9dd9e06..bd0db306eb 100644 --- a/docs/en/modules/cms-kit/marked-items.md +++ b/docs/en/modules/cms-kit/marked-items.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement and customize a marking system for your resources in the CMS Kit, enhancing user engagement effortlessly." +} +``` + # CMS Kit: Marked Item System CMS kit provides a marking system to mark any kind of resource, like a blog post or a product, as a favorite, starred, flagged, or bookmarked. diff --git a/docs/en/modules/cms-kit/menus.md b/docs/en/modules/cms-kit/menus.md index d9ece26d21..429e9226e6 100644 --- a/docs/en/modules/cms-kit/menus.md +++ b/docs/en/modules/cms-kit/menus.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Manage public menus dynamically with the CMS Kit Menu system. Learn how to enable features and navigate the user interface for effective menu management." +} +``` + # CMS Kit: Menus CMS Kit Menu system allows to manage public menus dynamically. diff --git a/docs/en/modules/cms-kit/pages.md b/docs/en/modules/cms-kit/pages.md index 3e4671e6a2..b2f428d9cd 100644 --- a/docs/en/modules/cms-kit/pages.md +++ b/docs/en/modules/cms-kit/pages.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable and manage dynamic pages in the CMS Kit, enhancing your ABP Framework applications with customizable content features." +} +``` + # CMS Kit: Pages CMS Kit Page system allows you to create dynamic pages by specifying URLs, which is the fundamental feature of a CMS. diff --git a/docs/en/modules/cms-kit/ratings.md b/docs/en/modules/cms-kit/ratings.md index 8e7724d679..492af1c803 100644 --- a/docs/en/modules/cms-kit/ratings.md +++ b/docs/en/modules/cms-kit/ratings.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement and manage a flexible rating system in CMS Kit, perfect for enhancing user engagement on your resources." +} +``` + # CMS Kit: Rating System CMS Kit provides a **rating** system to to add ratings feature to any kind of resource like blog posts, comments, etc. Here how the rating component looks like on a sample page: diff --git a/docs/en/modules/cms-kit/reactions.md b/docs/en/modules/cms-kit/reactions.md index 4f23c73647..1db865e287 100644 --- a/docs/en/modules/cms-kit/reactions.md +++ b/docs/en/modules/cms-kit/reactions.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and customize a reaction system in CMS Kit for engaging user interactions on your resources." +} +``` + # CMS Kit: Reaction System CMS Kit provides a **reaction** system to add reactions feature to any kind of resource, like blog posts or comments. diff --git a/docs/en/modules/cms-kit/tags.md b/docs/en/modules/cms-kit/tags.md index fffcf27473..7b57a49b9b 100644 --- a/docs/en/modules/cms-kit/tags.md +++ b/docs/en/modules/cms-kit/tags.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage tags in CMS Kit, enabling you to categorize resources like blog posts and products effectively." +} +``` + # CMS Kit: Tag Management CMS Kit provides a **tag** system to tag any kind of resources, like a blog post. diff --git a/docs/en/modules/database-tables.md b/docs/en/modules/database-tables.md index ad8c66d684..1f79a496f6 100644 --- a/docs/en/modules/database-tables.md +++ b/docs/en/modules/database-tables.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the database tables in the ABP Framework, detailing their purposes and relationships for effective auditing and entity tracking." +} +``` + # Database Tables This documentation describes all database tables and their purposes. You can read this documentation to get general knowledge of the database tables that come from each module. diff --git a/docs/en/modules/docs.md b/docs/en/modules/docs.md index dc04339e78..1c0888b465 100644 --- a/docs/en/modules/docs.md +++ b/docs/en/modules/docs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the ABP Docs Module for easy software documentation management, supporting GitHub integration and versioning for streamlined workflows." +} +``` + # Docs Module ## What is Docs Module? diff --git a/docs/en/modules/feature-management.md b/docs/en/modules/feature-management.md index 0757ab52e4..300b232f93 100644 --- a/docs/en/modules/feature-management.md +++ b/docs/en/modules/feature-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and manage feature flags in your application using the ABP Framework's Feature Management module, with installation and customization options." +} +``` + # Feature Management Module The Feature Management module implements the `IFeatureManagementStore` interface defined by the [Feature System](../framework/infrastructure/features.md). diff --git a/docs/en/modules/file-management.md b/docs/en/modules/file-management.md index 19658de254..5725af4297 100644 --- a/docs/en/modules/file-management.md +++ b/docs/en/modules/file-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the File Management Module for ABP Framework, enabling efficient file uploads, downloads, and organization with multi-tenancy support." +} +``` + # File Management Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/forms.md b/docs/en/modules/forms.md index ab50bded64..f903cc471b 100644 --- a/docs/en/modules/forms.md +++ b/docs/en/modules/forms.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "The Forms Module (Pro) enables easy creation and management of questionnaires, allowing data collection, export to CSV, and sharing via unique links." +} +``` + # Forms Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/gdpr.md b/docs/en/modules/gdpr.md index 76875e0403..8ab55a7a24 100644 --- a/docs/en/modules/gdpr.md +++ b/docs/en/modules/gdpr.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage user data with the GDPR module, enabling personal data downloads and deletions in your ABP applications." +} +``` + # GDPR Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/identity-pro.md b/docs/en/modules/identity-pro.md index ab25a8d5c8..c2332f4a8b 100644 --- a/docs/en/modules/identity-pro.md +++ b/docs/en/modules/identity-pro.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Identity Module (Pro) for ABP Framework, enabling robust user and role management, permissions, and authentication features." +} +``` + # Identity Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/identity-server-pro.md b/docs/en/modules/identity-server-pro.md index ce25823ee8..a47370003a 100644 --- a/docs/en/modules/identity-server-pro.md +++ b/docs/en/modules/identity-server-pro.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Identity Server Module (Pro) for ABP Framework, enabling easy management of clients, identity resources, and API resources." +} +``` + # Identity Server Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/identity-server.md b/docs/en/modules/identity-server.md index a13dcc2f57..5df207a17b 100644 --- a/docs/en/modules/identity-server.md +++ b/docs/en/modules/identity-server.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the IdentityServer module for ABP Framework, enabling advanced authentication features with seamless integration and database support." +} +``` + # IdentityServer Module IdentityServer module provides a full integration with the [IdentityServer4](https://github.com/IdentityServer/IdentityServer4) (IDS) framework, which provides advanced authentication features like single sign-on and API access control. This module persists clients, resources and other IDS-related objects to database. **This module is replaced by** [OpenIddict module](./openiddict.md) after ABP v6.0 in the startup templates. diff --git a/docs/en/modules/identity.md b/docs/en/modules/identity.md index 46c6a671c1..8d800fe131 100644 --- a/docs/en/modules/identity.md +++ b/docs/en/modules/identity.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Identity Management Module for the ABP Framework to efficiently manage user roles, permissions, and authentication with customizable UI options." +} +``` + # Identity Management Module Identity module is used to manage roles, users and their permissions, based on the [Microsoft Identity library](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity). diff --git a/docs/en/modules/identity/idap.md b/docs/en/modules/identity/idap.md index e25367f1c1..cf4c8fbcaa 100644 --- a/docs/en/modules/identity/idap.md +++ b/docs/en/modules/identity/idap.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement LDAP authentication with ABP Framework's LdapExternalLoginProvider, enhancing external login capabilities for your applications." +} +``` + # LDAP External Login Provider ## Introduction diff --git a/docs/en/modules/identity/import-external-users.md b/docs/en/modules/identity/import-external-users.md index e547dd6860..562515ceee 100644 --- a/docs/en/modules/identity/import-external-users.md +++ b/docs/en/modules/identity/import-external-users.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to import external users into the ABP Framework using LDAP or OAuth providers with our step-by-step guide." +} +``` + # Import External Users ## Introduction diff --git a/docs/en/modules/identity/oauth-login.md b/docs/en/modules/identity/oauth-login.md index 474167a95b..f628ec8c7b 100644 --- a/docs/en/modules/identity/oauth-login.md +++ b/docs/en/modules/identity/oauth-login.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable OAuth Resource Owner Password authentication for external logins in the ABP Framework's Identity PRO module." +} +``` + # OAuth Resource Owner Password (ROP) External login Provider ## Introduction diff --git a/docs/en/modules/identity/periodic-password-change.md b/docs/en/modules/identity/periodic-password-change.md index 3134649394..4367ee88bb 100644 --- a/docs/en/modules/identity/periodic-password-change.md +++ b/docs/en/modules/identity/periodic-password-change.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure periodic password changes with the ABP Identity PRO module, ensuring enhanced security for your users." +} +``` + # Periodic Password Change (Password Aging) ## Introduction diff --git a/docs/en/modules/identity/session-management.md b/docs/en/modules/identity/session-management.md index e911146081..4a323553e2 100644 --- a/docs/en/modules/identity/session-management.md +++ b/docs/en/modules/identity/session-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage user sessions and prevent concurrent logins in the ABP Framework with flexible settings for enhanced security." +} +``` + # Session Management The Session Management feature allows you to prevent concurrent login and manage user sessions. diff --git a/docs/en/modules/identity/two-factor-authentication.md b/docs/en/modules/identity/two-factor-authentication.md index 3aa9c5e454..2acab6ec53 100644 --- a/docs/en/modules/identity/two-factor-authentication.md +++ b/docs/en/modules/identity/two-factor-authentication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement two-factor authentication in ABP Framework to enhance security for users and protect against unauthorized access." +} +``` + # Two Factor Authentication > You must have an ABP Team or a higher license to use this module & its features. diff --git a/docs/en/modules/index.md b/docs/en/modules/index.md index 105f60274e..5ab619698a 100644 --- a/docs/en/modules/index.md +++ b/docs/en/modules/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's modular framework for building applications with core and business functionalities, simplifying development with rich infrastructure." +} +``` + # Application Modules ABP is a **modular application framework** which consists of dozens of **NuGet & NPM packages**. It also provides a complete infrastructure to build your own application modules which may have entities, services, database integration, APIs, UI components and so on. diff --git a/docs/en/modules/language-management.md b/docs/en/modules/language-management.md index 77490f28ef..1446b27fc1 100644 --- a/docs/en/modules/language-management.md +++ b/docs/en/modules/language-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to manage languages, translate UI texts, and set defaults effortlessly with the ABP Framework's Language Management Module (Pro)." +} +``` + # Language Management Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/openiddict-pro.md b/docs/en/modules/openiddict-pro.md index b70cd83ac2..5b681f6461 100644 --- a/docs/en/modules/openiddict-pro.md +++ b/docs/en/modules/openiddict-pro.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the OpenIddict Module (Pro) for ABP Framework to manage applications, API scopes, and client permissions seamlessly." +} +``` + # OpenIddict Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/openiddict.md b/docs/en/modules/openiddict.md index 5f421d9001..b98d2e881a 100644 --- a/docs/en/modules/openiddict.md +++ b/docs/en/modules/openiddict.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP OpenIddict Module for seamless authentication, including SSO and API access control. Easily integrate and customize for your needs." +} +``` + # ABP OpenIddict Module OpenIddict module provides an integration with the [OpenIddict](https://github.com/openiddict/openiddict-core) which provides advanced authentication features like single sign-on, single log-out, and API access control. This module persists applications, scopes, and other OpenIddict-related objects to the database. diff --git a/docs/en/modules/payment-custom-gateway.md b/docs/en/modules/payment-custom-gateway.md index 40cd073da6..e2bf28bf44 100644 --- a/docs/en/modules/payment-custom-gateway.md +++ b/docs/en/modules/payment-custom-gateway.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create a custom payment gateway in ABP Framework, enhancing your application's payment flexibility and integration." +} +``` + # Creating a Custom Payment Gateway > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/payment.md b/docs/en/modules/payment.md index b3fb6de84b..a3647add9f 100644 --- a/docs/en/modules/payment.md +++ b/docs/en/modules/payment.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Integrate payment gateways seamlessly with the ABP Payment Module, supporting multiple options like Stripe and PayPal for one-time and recurring payments." +} +``` + # Payment Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/permission-management.md b/docs/en/modules/permission-management.md index 2368768fe6..85cefffe7d 100644 --- a/docs/en/modules/permission-management.md +++ b/docs/en/modules/permission-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage permissions in your application using the ABP Framework's Permission Management Module, including installation and source code access." +} +``` + # Permission Management Module This module implements the `IPermissionStore` to store and manage permissions values in a database. diff --git a/docs/en/modules/saas.md b/docs/en/modules/saas.md index bfd0115853..a98c8a8484 100644 --- a/docs/en/modules/saas.md +++ b/docs/en/modules/saas.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Manage tenants and editions in your multi-tenant applications with the ABP SaaS Module, enhancing your app's scalability and flexibility." +} +``` + # SaaS Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/setting-management.md b/docs/en/modules/setting-management.md index 32dd52f4b6..f015fc6785 100644 --- a/docs/en/modules/setting-management.md +++ b/docs/en/modules/setting-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage application settings effortlessly with the ABP Framework's Setting Management Module and ISettingManager." +} +``` + # Setting Management Module Setting Management Module implements the `ISettingStore` (see [the setting system](../framework/infrastructure/settings.md)) to store the setting values in a database and provides the `ISettingManager` to manage (change) the setting values in the database. diff --git a/docs/en/modules/tenant-management.md b/docs/en/modules/tenant-management.md index 4116bccb33..a8b56d0c6b 100644 --- a/docs/en/modules/tenant-management.md +++ b/docs/en/modules/tenant-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Tenant Management module in ABP Framework, enabling efficient multi-tenancy setup for your SaaS applications with easy tenant management." +} +``` + # Tenant Management Module [Multi-Tenancy](../framework/architecture/multi-tenancy) is one of the core features of ABP. It provides the fundamental infrastructure to build your own SaaS (Software-as-a-Service) solution. ABP's multi-tenancy system abstracts where your tenants are stored, by providing the `ITenantStore` interface. All you need to do is to implement that interface. diff --git a/docs/en/modules/text-template-management.md b/docs/en/modules/text-template-management.md index 9b2235314f..da2826e65d 100644 --- a/docs/en/modules/text-template-management.md +++ b/docs/en/modules/text-template-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Manage and edit text templates effortlessly with the ABP Framework's Text Template Management Module, enhancing your application's communication features." +} +``` + # Text Template Management Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/twilio-sms.md b/docs/en/modules/twilio-sms.md index 56e667db18..6ea6c7e93f 100644 --- a/docs/en/modules/twilio-sms.md +++ b/docs/en/modules/twilio-sms.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Integrate Twilio SMS into your ABP application effortlessly with our Pro module. Learn installation and best practices for seamless messaging!" +} +``` + # Twilio SMS Module (Pro) > You must have an ABP Team or a higher license to use this module. diff --git a/docs/en/modules/virtual-file-explorer.md b/docs/en/modules/virtual-file-explorer.md index 21bccfd999..1c9babf9ff 100644 --- a/docs/en/modules/virtual-file-explorer.md +++ b/docs/en/modules/virtual-file-explorer.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to install and use the Virtual File Explorer Module in your ABP Framework application to easily manage files in a virtual file system." +} +``` + # Virtual File Explorer Module ## What is Virtual File Explorer Module? diff --git a/docs/en/others/aspnet-boilerplate-migration-guide.md b/docs/en/others/aspnet-boilerplate-migration-guide.md index b3f3c0f577..e88b4b1c45 100644 --- a/docs/en/others/aspnet-boilerplate-migration-guide.md +++ b/docs/en/others/aspnet-boilerplate-migration-guide.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly migrate your projects from ASP.NET Boilerplate to ABP Framework with our comprehensive guide for developers." +} +``` + # Migrating from ASP.NET Boilerplate to the ABP ABP is **the successor** of the open source [ASP.NET Boilerplate](https://aspnetboilerplate.com/) framework. This guide aims to help you to **migrate your existing solutions** (you developed with the ASP.NET Boilerplate framework) to the ABP. diff --git a/docs/en/others/aspnet-zero-vs-abp.md b/docs/en/others/aspnet-zero-vs-abp.md index 245428926f..3d18d51a02 100644 --- a/docs/en/others/aspnet-zero-vs-abp.md +++ b/docs/en/others/aspnet-zero-vs-abp.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Compare ABP Framework and ASP.NET Zero features to make informed decisions for your next project with this insightful guide." +} +``` + # ABP vs ASP.NET Zero [ASP.NET Zero](https://aspnetzero.com/) is a startup project template which is also developed by [Volosoft](https://volosoft.com/). Here you can see the feature differences between ASP.NET Zero and ABP Platform (with commercial licenses). diff --git a/docs/en/others/free-licenses-vs-pro-licenses.md b/docs/en/others/free-licenses-vs-pro-licenses.md index 81c751d1a2..96f06eecb1 100644 --- a/docs/en/others/free-licenses-vs-pro-licenses.md +++ b/docs/en/others/free-licenses-vs-pro-licenses.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Compare the key differences between ABP's free open-source license and the enhanced features of ABP Pro licenses for developers." +} +``` + # Free (Open Source) License vs Commercial (Pro) Licenses [ABP](https://abp.io) is a completely free, open-source and community-driven project. It provides a base framework, [startup templates](../solution-templates), [CLI](../cli), theme called [LeptonX Lite](../ui-themes/lepton-x-lite/asp-net-core.md) and ready to use [application modules](../modules). diff --git a/docs/en/others/penetration-test-report.md b/docs/en/others/penetration-test-report.md index c9d8280405..9fa54a67d0 100644 --- a/docs/en/others/penetration-test-report.md +++ b/docs/en/others/penetration-test-report.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Penetration Test Report detailing security findings, false positives, and actionable fixes for the ABP Commercial MVC app." +} +``` + # ABP Penetration Test Report The ABP Commercial MVC `v9.0.0` application template has been tested against security vulnerabilities by the [OWASP ZAP v2.14.0](https://www.zaproxy.org/) tool. The demo web application was started on the `https://localhost:44349` address. The below alerts have been reported by the pentest tool. These alerts are sorted by the risk level as high, medium, and low. The informational alerts are not mentioned in this document. diff --git a/docs/en/others/why-abp-platform.md b/docs/en/others/why-abp-platform.md index c13631546b..540ba973d8 100644 --- a/docs/en/others/why-abp-platform.md +++ b/docs/en/others/why-abp-platform.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover why the ABP Platform is the ideal choice for building software solutions efficiently, overcoming common development challenges." +} +``` + # Why ABP Platform? This document aims to answer the big question: diff --git a/docs/en/release-info/index.md b/docs/en/release-info/index.md index d5de2d2893..e3d3aa56cd 100644 --- a/docs/en/release-info/index.md +++ b/docs/en/release-info/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the latest ABP Framework release information, including notes, migration guides, and upgrading tips to enhance your development experience." +} +``` + # Release Information * [Release Notes](./release-notes.md) diff --git a/docs/en/release-info/migration-guides/abp-4-0-angular.md b/docs/en/release-info/migration-guides/abp-4-0-angular.md index 9e909182ec..dc575405b2 100644 --- a/docs/en/release-info/migration-guides/abp-4-0-angular.md +++ b/docs/en/release-info/migration-guides/abp-4-0-angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly migrate from Angular UI 3.3 to 4.0 with this guide, including key updates and breaking changes for ABP Framework users." +} +``` + # Angular UI 3.3 to 4.0 Migration Guide ## Angular v11 diff --git a/docs/en/release-info/migration-guides/abp-4-0-blazor.md b/docs/en/release-info/migration-guides/abp-4-0-blazor.md index 7f00d6de75..63a93ac7ab 100644 --- a/docs/en/release-info/migration-guides/abp-4-0-blazor.md +++ b/docs/en/release-info/migration-guides/abp-4-0-blazor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Blazor UI 3.3 to 4.0 Migration Guide, detailing essential updates for your project files and dependencies to ensure a smooth transition." +} +``` + # Blazor UI 3.3 to 4.0 Migration Guide ## Startup Template Changes diff --git a/docs/en/release-info/migration-guides/abp-4-0-mvc-razor-pages.md b/docs/en/release-info/migration-guides/abp-4-0-mvc-razor-pages.md index d2fa97ec5e..31e6b85102 100644 --- a/docs/en/release-info/migration-guides/abp-4-0-mvc-razor-pages.md +++ b/docs/en/release-info/migration-guides/abp-4-0-mvc-razor-pages.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily migrate from MVC/Razor Pages UI 3.3 to 4.0 by updating the namespace for IBrandingProvider in ABP Framework." +} +``` + # MVC / Razor Pages UI 3.3 to 4.0 Migration Guide ## Use IBrandingProvider in the Volo.Abp.UI Package diff --git a/docs/en/release-info/migration-guides/abp-4-0.md b/docs/en/release-info/migration-guides/abp-4-0.md index e809dc807f..79c897edd0 100644 --- a/docs/en/release-info/migration-guides/abp-4-0.md +++ b/docs/en/release-info/migration-guides/abp-4-0.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to upgrade your ABP 3.x solutions to 4.0 by addressing breaking changes and enhancing your development experience with .NET 5.0." +} +``` + # ABP 3.3 to 4.0 Migration Guide This document introduces the breaking changes done in the ABP 4.0 and explains how to fix your 3.x based solutions while upgrading to the ABP 4.0. diff --git a/docs/en/release-info/migration-guides/abp-4-2.md b/docs/en/release-info/migration-guides/abp-4-2.md index 76bfdd7957..2c9bdd9c0a 100644 --- a/docs/en/release-info/migration-guides/abp-4-2.md +++ b/docs/en/release-info/migration-guides/abp-4-2.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the ABP 4.2 Migration Guide to enhance performance with new repository features and leverage LINQ for efficient data queries." +} +``` + # ABP version 4.2 Migration Guide This version has no breaking changes but there is an important change on the repositories that should be applied for your application for an important performance and scalability gain. diff --git a/docs/en/release-info/migration-guides/abp-4-3.md b/docs/en/release-info/migration-guides/abp-4-3.md index 79fb82d448..c2cb6b97bf 100644 --- a/docs/en/release-info/migration-guides/abp-4-3.md +++ b/docs/en/release-info/migration-guides/abp-4-3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to smoothly migrate from ABP 4.x to 4.3 with our guide, covering breaking changes and essential updates for Blazor UI." +} +``` + # ABP 4.x to 4.3 Migration Guide This version comes with some changes in the startup template, mostly related to Blazor UI. This document explains the breaking changes. However, **it is suggested to [compare the startup templates manually](upgrading-startup-template.md) to see all the changes** and apply to your solution. diff --git a/docs/en/release-info/migration-guides/abp-5-0-angular.md b/docs/en/release-info/migration-guides/abp-5-0-angular.md index 4941bcc251..f6abcf10f6 100644 --- a/docs/en/release-info/migration-guides/abp-5-0-angular.md +++ b/docs/en/release-info/migration-guides/abp-5-0-angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the essential migration steps and breaking changes for upgrading your Angular UI from v4.x to v5.0 in the ABP Framework." +} +``` + # Angular UI v4.x to v5.0 Migration Guide > This document is for the Angular UI. See also [the main migration guide](abp-5-0.md). diff --git a/docs/en/release-info/migration-guides/abp-5-0-blazor.md b/docs/en/release-info/migration-guides/abp-5-0-blazor.md index 0884df7ca3..19fbeb8ceb 100644 --- a/docs/en/release-info/migration-guides/abp-5-0-blazor.md +++ b/docs/en/release-info/migration-guides/abp-5-0-blazor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate your ABP Blazor UI from v4.x to v5.0, including updates for Blazorise and Bootstrap 5 for seamless integration." +} +``` + # ABP Blazor UI v4.x to v5.0 Migration Guide > This document is for the Blazor UI. See also [the main migration guide](abp-5-0.md). diff --git a/docs/en/release-info/migration-guides/abp-5-0-mvc.md b/docs/en/release-info/migration-guides/abp-5-0-mvc.md index 035d78e7ae..f10579a311 100644 --- a/docs/en/release-info/migration-guides/abp-5-0-mvc.md +++ b/docs/en/release-info/migration-guides/abp-5-0-mvc.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP MVC/Razor Pages UI with this guide, featuring essential changes like Gulp removal and SweetAlert2 integration." +} +``` + # ABP MVC / Razor Pages UI v4.x to v5.0 Migration Guide > This document is for the ABP MVC / Razor Pages UI. See also [the main migration guide](abp-5-0.md). diff --git a/docs/en/release-info/migration-guides/abp-5-0.md b/docs/en/release-info/migration-guides/abp-5-0.md index 79ac59c8bb..7acc67ee7d 100644 --- a/docs/en/release-info/migration-guides/abp-5-0.md +++ b/docs/en/release-info/migration-guides/abp-5-0.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP 4.x solutions to 5.0 with this comprehensive migration guide, covering essential breaking changes and updates." +} +``` + # ABP v4.x to v5.0 Migration Guide This document is a guide for upgrading ABP 4.x solutions to ABP 5.0. Please read them all since 5.0 has some important breaking changes. diff --git a/docs/en/release-info/migration-guides/abp-5-2.md b/docs/en/release-info/migration-guides/abp-5-2.md index 036c28ecf8..5861eaab95 100644 --- a/docs/en/release-info/migration-guides/abp-5-2.md +++ b/docs/en/release-info/migration-guides/abp-5-2.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP v5.x solutions to v5.2 with this comprehensive migration guide, covering key changes for MongoDB and Blazor UI." +} +``` + # ABP Version 5.2 Migration Guide This document is a guide for upgrading ABP v5.x solutions to ABP v5.2. Please read them all since v5.2 has some changes you should take care. diff --git a/docs/en/release-info/migration-guides/abp-5-3.md b/docs/en/release-info/migration-guides/abp-5-3.md index ad4aa3b724..0ffcee3d94 100644 --- a/docs/en/release-info/migration-guides/abp-5-3.md +++ b/docs/en/release-info/migration-guides/abp-5-3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP v5.2 solutions to v5.3 with this migration guide, highlighting crucial changes and AutoMapper updates for seamless transitions." +} +``` + # ABP Version 5.3 Migration Guide This document is a guide for upgrading ABP v5.2 solutions to ABP v5.3. There is a change in this version that may effect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-6-0.md b/docs/en/release-info/migration-guides/abp-6-0.md index 610b94b1f5..880e167d7e 100644 --- a/docs/en/release-info/migration-guides/abp-6-0.md +++ b/docs/en/release-info/migration-guides/abp-6-0.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP applications seamlessly with the 6.0 Migration Guide, detailing essential changes and updates for a smooth transition." +} +``` + # ABP Version 6.0 Migration Guide This document is a guide for upgrading ABP v5.3 solutions to ABP v6.0. There is a change in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-7-0.md b/docs/en/release-info/migration-guides/abp-7-0.md index b067781150..8d26f937cf 100644 --- a/docs/en/release-info/migration-guides/abp-7-0.md +++ b/docs/en/release-info/migration-guides/abp-7-0.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP v6.x solutions to v7.0 with this comprehensive migration guide, covering essential changes and .NET 7.0 requirements." +} +``` + # ABP Version 7.0 Migration Guide This document is a guide for upgrading ABP v6.x solutions to ABP v7.0. There are some changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-7-1.md b/docs/en/release-info/migration-guides/abp-7-1.md index 32817c78f2..c537fb1253 100644 --- a/docs/en/release-info/migration-guides/abp-7-1.md +++ b/docs/en/release-info/migration-guides/abp-7-1.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP Framework from v7.0 to v7.1 with this migration guide, covering essential changes and improvements for seamless integration." +} +``` + # ABP Version 7.1 Migration Guide This document is a guide for upgrading ABP v7.0 solutions to ABP v7.1. There are a few changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-7-2.md b/docs/en/release-info/migration-guides/abp-7-2.md index 453f1cf785..5fd58b4af3 100644 --- a/docs/en/release-info/migration-guides/abp-7-2.md +++ b/docs/en/release-info/migration-guides/abp-7-2.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP v7.1 solutions to v7.2 with this migration guide, covering essential changes and new properties for smoother transitions." +} +``` + # ABP Version 7.2 Migration Guide This document is a guide for upgrading ABP v7.1 solutions to ABP v7.2. There are a few changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-7-3.md b/docs/en/release-info/migration-guides/abp-7-3.md index 5400f28c3a..cda00e13e4 100644 --- a/docs/en/release-info/migration-guides/abp-7-3.md +++ b/docs/en/release-info/migration-guides/abp-7-3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP framework from v7.2 to v7.3 with this comprehensive migration guide, detailing essential changes and fixes for smooth transitions." +} +``` + # ABP Version 7.3 Migration Guide This document is a guide for upgrading ABP v7.2 solutions to ABP v7.3. There are a few changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-7-4.md b/docs/en/release-info/migration-guides/abp-7-4.md index 8674ea4ab6..c81112e8c0 100644 --- a/docs/en/release-info/migration-guides/abp-7-4.md +++ b/docs/en/release-info/migration-guides/abp-7-4.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP applications from v7.3 to v7.4 with this comprehensive migration guide, ensuring a smooth transition and optimal performance." +} +``` + # ABP Version 7.4 Migration Guide This document is a guide for upgrading ABP v7.3 solutions to ABP v7.4. There are a few changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-8-0.md b/docs/en/release-info/migration-guides/abp-8-0.md index 04f1346adb..7109ae4844 100644 --- a/docs/en/release-info/migration-guides/abp-8-0.md +++ b/docs/en/release-info/migration-guides/abp-8-0.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP solutions to version 8.0 with this comprehensive migration guide, detailing essential changes and dependencies." +} +``` + # ABP Version 8.0 Migration Guide This document is a guide for upgrading ABP v7.x solutions to ABP v8.0. There are some changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-8-1.md b/docs/en/release-info/migration-guides/abp-8-1.md index 4c17da95ed..f1d9636a00 100644 --- a/docs/en/release-info/migration-guides/abp-8-1.md +++ b/docs/en/release-info/migration-guides/abp-8-1.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP Framework from v8.0 to v8.1 with this essential migration guide, covering key changes and new features." +} +``` + # ABP Version 8.1 Migration Guide This document is a guide for upgrading ABP v8.0 solutions to ABP v8.1. There are some changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-8-2-blazor-web-app.md b/docs/en/release-info/migration-guides/abp-8-2-blazor-web-app.md index ef9533bbc2..e3b65e1221 100644 --- a/docs/en/release-info/migration-guides/abp-8-2-blazor-web-app.md +++ b/docs/en/release-info/migration-guides/abp-8-2-blazor-web-app.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate to the ABP v8.2 Blazor Web App template, exploring new features and rendering modes for enhanced web UI development." +} +``` + # Migrating to Blazor Web App ASP.NET Blazor in .NET 8 allows you to use a single powerful component model to handle all of your web UI needs, including server-side rendering, client-side rendering, streaming rendering, progressive enhancement, and much more! diff --git a/docs/en/release-info/migration-guides/abp-8-2.md b/docs/en/release-info/migration-guides/abp-8-2.md index 15de922d4f..a343010744 100644 --- a/docs/en/release-info/migration-guides/abp-8-2.md +++ b/docs/en/release-info/migration-guides/abp-8-2.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP v8.x solutions to v8.2 with this migration guide, detailing essential changes and updated target frameworks for seamless integration." +} +``` + # ABP Version 8.2 Migration Guide This document is a guide for upgrading ABP v8.x solutions to ABP v8.2. There are some changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-8-3.md b/docs/en/release-info/migration-guides/abp-8-3.md index b68805a3ab..acf1616581 100644 --- a/docs/en/release-info/migration-guides/abp-8-3.md +++ b/docs/en/release-info/migration-guides/abp-8-3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP v8.x solutions smoothly with this guide, detailing essential changes and new features in version 8.3!" +} +``` + # ABP Version 8.3 Migration Guide This document is a guide for upgrading ABP v8.x solutions to ABP v8.3. There are some changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/abp-9-0.md b/docs/en/release-info/migration-guides/abp-9-0.md index b63b6bd030..8f0b9c09f6 100644 --- a/docs/en/release-info/migration-guides/abp-9-0.md +++ b/docs/en/release-info/migration-guides/abp-9-0.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your ABP applications from v8.x to v9.0 with this comprehensive migration guide, ensuring compatibility with .NET 9.0." +} +``` + # ABP Version 9.0 Migration Guide This document is a guide for upgrading ABP v8.x solutions to ABP v9.0. There are some changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. diff --git a/docs/en/release-info/migration-guides/blazorui-3-3.md b/docs/en/release-info/migration-guides/blazorui-3-3.md index 9ebbda2b2f..5df065de5d 100644 --- a/docs/en/release-info/migration-guides/blazorui-3-3.md +++ b/docs/en/release-info/migration-guides/blazorui-3-3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the migration guide for upgrading your Blazor UI from v3.2 to v3.3, featuring essential changes and improvements for a smoother transition." +} +``` + # Migration Guide for the Blazor UI from the v3.2 to the v3.3 ## Startup Template Changes diff --git a/docs/en/release-info/migration-guides/identityserver-to-openiddict.md b/docs/en/release-info/migration-guides/identityserver-to-openiddict.md index d60493be7a..2770722a51 100644 --- a/docs/en/release-info/migration-guides/identityserver-to-openiddict.md +++ b/docs/en/release-info/migration-guides/identityserver-to-openiddict.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate from Identity Server to OpenIddict in ABP Framework with this comprehensive guide, ensuring a smooth transition." +} +``` + # Migration Identity Server to OpenIddict Guide This document explains how to migrate to [OpenIddict](https://github.com/openiddict/openiddict-core) from Identity Server. From now on the ABP startup templates uses `OpenIddict` as the auth server by default since version v6.0.0. diff --git a/docs/en/release-info/migration-guides/identityserver4-step-by-step.md b/docs/en/release-info/migration-guides/identityserver4-step-by-step.md index 6e58edc023..07f1a36378 100644 --- a/docs/en/release-info/migration-guides/identityserver4-step-by-step.md +++ b/docs/en/release-info/migration-guides/identityserver4-step-by-step.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Step-by-step guide for migrating from OpenIddict to IdentityServer4 in ABP Framework applications, ensuring a smooth transition for developers." +} +``` + # Migrating from OpenIddict to IdentityServer4 Step by Step Guide ABP startup templates use `OpenIddict` OpenID provider from v6.0.0 by default and `IdentityServer` projects are renamed to `AuthServer` in tiered/separated solutions. Since OpenIddict is the default OpenID provider library for ABP templates since v6.0, you may want to keep using [IdentityServer4](https://github.com/IdentityServer/IdentityServer4) library, even it is **archived and no longer maintained by the owners**. ABP doesn't provide support for newer versions of IdentityServer. This guide provides layer-by-layer guidance for migrating your existing [OpenIddict](https://github.com/openiddict/openiddict-core) application to IdentityServer4. diff --git a/docs/en/release-info/migration-guides/index.md b/docs/en/release-info/migration-guides/index.md index 27c6752338..7540ff8d89 100644 --- a/docs/en/release-info/migration-guides/index.md +++ b/docs/en/release-info/migration-guides/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly migrate your ABP applications between versions with step-by-step guides to ensure a smooth upgrade process." +} +``` + # ABP Migration Guides The following documents explain how to migrate your existing ABP applications. We write migration documents only if you need to take an action while upgrading your solution. Otherwise, you can easily upgrade your solution using the [abp update command](../upgrading.md). diff --git a/docs/en/release-info/migration-guides/openiddict-angular.md b/docs/en/release-info/migration-guides/openiddict-angular.md index b829c87584..293afade4a 100644 --- a/docs/en/release-info/migration-guides/openiddict-angular.md +++ b/docs/en/release-info/migration-guides/openiddict-angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "This guide walks you through migrating your Angular UI to OpenIddict, ensuring seamless integration with ABP Framework for secure authentication." +} +``` + # OpenIddict Angular UI Migration Guide ## Angular Project diff --git a/docs/en/release-info/migration-guides/openiddict-blazor-server.md b/docs/en/release-info/migration-guides/openiddict-blazor-server.md index 35e9d81a14..77924c6949 100644 --- a/docs/en/release-info/migration-guides/openiddict-blazor-server.md +++ b/docs/en/release-info/migration-guides/openiddict-blazor-server.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "This guide details the migration process to OpenIddict for Blazor Server applications, enhancing security and user authentication." +} +``` + # OpenIddict Blazor-Server UI Migration Guide ## Blazor Project (Non-Tiered Solution) diff --git a/docs/en/release-info/migration-guides/openiddict-blazor.md b/docs/en/release-info/migration-guides/openiddict-blazor.md index e6be3c6e6d..794fe997d7 100644 --- a/docs/en/release-info/migration-guides/openiddict-blazor.md +++ b/docs/en/release-info/migration-guides/openiddict-blazor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate your Blazor Wasm UI to OpenIddict for seamless authentication in your ABP Framework applications." +} +``` + # OpenIddict Blazor Wasm UI Migration Guide ## Blazor Project diff --git a/docs/en/release-info/migration-guides/openiddict-mvc.md b/docs/en/release-info/migration-guides/openiddict-mvc.md index b3e4e0e34c..82aff046f0 100644 --- a/docs/en/release-info/migration-guides/openiddict-mvc.md +++ b/docs/en/release-info/migration-guides/openiddict-mvc.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "This guide provides step-by-step instructions for migrating your MVC/Razor UI project to OpenIddict, enhancing security and authentication." +} +``` + # OpenIddict MVC/Razor UI Migration Guide ## Web Project (Non-Tiered Solution) diff --git a/docs/en/release-info/migration-guides/openiddict-step-by-step.md b/docs/en/release-info/migration-guides/openiddict-step-by-step.md index 04866180ad..a9eac47fa7 100644 --- a/docs/en/release-info/migration-guides/openiddict-step-by-step.md +++ b/docs/en/release-info/migration-guides/openiddict-step-by-step.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Step-by-step guide for migrating from IdentityServer to OpenIddict in ABP Framework, ensuring smooth updates and continued support." +} +``` + # Migrating from IdentityServer to OpenIddict Step by Step Guide This guide provides layer-by-layer guidance for migrating your existing application to [OpenIddict](https://github.com/openiddict/openiddict-core) from IdentityServer. ABP startup templates use `OpenIddict` OpenId provider from v6.0.0 by default and `IdentityServer` projects are renamed to `AuthServer` in tiered/separated solutions. Since OpenIddict is only available with ABP v6.0, you will need to update your existing application in order to apply OpenIddict changes. diff --git a/docs/en/release-info/migration-guides/openiddict4-to-5.md b/docs/en/release-info/migration-guides/openiddict4-to-5.md index b8eb1ffb87..add172e8e2 100644 --- a/docs/en/release-info/migration-guides/openiddict4-to-5.md +++ b/docs/en/release-info/migration-guides/openiddict4-to-5.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the essential changes for migrating from OpenIddict 4.x to 5.x, including new features and critical updates for a smooth transition." +} +``` + # OpenIddict 4.x to 5.x Migration Guide The 5.0 release of OpenIddict is a major release that introduces breaking changes. diff --git a/docs/en/release-info/migration-guides/pro/blazorui-3-3.md b/docs/en/release-info/migration-guides/pro/blazorui-3-3.md index 2279712264..bebb813574 100644 --- a/docs/en/release-info/migration-guides/pro/blazorui-3-3.md +++ b/docs/en/release-info/migration-guides/pro/blazorui-3-3.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your Blazor UI from v3.2 to v3.3 with essential changes, package updates, and new footer customization for your project." +} +``` + # Migration Guide for the Blazor UI from the v3.2 to the v3.3 ## Startup Template Changes diff --git a/docs/en/release-info/migration-guides/pro/microservice-4-x-to-5-2.md b/docs/en/release-info/migration-guides/pro/microservice-4-x-to-5-2.md index c64d11c7ac..1428e56347 100644 --- a/docs/en/release-info/migration-guides/pro/microservice-4-x-to-5-2.md +++ b/docs/en/release-info/migration-guides/pro/microservice-4-x-to-5-2.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Upgrade your Microservice template from 4.x to 5.2 with this comprehensive guide, covering breaking changes and enhancements like Docker support." +} +``` + # Microservice Template Version 4.x to 5.2 Migration Guide This document is a guide for upgrading Microservice template version 4.4 to version 5.2. Please read them all since there are some important breaking changes. diff --git a/docs/en/release-info/migration-guides/pro/migrating-to-yarp.md b/docs/en/release-info/migration-guides/pro/migrating-to-yarp.md index cdc1c62c11..0fe299c384 100644 --- a/docs/en/release-info/migration-guides/pro/migrating-to-yarp.md +++ b/docs/en/release-info/migration-guides/pro/migrating-to-yarp.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly migrate your API Gateway from Ocelot to YARP in ABP Framework, ensuring better performance and ongoing support." +} +``` + # Migrating API Gateway from Ocelot to YARP This guide provides guidance for migrating your existing microservice application's API Gateway from [Ocelot](https://github.com/ThreeMammals/Ocelot) to [YARP](https://github.com/microsoft/reverse-proxy). Since YARP is available with ABP v8.0+, you will need to update your existing application in order to apply YARP changes. diff --git a/docs/en/release-info/migration-guides/pro/openiddict-angular.md b/docs/en/release-info/migration-guides/pro/openiddict-angular.md index e234cea98d..3f8426e309 100644 --- a/docs/en/release-info/migration-guides/pro/openiddict-angular.md +++ b/docs/en/release-info/migration-guides/pro/openiddict-angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Migrate your Angular UI to OpenIddict with this guide, featuring essential steps for seamless integration with ABP Framework." +} +``` + # OpenIddict Angular UI Migration Guide ## Angular Project diff --git a/docs/en/release-info/migration-guides/pro/openiddict-blazor-server.md b/docs/en/release-info/migration-guides/pro/openiddict-blazor-server.md index 28e6771215..f459e8561a 100644 --- a/docs/en/release-info/migration-guides/pro/openiddict-blazor-server.md +++ b/docs/en/release-info/migration-guides/pro/openiddict-blazor-server.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate your Blazor Server UI to OpenIddict with this comprehensive guide, ensuring a smooth transition for your application." +} +``` + # OpenIddict Blazor-Server UI Migration Guide ## Blazor Project (Non-Tiered Solution) diff --git a/docs/en/release-info/migration-guides/pro/openiddict-blazor.md b/docs/en/release-info/migration-guides/pro/openiddict-blazor.md index 0d65f62596..d86436a639 100644 --- a/docs/en/release-info/migration-guides/pro/openiddict-blazor.md +++ b/docs/en/release-info/migration-guides/pro/openiddict-blazor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Follow this guide to smoothly migrate your Blazor WebAssembly project to OpenIddict, enhancing authentication capabilities with ABP Framework." +} +``` + # OpenIddict Blazor Wasm UI Migration Guide ## Blazor Project diff --git a/docs/en/release-info/migration-guides/pro/openiddict-microservice.md b/docs/en/release-info/migration-guides/pro/openiddict-microservice.md index 818a8c368a..6581d68d6e 100644 --- a/docs/en/release-info/migration-guides/pro/openiddict-microservice.md +++ b/docs/en/release-info/migration-guides/pro/openiddict-microservice.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate your microservice application to OpenIddict with this comprehensive guide, ensuring a smooth transition with ABP Framework." +} +``` + # Migrating Microservice Application to OpenIddict Guide This guide provides guidance for migrating your existing microservice application to OpenIddict. Since OpenIddict is only available with ABP v6.0, you will need to update your existing application in order to apply OpenIddict changes. diff --git a/docs/en/release-info/migration-guides/pro/openiddict-mvc.md b/docs/en/release-info/migration-guides/pro/openiddict-mvc.md index 620e715c6a..ca3eb02359 100644 --- a/docs/en/release-info/migration-guides/pro/openiddict-mvc.md +++ b/docs/en/release-info/migration-guides/pro/openiddict-mvc.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to migrate your MVC/Razor UI to OpenIddict with this step-by-step guide, ensuring a smooth transition for your ABP Framework projects." +} +``` + # OpenIddict MVC/Razor UI Migration Guide ## Web Project (Non-Tiered Solution) diff --git a/docs/en/release-info/migration-guides/pro/openiddict-step-by-step.md b/docs/en/release-info/migration-guides/pro/openiddict-step-by-step.md index 9934aad753..a530ce0bd5 100644 --- a/docs/en/release-info/migration-guides/pro/openiddict-step-by-step.md +++ b/docs/en/release-info/migration-guides/pro/openiddict-step-by-step.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Step-by-step guide to migrate from IdentityServer to OpenIddict in ABP v6.0, ensuring a smooth transition for your applications." +} +``` + # Migrating from IdentityServer to OpenIddict Step by Step Guide This guide provides layer-by-layer guidance for migrating your existing application to OpenIddict. Since OpenIddict is only available with ABP v6.0, you will need to update your existing application in order to apply OpenIddict changes. diff --git a/docs/en/release-info/migration-guides/upgrading-startup-template.md b/docs/en/release-info/migration-guides/upgrading-startup-template.md index 96af41c23c..07c19c0499 100644 --- a/docs/en/release-info/migration-guides/upgrading-startup-template.md +++ b/docs/en/release-info/migration-guides/upgrading-startup-template.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to upgrade your startup template in ABP Framework by comparing existing and new solutions using WinMerge for seamless updates." +} +``` + # Upgrading the Startup Template Sometimes we introduce new features/changes that requires to **make changes in the startup template**. We already implement the changes in the startup template for new applications. However, in some cases you need to manually make some minor changes in your existing solution. diff --git a/docs/en/release-info/nightly-builds.md b/docs/en/release-info/nightly-builds.md index bfe3e595ac..6f0d9909df 100644 --- a/docs/en/release-info/nightly-builds.md +++ b/docs/en/release-info/nightly-builds.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Access the latest ABP Framework nightly builds effortlessly with our guide on installing and switching to preview packages. Stay ahead of releases!" +} +``` + # Nightly Builds All framework & module packages (both open-source and pro packages) are deployed to MyGet every night on weekdays. So, you can install the latest dev-branch builds to try out functionality prior to release. diff --git a/docs/en/release-info/previews.md b/docs/en/release-info/previews.md index 02358c8789..75e3055db5 100644 --- a/docs/en/release-info/previews.md +++ b/docs/en/release-info/previews.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Framework's preview releases, designed for developers to test upcoming features and provide feedback for enhanced stability." +} +``` + # Preview Releases The preview versions are released **~4 weeks before** releasing a major or minor (feature) version of ABP. They are released for developers to try and provide feedback to have more stable versions. diff --git a/docs/en/release-info/release-notes.md b/docs/en/release-info/release-notes.md index eff63388e3..50f171facb 100644 --- a/docs/en/release-info/release-notes.md +++ b/docs/en/release-info/release-notes.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the latest ABP Framework release notes, highlighting major features and enhancements for each version, including migration guidance." +} +``` + # Release Notes This document contains **brief release notes** for each release. Release notes only include **major features** and **visible enhancements**. They don't include all the development done in the related version. To see raw and detailed change logs for every release, please check the related milestone and [the change logs page](https://abp.io/pro-releases) (only for paid license holders). diff --git a/docs/en/release-info/road-map.md b/docs/en/release-info/road-map.md index cc9caca124..af407b9609 100644 --- a/docs/en/release-info/road-map.md +++ b/docs/en/release-info/road-map.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Platform Road Map for insights on upcoming features, release schedules, and improvements in version 9.1, launching January 2025." +} +``` + # ABP Platform Road Map This document provides a road map, release schedule, and planned features for the ABP Platform. diff --git a/docs/en/release-info/upgrading.md b/docs/en/release-info/upgrading.md index 28404c20b4..88ce1249d8 100644 --- a/docs/en/release-info/upgrading.md +++ b/docs/en/release-info/upgrading.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently upgrade your ABP-based solutions with the ABP CLI, ensuring smooth updates and database management." +} +``` + # Upgrading ABP Based Solutions This document explains how to upgrade your existing solution when a new ABP version is published. diff --git a/docs/en/samples/easy-crm.md b/docs/en/samples/easy-crm.md index 1a0fff3b3f..eb959a38c8 100644 --- a/docs/en/samples/easy-crm.md +++ b/docs/en/samples/easy-crm.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Easy CRM sample project built on ABP Framework, featuring source code for ASP.NET Core, Angular, and Blazor UIs, exclusive for ABP customers." +} +``` + # Easy CRM - Sample ABP Project This is a sample solution developed on top of ABP. diff --git a/docs/en/samples/eshop-on-abp/index.md b/docs/en/samples/eshop-on-abp/index.md index ac45772150..7d0141e65c 100644 --- a/docs/en/samples/eshop-on-abp/index.md +++ b/docs/en/samples/eshop-on-abp/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the outdated eShopOnAbp project and transition to the recommended ABP Microservice Solution Template for modern microservices development." +} +``` + # eShopOnAbp > ⚠️ **Important Notice** diff --git a/docs/en/samples/index.md b/docs/en/samples/index.md index 6aea3d3fa5..69c7512776 100644 --- a/docs/en/samples/index.md +++ b/docs/en/samples/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore a variety of ABP Framework samples, complete with live demos, source code, and tutorials to enhance your development skills!" +} +``` + # ABP Samples This document provides a list of samples built with ABP. Each sample is briefly explained below, along with its live demo (if available), source code, and tutorial links (where applicable). diff --git a/docs/en/samples/microservice-demo.md b/docs/en/samples/microservice-demo.md index cf842d1a62..31516b2a55 100644 --- a/docs/en/samples/microservice-demo.md +++ b/docs/en/samples/microservice-demo.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the microservice demo solution, now replaced by eShopOnAbp, and learn about benefits of microservices in software architecture." +} +``` + # Microservice Demo Solution > This solution is no longer maintained. See [the eShopOnAbp project](https://github.com/abpframework/eShopOnAbp) for the replacement solution. diff --git a/docs/en/solution-templates/application-module/index.md b/docs/en/solution-templates/application-module/index.md index 0c0f86ddbd..397a5eafae 100644 --- a/docs/en/solution-templates/application-module/index.md +++ b/docs/en/solution-templates/application-module/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Create reusable application modules or microservices with the ABP Framework's module solution template. Start building with ease!" +} +``` + # Module Solution Template This template can be used to create a **reusable [application module](../../modules)** based on the [module development best practices & conventions](../../framework/architecture/best-practices). It is also suitable for creating **microservices** (with or without UI). diff --git a/docs/en/solution-templates/guide.md b/docs/en/solution-templates/guide.md index cb14f57ef3..b87fea4b24 100644 --- a/docs/en/solution-templates/guide.md +++ b/docs/en/solution-templates/guide.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's guide to selecting the right startup template for your project, covering architectures like Microservices, N-Layered, and more." +} +``` + # Solution Templates: A Guide to Select the Right One For You ABP provides several [startup templates](index.md) to you. It is important to start with the right startup template that is suitable for your **project** and **team**. This guide aims to lead you to select the most proper startup template for your requirements. diff --git a/docs/en/solution-templates/index.md b/docs/en/solution-templates/index.md index 739dbc453e..c833b8d508 100644 --- a/docs/en/solution-templates/index.md +++ b/docs/en/solution-templates/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's production-ready startup solution templates for Single-Layer, Layered, and Microservice architectures to kickstart your project!" +} +``` + # Startup Solution Templates ABP provides pre-architected and production-ready templates to jump start a new solution. diff --git a/docs/en/solution-templates/layered-web-application/authentication.md b/docs/en/solution-templates/layered-web-application/authentication.md index 0133e95246..5ef1526e39 100644 --- a/docs/en/solution-templates/layered-web-application/authentication.md +++ b/docs/en/solution-templates/layered-web-application/authentication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn about the common authentication structure in the Layered solution template, utilizing OpenIddict for seamless integration." +} +``` + # Layered Solution: Authentication ```json diff --git a/docs/en/solution-templates/layered-web-application/background-jobs.md b/docs/en/solution-templates/layered-web-application/background-jobs.md index beef27d5d0..356186f213 100644 --- a/docs/en/solution-templates/layered-web-application/background-jobs.md +++ b/docs/en/solution-templates/layered-web-application/background-jobs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently implement and manage background jobs in your layered solution using the ABP Framework for asynchronous tasks." +} +``` + # Layered Solution: Background Jobs ```json diff --git a/docs/en/solution-templates/layered-web-application/background-workers.md b/docs/en/solution-templates/layered-web-application/background-workers.md index 500a21756b..b6f1c5806a 100644 --- a/docs/en/solution-templates/layered-web-application/background-workers.md +++ b/docs/en/solution-templates/layered-web-application/background-workers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement background workers in your applications for efficient handling of long-running tasks and scheduled processes." +} +``` + # Layered Solution: Background Workers ```json diff --git a/docs/en/solution-templates/layered-web-application/blob-storing.md b/docs/en/solution-templates/layered-web-application/blob-storing.md index 9e1332e03a..f5d8804080 100644 --- a/docs/en/solution-templates/layered-web-application/blob-storing.md +++ b/docs/en/solution-templates/layered-web-application/blob-storing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively store BLOBs in a layered solution using ABP Framework, enhancing your application's file management capabilities." +} +``` + # Layered Solution: BLOB Storing ```json diff --git a/docs/en/solution-templates/layered-web-application/built-in-features.md b/docs/en/solution-templates/layered-web-application/built-in-features.md index b5dba7c444..517c572bfb 100644 --- a/docs/en/solution-templates/layered-web-application/built-in-features.md +++ b/docs/en/solution-templates/layered-web-application/built-in-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the built-in features of the Layered solution template to kickstart your web application development with ABP Framework." +} +``` + # Layered Solution: Built-In Features ```json diff --git a/docs/en/solution-templates/layered-web-application/cors-configuration.md b/docs/en/solution-templates/layered-web-application/cors-configuration.md index 6df207c107..e8a05dc8da 100644 --- a/docs/en/solution-templates/layered-web-application/cors-configuration.md +++ b/docs/en/solution-templates/layered-web-application/cors-configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure CORS in ABP Framework's layered solution template for various web application types, enhancing security and functionality." +} +``` + # Layered Solution: CORS Configuration ```json diff --git a/docs/en/solution-templates/layered-web-application/database-configurations.md b/docs/en/solution-templates/layered-web-application/database-configurations.md index 0776062c4f..255b098ae2 100644 --- a/docs/en/solution-templates/layered-web-application/database-configurations.md +++ b/docs/en/solution-templates/layered-web-application/database-configurations.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage database configurations in ABP Framework's Layered Solution Template with customizable connection strings for different environments." +} +``` + # Layered Solution: Database configurations ```json diff --git a/docs/en/solution-templates/layered-web-application/db-migrator.md b/docs/en/solution-templates/layered-web-application/db-migrator.md index 50fd38d836..54f6cc619a 100644 --- a/docs/en/solution-templates/layered-web-application/db-migrator.md +++ b/docs/en/solution-templates/layered-web-application/db-migrator.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the Db Migrator for seamless database migrations and data seeding in your applications with ABP Framework." +} +``` + # Layered Solution: Db Migrator ````json diff --git a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/azure-deployment.md b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/azure-deployment.md index 566cf80e32..bdba4f9796 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/azure-deployment.md +++ b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/azure-deployment.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy your ABP application on Azure using GitHub Actions, tailored for your chosen UI and database options." +} +``` + # Azure Deployment using Application Service ````json diff --git a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step1-create-azure-resources.md b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step1-create-azure-resources.md index 9fb4de254b..76ac60976f 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step1-create-azure-resources.md +++ b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step1-create-azure-resources.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create an Azure Web App Service using the Azure Portal or Terraform, tailored for different UI and database options." +} +``` + ````json //[doc-params] { diff --git a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step2-configuration-application.md b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step2-configuration-application.md index 718446353a..50ccb93652 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step2-configuration-application.md +++ b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step2-configuration-application.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize your ABP application’s configuration by modifying ConnectionString values across key appsettings.json files." +} +``` + ````json //[doc-params] { diff --git a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step3-deployment-github-action.md b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step3-deployment-github-action.md index 99489081b3..00e86405bb 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step3-deployment-github-action.md +++ b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/step3-deployment-github-action.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy your ABP application to Azure Web App Service using GitHub Actions, streamlining your deployment process with ease." +} +``` + ````json //[doc-params] { diff --git a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/terraform-web-app-service.md b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/terraform-web-app-service.md index 7b346d0915..2282f1f503 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/terraform-web-app-service.md +++ b/docs/en/solution-templates/layered-web-application/deployment/azure-deployment/terraform-web-app-service.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to provision an Azure Web App using Terraform with this step-by-step guide, including prerequisites and setup for a seamless deployment." +} +``` + # Provisioning an Azure Web App using Terraform ````json diff --git a/docs/en/solution-templates/layered-web-application/deployment/deployment-docker-compose.md b/docs/en/solution-templates/layered-web-application/deployment/deployment-docker-compose.md index a9e106221b..7752b380e1 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/deployment-docker-compose.md +++ b/docs/en/solution-templates/layered-web-application/deployment/deployment-docker-compose.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to deploy your ABP application using Docker Compose, including building images and modifying configurations for production environments." +} +``` + # Docker Deployment using Docker Compose ````json diff --git a/docs/en/solution-templates/layered-web-application/deployment/deployment-iis.md b/docs/en/solution-templates/layered-web-application/deployment/deployment-iis.md index 79382f1b0a..07de67c3a1 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/deployment-iis.md +++ b/docs/en/solution-templates/layered-web-application/deployment/deployment-iis.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy your ABP Framework application on IIS with this comprehensive guide, covering prerequisites and authentication certificate setup." +} +``` + # IIS Deployment ````json diff --git a/docs/en/solution-templates/layered-web-application/deployment/identityserver-deployment.md b/docs/en/solution-templates/layered-web-application/deployment/identityserver-deployment.md index 8cb9438576..db6975e04f 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/identityserver-deployment.md +++ b/docs/en/solution-templates/layered-web-application/deployment/identityserver-deployment.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure IdentityServer for deployment, including CORS origins and redirect URLs, ensuring a secure and efficient setup for your applications." +} +``` + # IdentityServer Deployment IdentityServer configuration may be different based on deployment configurations. Basically, you need update identityserver client related data and update your hosting preferences based on your deployment environment. diff --git a/docs/en/solution-templates/layered-web-application/deployment/index.md b/docs/en/solution-templates/layered-web-application/deployment/index.md index a81823a7f7..01f13ed065 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/index.md +++ b/docs/en/solution-templates/layered-web-application/deployment/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy your ABP Framework applications in staging and production environments with options for Docker, Azure, and IIS." +} +``` + # Deployment ````json diff --git a/docs/en/solution-templates/layered-web-application/deployment/openiddict-deployment.md b/docs/en/solution-templates/layered-web-application/deployment/openiddict-deployment.md index 65ac72719c..b2459fcdad 100644 --- a/docs/en/solution-templates/layered-web-application/deployment/openiddict-deployment.md +++ b/docs/en/solution-templates/layered-web-application/deployment/openiddict-deployment.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy OpenIddict with ABP Framework, including CORS configuration for gateways and microservices in your applications." +} +``` + # OpenIddict Deployment [OpenIddict](https://github.com/openiddict/openiddict-core) is the default OpenId Provider library used by ABP templates through the [OpenIddict Module](https://docs.abp.io/en/abp/latest/Modules/OpenIddict). It is hosted by the **AuthServer** project in the tiered/seperate-authserver application templates. For non-tiered applications, it is hosted by the Web (MVC/Razor), BlazorServer or the **HttpApi.Host** project for Blazor and Angular applications. diff --git a/docs/en/solution-templates/layered-web-application/distributed-locking.md b/docs/en/solution-templates/layered-web-application/distributed-locking.md index 652a9e4376..7c65a1077a 100644 --- a/docs/en/solution-templates/layered-web-application/distributed-locking.md +++ b/docs/en/solution-templates/layered-web-application/distributed-locking.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement distributed locking in layered applications to synchronize access to shared resources effectively." +} +``` + # Layered Solution: Distributed Locking ```json diff --git a/docs/en/solution-templates/layered-web-application/helm-charts-and-kubernetes.md b/docs/en/solution-templates/layered-web-application/helm-charts-and-kubernetes.md index dcdd805e7f..d88fac6b31 100644 --- a/docs/en/solution-templates/layered-web-application/helm-charts-and-kubernetes.md +++ b/docs/en/solution-templates/layered-web-application/helm-charts-and-kubernetes.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy your ABP layered solution to a Kubernetes cluster using Helm charts, complete with folder structure guidance." +} +``` + # Layered Solution: Helm Charts and Kubernetes ````json diff --git a/docs/en/solution-templates/layered-web-application/index.md b/docs/en/solution-templates/layered-web-application/index.md index e1e5997154..04f5adf11d 100644 --- a/docs/en/solution-templates/layered-web-application/index.md +++ b/docs/en/solution-templates/layered-web-application/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP Studio's Layered Solution Template for building robust monolithic applications using Domain-Driven Design principles." +} +``` + # ABP Studio: Layered Solution Template ````json diff --git a/docs/en/solution-templates/layered-web-application/logging.md b/docs/en/solution-templates/layered-web-application/logging.md index 1ee3278bfb..1cbc1e188a 100644 --- a/docs/en/solution-templates/layered-web-application/logging.md +++ b/docs/en/solution-templates/layered-web-application/logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement structured logging with Serilog in your ABP Framework applications, ensuring a consistent and efficient logging setup." +} +``` + # Layered Solution: Logging ```json diff --git a/docs/en/solution-templates/layered-web-application/main-components.md b/docs/en/solution-templates/layered-web-application/main-components.md index b7b324069e..2935f6fd3a 100644 --- a/docs/en/solution-templates/layered-web-application/main-components.md +++ b/docs/en/solution-templates/layered-web-application/main-components.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the main components of a layered solution, including web, mobile applications, and a database migrator, for seamless integration." +} +``` + # Layered Solution: Main Components ````json diff --git a/docs/en/solution-templates/layered-web-application/mobile-applications.md b/docs/en/solution-templates/layered-web-application/mobile-applications.md index 09da244f27..00f4e1712b 100644 --- a/docs/en/solution-templates/layered-web-application/mobile-applications.md +++ b/docs/en/solution-templates/layered-web-application/mobile-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and configure mobile applications using ABP Studio for your layered solution, enhancing user accessibility and experience." +} +``` + # Layered Solution: Mobile Applications ```json diff --git a/docs/en/solution-templates/layered-web-application/multi-tenancy.md b/docs/en/solution-templates/layered-web-application/multi-tenancy.md index 632b392ebf..2afb1b9c2a 100644 --- a/docs/en/solution-templates/layered-web-application/multi-tenancy.md +++ b/docs/en/solution-templates/layered-web-application/multi-tenancy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore multi-tenancy in the ABP Framework's layered solution, enabling isolated data and configurations for multiple tenants." +} +``` + # Layered Solution: Multi-Tenancy ```json diff --git a/docs/en/solution-templates/layered-web-application/overview.md b/docs/en/solution-templates/layered-web-application/overview.md index bfc3f4a465..4c9678fcb2 100644 --- a/docs/en/solution-templates/layered-web-application/overview.md +++ b/docs/en/solution-templates/layered-web-application/overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Layered Solution template in ABP Framework, featuring pre-installed libraries and services for seamless development and production." +} +``` + # Layered Solution: Overview ````json diff --git a/docs/en/solution-templates/layered-web-application/solution-structure.md b/docs/en/solution-templates/layered-web-application/solution-structure.md index 680df73a59..48c345a596 100644 --- a/docs/en/solution-templates/layered-web-application/solution-structure.md +++ b/docs/en/solution-templates/layered-web-application/solution-structure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the layered solution structure in ABP Studio and learn how to organize your projects effectively for optimal development." +} +``` + # Layered Solution: The Structure ````json diff --git a/docs/en/solution-templates/layered-web-application/swagger-integration.md b/docs/en/solution-templates/layered-web-application/swagger-integration.md index 202ab9f892..12045fecb7 100644 --- a/docs/en/solution-templates/layered-web-application/swagger-integration.md +++ b/docs/en/solution-templates/layered-web-application/swagger-integration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Swagger with ABP Framework for effective API documentation and interaction in your layered web applications." +} +``` + # Layered Solution: Swagger Integration ```json diff --git a/docs/en/solution-templates/layered-web-application/web-applications.md b/docs/en/solution-templates/layered-web-application/web-applications.md index 8a1b71fda7..b4caf4ae1c 100644 --- a/docs/en/solution-templates/layered-web-application/web-applications.md +++ b/docs/en/solution-templates/layered-web-application/web-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Layered Solution for Web Applications, including MVC/Razor Pages, to enhance user interaction with your ABP Framework projects." +} +``` + # Layered Solution: Web Applications ````json diff --git a/docs/en/solution-templates/microservice/adding-new-api-gateways.md b/docs/en/solution-templates/microservice/adding-new-api-gateways.md index 415452a3bd..eb71df63cf 100644 --- a/docs/en/solution-templates/microservice/adding-new-api-gateways.md +++ b/docs/en/solution-templates/microservice/adding-new-api-gateways.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to add new API gateways to your microservice solution with ABP Framework, enhancing request routing and system organization." +} +``` + # Microservice Solution: Adding New API Gateways ````json diff --git a/docs/en/solution-templates/microservice/adding-new-applications.md b/docs/en/solution-templates/microservice/adding-new-applications.md index 352b18f763..0792e6b0c3 100644 --- a/docs/en/solution-templates/microservice/adding-new-applications.md +++ b/docs/en/solution-templates/microservice/adding-new-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to add new web applications to your ABP microservice solution, utilizing templates for customization and organization." +} +``` + # Microservice Solution: Adding New Applications ````json diff --git a/docs/en/solution-templates/microservice/adding-new-microservices.md b/docs/en/solution-templates/microservice/adding-new-microservices.md index 9cb482c552..8ae10b02d2 100644 --- a/docs/en/solution-templates/microservice/adding-new-microservices.md +++ b/docs/en/solution-templates/microservice/adding-new-microservices.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to add new microservices to your ABP Framework solution, utilizing templates for customization and independent development." +} +``` + # Microservice Solution: Adding New Microservices ````json diff --git a/docs/en/solution-templates/microservice/api-gateways.md b/docs/en/solution-templates/microservice/api-gateways.md index 5bc9a33851..0dcd9c7fda 100644 --- a/docs/en/solution-templates/microservice/api-gateways.md +++ b/docs/en/solution-templates/microservice/api-gateways.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement API Gateways in your ABP microservice solution, providing a single entry point for diverse client applications." +} +``` + # Microservice Solution: API Gateways ````json diff --git a/docs/en/solution-templates/microservice/authentication.md b/docs/en/solution-templates/microservice/authentication.md index b66388ecf8..f079334a24 100644 --- a/docs/en/solution-templates/microservice/authentication.md +++ b/docs/en/solution-templates/microservice/authentication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement a common authentication structure using OpenIddict in your ABP microservice solution." +} +``` + # Microservice Solution: Authentication ````json diff --git a/docs/en/solution-templates/microservice/authoring-unit-and-integration-tests.md b/docs/en/solution-templates/microservice/authoring-unit-and-integration-tests.md index b79a197ca8..0c2162a5d0 100644 --- a/docs/en/solution-templates/microservice/authoring-unit-and-integration-tests.md +++ b/docs/en/solution-templates/microservice/authoring-unit-and-integration-tests.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to author unit and integration tests for microservices in ABP Framework, ensuring quality and reliability in your applications." +} +``` + # Microservice Solution: Authoring Unit and Integration Tests > You must have an ABP Business or a higher license to be able to create a microservice solution. diff --git a/docs/en/solution-templates/microservice/background-jobs.md b/docs/en/solution-templates/microservice/background-jobs.md index c0d34650aa..c8d2b1905c 100644 --- a/docs/en/solution-templates/microservice/background-jobs.md +++ b/docs/en/solution-templates/microservice/background-jobs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement background jobs in your ABP Framework microservice using RabbitMQ for efficient task management." +} +``` + # Microservice Solution: Background Jobs ````json diff --git a/docs/en/solution-templates/microservice/background-workers.md b/docs/en/solution-templates/microservice/background-workers.md index 5f3ac8507e..e2575f028f 100644 --- a/docs/en/solution-templates/microservice/background-workers.md +++ b/docs/en/solution-templates/microservice/background-workers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement background workers in your microservice solution with ABP Framework for efficient task management and automation." +} +``` + # Microservice Solution: Background Workers ````json diff --git a/docs/en/solution-templates/microservice/blob-storing.md b/docs/en/solution-templates/microservice/blob-storing.md index e84c19133e..0e85367f9b 100644 --- a/docs/en/solution-templates/microservice/blob-storing.md +++ b/docs/en/solution-templates/microservice/blob-storing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to store BLOBs in a microservice solution using ABP Framework, including database integration for efficient large object management." +} +``` + # Microservice Solution: BLOB Storing ````json diff --git a/docs/en/solution-templates/microservice/built-in-features.md b/docs/en/solution-templates/microservice/built-in-features.md index 62c2863d23..2454578211 100644 --- a/docs/en/solution-templates/microservice/built-in-features.md +++ b/docs/en/solution-templates/microservice/built-in-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the built-in features of the ABP Microservice Solution template to effectively build and manage distributed systems." +} +``` + # Microservice Solution: Built-In Features > You must have an ABP Business or a higher license to be able to create a microservice solution. diff --git a/docs/en/solution-templates/microservice/communication.md b/docs/en/solution-templates/microservice/communication.md index 8b2b3af9aa..08c1e92d1c 100644 --- a/docs/en/solution-templates/microservice/communication.md +++ b/docs/en/solution-templates/microservice/communication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore communication methods in ABP's microservice solution, covering synchronous and asynchronous patterns for seamless service interactions." +} +``` + # Microservice Solution: Communication > You must have an ABP Business or a higher license to be able to create a microservice solution. diff --git a/docs/en/solution-templates/microservice/cors-configuration.md b/docs/en/solution-templates/microservice/cors-configuration.md index 2ca44342f4..fb00f1f95b 100644 --- a/docs/en/solution-templates/microservice/cors-configuration.md +++ b/docs/en/solution-templates/microservice/cors-configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure CORS in ABP microservice solutions to enable secure cross-origin requests for your applications." +} +``` + # Microservice Solution: CORS Configuration ````json diff --git a/docs/en/solution-templates/microservice/database-configurations.md b/docs/en/solution-templates/microservice/database-configurations.md index 6978cd0af2..644ee0748e 100644 --- a/docs/en/solution-templates/microservice/database-configurations.md +++ b/docs/en/solution-templates/microservice/database-configurations.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore how to configure and manage databases in the ABP Microservice solution, focusing on Entity Framework and MongoDB integration." +} +``` + # Microservice Solution: Database Configurations ````json diff --git a/docs/en/solution-templates/microservice/distributed-cache.md b/docs/en/solution-templates/microservice/distributed-cache.md index b35a00e8cb..fa785a98ba 100644 --- a/docs/en/solution-templates/microservice/distributed-cache.md +++ b/docs/en/solution-templates/microservice/distributed-cache.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement distributed caching in ABP Framework microservice solutions using Redis for improved performance." +} +``` + # Microservice Solution: Distributed Cache ````json diff --git a/docs/en/solution-templates/microservice/distributed-events.md b/docs/en/solution-templates/microservice/distributed-events.md index 3e1ba140f9..6b23f7cd05 100644 --- a/docs/en/solution-templates/microservice/distributed-events.md +++ b/docs/en/solution-templates/microservice/distributed-events.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement asynchronous communication in microservices using the ABP Framework's Distributed Event Bus with RabbitMQ." +} +``` + # Microservice Solution: Distributed Events ````json diff --git a/docs/en/solution-templates/microservice/distributed-locking.md b/docs/en/solution-templates/microservice/distributed-locking.md index 5902a391c1..4f39374a62 100644 --- a/docs/en/solution-templates/microservice/distributed-locking.md +++ b/docs/en/solution-templates/microservice/distributed-locking.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement distributed locking in ABP Framework microservices using Redis to ensure safe operation execution across instances." +} +``` + # Microservice Solution: Distributed Locking ````json diff --git a/docs/en/solution-templates/microservice/feature-management.md b/docs/en/solution-templates/microservice/feature-management.md index 0c90cb1705..b4d3cfa53d 100644 --- a/docs/en/solution-templates/microservice/feature-management.md +++ b/docs/en/solution-templates/microservice/feature-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage features in your ABP microservice solution, including application configuration and user tenant details." +} +``` + # Microservice Solution: Feature Management ````json diff --git a/docs/en/solution-templates/microservice/grpc-calls.md b/docs/en/solution-templates/microservice/grpc-calls.md index e8f9328a46..1903cce6fe 100644 --- a/docs/en/solution-templates/microservice/grpc-calls.md +++ b/docs/en/solution-templates/microservice/grpc-calls.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement high-performance gRPC calls in your microservices with ABP Framework for efficient communication and scalability." +} +``` + # Microservice Solution: gRPC Calls ````json diff --git a/docs/en/solution-templates/microservice/guides.md b/docs/en/solution-templates/microservice/guides.md index 9edeeef29e..3cfea420ab 100644 --- a/docs/en/solution-templates/microservice/guides.md +++ b/docs/en/solution-templates/microservice/guides.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore comprehensive guides on building microservice solutions with ABP Framework, covering new services, applications, API gateways, and testing." +} +``` + # Microservice Solution: Guides > You must have an ABP Business or a higher license to be able to create a microservice solution. diff --git a/docs/en/solution-templates/microservice/helm-charts-and-kubernetes.md b/docs/en/solution-templates/microservice/helm-charts-and-kubernetes.md index fc7c2f92dc..46da70e88c 100644 --- a/docs/en/solution-templates/microservice/helm-charts-and-kubernetes.md +++ b/docs/en/solution-templates/microservice/helm-charts-and-kubernetes.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to deploy your ABP microservice solution on Kubernetes using Helm charts, complete with a guide on folder structure and requirements." +} +``` + # Microservice Solution: Helm Charts and Kubernetes ````json diff --git a/docs/en/solution-templates/microservice/how-to-use-with-abp-suite.md b/docs/en/solution-templates/microservice/how-to-use-with-abp-suite.md index 8549032089..83197367d1 100644 --- a/docs/en/solution-templates/microservice/how-to-use-with-abp-suite.md +++ b/docs/en/solution-templates/microservice/how-to-use-with-abp-suite.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to leverage ABP Suite for visual solution design and code generation, streamlining your microservice development process." +} +``` + # Microservice Solution: How to use with ABP Suite ABP Suite provides a visual solution designer, code generators, and other tools to make your development process easier and faster. diff --git a/docs/en/solution-templates/microservice/http-api-calls.md b/docs/en/solution-templates/microservice/http-api-calls.md index 5a9dee0afd..6efa6055e0 100644 --- a/docs/en/solution-templates/microservice/http-api-calls.md +++ b/docs/en/solution-templates/microservice/http-api-calls.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to enable HTTP API calls in your ABP microservice solution for seamless communication between services using Integration Services." +} +``` + # Microservice Solution: HTTP API Calls ````json diff --git a/docs/en/solution-templates/microservice/index.md b/docs/en/solution-templates/microservice/index.md index 7650ccb46d..8041e3121c 100644 --- a/docs/en/solution-templates/microservice/index.md +++ b/docs/en/solution-templates/microservice/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Studio Microservice Solution Template to quickly build robust, integrated microservices with best practices and ready-to-use components." +} +``` + # ABP Studio: Microservice Solution Template > You must have an ABP Business or a higher license to use this startup template. diff --git a/docs/en/solution-templates/microservice/localization-system.md b/docs/en/solution-templates/microservice/localization-system.md index a350de6848..8f956ccec5 100644 --- a/docs/en/solution-templates/microservice/localization-system.md +++ b/docs/en/solution-templates/microservice/localization-system.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how the ABP Framework manages localization in microservice solutions, enhancing resource management across applications seamlessly." +} +``` + # Microservice Solution: Localization System ````json diff --git a/docs/en/solution-templates/microservice/logging.md b/docs/en/solution-templates/microservice/logging.md index 41f7dc6861..1ad38a774b 100644 --- a/docs/en/solution-templates/microservice/logging.md +++ b/docs/en/solution-templates/microservice/logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore how to implement structured logging in your ABP microservice solution using Serilog, ensuring efficient log management across services." +} +``` + # Microservice Solution: Logging ````json diff --git a/docs/en/solution-templates/microservice/main-components.md b/docs/en/solution-templates/microservice/main-components.md index a83dc9cd29..d8a1f6403a 100644 --- a/docs/en/solution-templates/microservice/main-components.md +++ b/docs/en/solution-templates/microservice/main-components.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the main components of the ABP microservice solution, including applications, API gateways, and services for effective development." +} +``` + # Microservice Solution: Main Components > You must have an ABP Business or a higher license to be able to create a microservice solution. diff --git a/docs/en/solution-templates/microservice/microservices.md b/docs/en/solution-templates/microservice/microservices.md index 4d2848dc93..1d270be615 100644 --- a/docs/en/solution-templates/microservice/microservices.md +++ b/docs/en/solution-templates/microservice/microservices.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Microservice solution, including core microservices like Administration and Identity, to kickstart your scalable applications." +} +``` + # Microservice Solution: The Microservices ````json diff --git a/docs/en/solution-templates/microservice/mobile-applications.md b/docs/en/solution-templates/microservice/mobile-applications.md index e28afbc3c8..9f9a861f3a 100644 --- a/docs/en/solution-templates/microservice/mobile-applications.md +++ b/docs/en/solution-templates/microservice/mobile-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore how to integrate mobile applications with ABP's microservice solution, featuring options like MAUI and React Native for seamless development." +} +``` + # Microservice Solution: Mobile Applications ````json diff --git a/docs/en/solution-templates/microservice/monitoring.md b/docs/en/solution-templates/microservice/monitoring.md index 78ad83fa7b..e95df177de 100644 --- a/docs/en/solution-templates/microservice/monitoring.md +++ b/docs/en/solution-templates/microservice/monitoring.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure monitoring for your microservice solution using Prometheus and Grafana to ensure system health and performance." +} +``` + # Microservice Solution: Monitoring ````json diff --git a/docs/en/solution-templates/microservice/mono-repo-vs-multiple-repository-approaches.md b/docs/en/solution-templates/microservice/mono-repo-vs-multiple-repository-approaches.md index 0ed10d4b9d..68a1888e38 100644 --- a/docs/en/solution-templates/microservice/mono-repo-vs-multiple-repository-approaches.md +++ b/docs/en/solution-templates/microservice/mono-repo-vs-multiple-repository-approaches.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the advantages of mono-repo vs. multiple repository approaches for microservices in ABP Framework, enhancing your development strategy." +} +``` + # Microservice Solution: Mono-repo vs Multiple Repository Approaches ````json diff --git a/docs/en/solution-templates/microservice/multi-tenancy.md b/docs/en/solution-templates/microservice/multi-tenancy.md index a33d2fad7f..0b3ce5a4a6 100644 --- a/docs/en/solution-templates/microservice/multi-tenancy.md +++ b/docs/en/solution-templates/microservice/multi-tenancy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement multi-tenancy in ABP Framework's microservice solutions, enabling seamless tenant isolation and management." +} +``` + # Microservice Solution: Multi-Tenancy ````json diff --git a/docs/en/solution-templates/microservice/overview.md b/docs/en/solution-templates/microservice/overview.md index 8f9a0fbc7a..6f0e2e9399 100644 --- a/docs/en/solution-templates/microservice/overview.md +++ b/docs/en/solution-templates/microservice/overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Microservice solution template for ABP Framework, featuring pre-installed libraries and services for seamless development and production." +} +``` + # Microservice Solution: Overview ````json diff --git a/docs/en/solution-templates/microservice/permission-management.md b/docs/en/solution-templates/microservice/permission-management.md index d2d6f38eaf..e4e721a2cd 100644 --- a/docs/en/solution-templates/microservice/permission-management.md +++ b/docs/en/solution-templates/microservice/permission-management.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage permissions in ABP's microservice solution, ensuring efficient access control across your applications." +} +``` + # Microservice Solution: Permission Management ````json diff --git a/docs/en/solution-templates/microservice/solution-structure.md b/docs/en/solution-templates/microservice/solution-structure.md index c7e94830fb..90fd211136 100644 --- a/docs/en/solution-templates/microservice/solution-structure.md +++ b/docs/en/solution-templates/microservice/solution-structure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the folder structure of ABP Studio's microservice solution template, essential for effective project organization and development." +} +``` + # Microservice Solution: The Structure ````json diff --git a/docs/en/solution-templates/microservice/swagger-integration.md b/docs/en/solution-templates/microservice/swagger-integration.md index 3ae77a031d..879ab61402 100644 --- a/docs/en/solution-templates/microservice/swagger-integration.md +++ b/docs/en/solution-templates/microservice/swagger-integration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Swagger for API documentation in ABP Framework microservices, enhancing usability and client SDK generation." +} +``` + # Microservice Solution: Swagger Integration ````json diff --git a/docs/en/solution-templates/microservice/web-applications.md b/docs/en/solution-templates/microservice/web-applications.md index 48918dbc09..6c50a7801a 100644 --- a/docs/en/solution-templates/microservice/web-applications.md +++ b/docs/en/solution-templates/microservice/web-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Framework's microservice solution template, featuring integrated web applications and API gateways for seamless development." +} +``` + # Microservice Solution: Web Applications ````json diff --git a/docs/en/solution-templates/single-layer-web-application/_index.md b/docs/en/solution-templates/single-layer-web-application/_index.md index d5720f5602..e5883ec44f 100644 --- a/docs/en/solution-templates/single-layer-web-application/_index.md +++ b/docs/en/solution-templates/single-layer-web-application/_index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Single Layer Application Solution Template to learn how to create a straightforward .NET solution structure with ease." +} +``` + # Single Layer Application Solution Template This template provides a simple solution structure with a single project. This document explains that solution structure in details. diff --git a/docs/en/solution-templates/single-layer-web-application/authentication.md b/docs/en/solution-templates/single-layer-web-application/authentication.md index 17a6f0f2c5..eaef43922d 100644 --- a/docs/en/solution-templates/single-layer-web-application/authentication.md +++ b/docs/en/solution-templates/single-layer-web-application/authentication.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Single Layer solution for authentication using OpenIddict, offering a streamlined setup for developers with ABP Framework." +} +``` + # Single Layer Solution: Authentication ```json diff --git a/docs/en/solution-templates/single-layer-web-application/background-jobs.md b/docs/en/solution-templates/single-layer-web-application/background-jobs.md index 1a3d592a5e..3b4afbd0dc 100644 --- a/docs/en/solution-templates/single-layer-web-application/background-jobs.md +++ b/docs/en/solution-templates/single-layer-web-application/background-jobs.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement and manage background jobs in your Single Layer solution using ABP Framework for efficient task handling." +} +``` + # Single Layer Solution: Background Jobs ```json diff --git a/docs/en/solution-templates/single-layer-web-application/background-workers.md b/docs/en/solution-templates/single-layer-web-application/background-workers.md index 15cad61797..929f478cf0 100644 --- a/docs/en/solution-templates/single-layer-web-application/background-workers.md +++ b/docs/en/solution-templates/single-layer-web-application/background-workers.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement background workers in your application for efficient, long-running tasks that enhance performance and reliability." +} +``` + # Single Layer Solution: Background Workers ```json diff --git a/docs/en/solution-templates/single-layer-web-application/blob-storing.md b/docs/en/solution-templates/single-layer-web-application/blob-storing.md index d316c009c6..4c1d0fe3fd 100644 --- a/docs/en/solution-templates/single-layer-web-application/blob-storing.md +++ b/docs/en/solution-templates/single-layer-web-application/blob-storing.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively store BLOBs in a single-layer solution with ABP Framework, enhancing your distributed systems capabilities." +} +``` + # Single Layer Solution: BLOB Storing ```json diff --git a/docs/en/solution-templates/single-layer-web-application/built-in-features.md b/docs/en/solution-templates/single-layer-web-application/built-in-features.md index 2700c1d8dd..9d9dd46f0e 100644 --- a/docs/en/solution-templates/single-layer-web-application/built-in-features.md +++ b/docs/en/solution-templates/single-layer-web-application/built-in-features.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the built-in features of the Single Layer solution template to kickstart your web application development with ABP Framework." +} +``` + # Single Layer Solution: Built-In Features ```json diff --git a/docs/en/solution-templates/single-layer-web-application/cors-configuration.md b/docs/en/solution-templates/single-layer-web-application/cors-configuration.md index f54c73ad79..5e52a8a6a5 100644 --- a/docs/en/solution-templates/single-layer-web-application/cors-configuration.md +++ b/docs/en/solution-templates/single-layer-web-application/cors-configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to configure CORS for single-layer solutions in ABP Framework, ensuring secure cross-origin requests for your web applications." +} +``` + # Single Layer Solution: CORS Configuration ```json diff --git a/docs/en/solution-templates/single-layer-web-application/database-configurations.md b/docs/en/solution-templates/single-layer-web-application/database-configurations.md index ec48fcf6f0..75d6639159 100644 --- a/docs/en/solution-templates/single-layer-web-application/database-configurations.md +++ b/docs/en/solution-templates/single-layer-web-application/database-configurations.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage database configurations in ABP Framework's Single-Layer Solution, including connection string customization for various environments." +} +``` + # Single Layer Solution: Database configurations ```json diff --git a/docs/en/solution-templates/single-layer-web-application/db-migrator.md b/docs/en/solution-templates/single-layer-web-application/db-migrator.md index 988b16cef6..016e69b7e1 100644 --- a/docs/en/solution-templates/single-layer-web-application/db-migrator.md +++ b/docs/en/solution-templates/single-layer-web-application/db-migrator.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to manage database migrations in a Single Layer solution with ABP Framework using scripts and commands for seamless operations." +} +``` + # Single Layer Solution: Db Migrator ````json diff --git a/docs/en/solution-templates/single-layer-web-application/distributed-locking.md b/docs/en/solution-templates/single-layer-web-application/distributed-locking.md index f99adba265..e1eb6079e2 100644 --- a/docs/en/solution-templates/single-layer-web-application/distributed-locking.md +++ b/docs/en/solution-templates/single-layer-web-application/distributed-locking.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement distributed locking in single-layer solutions with ABP Framework, ensuring synchronized access to shared resources." +} +``` + # Single Layer Solution: Distributed Locking ```json diff --git a/docs/en/solution-templates/single-layer-web-application/index.md b/docs/en/solution-templates/single-layer-web-application/index.md index ce295f20a9..22b2a6b244 100644 --- a/docs/en/solution-templates/single-layer-web-application/index.md +++ b/docs/en/solution-templates/single-layer-web-application/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Studio Single Layer Solution Template for building monolithic systems efficiently, following DDD principles and best practices." +} +``` + # ABP Studio: Single Layer Solution Template ````json diff --git a/docs/en/solution-templates/single-layer-web-application/logging.md b/docs/en/solution-templates/single-layer-web-application/logging.md index 5b3483822b..1a1ac06662 100644 --- a/docs/en/solution-templates/single-layer-web-application/logging.md +++ b/docs/en/solution-templates/single-layer-web-application/logging.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement structured logging in ABP Framework using Serilog, with common configuration for easy integration." +} +``` + # Single Layer Solution: Logging ```json diff --git a/docs/en/solution-templates/single-layer-web-application/main-components.md b/docs/en/solution-templates/single-layer-web-application/main-components.md index d219c69155..606e83f97a 100644 --- a/docs/en/solution-templates/single-layer-web-application/main-components.md +++ b/docs/en/solution-templates/single-layer-web-application/main-components.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the main components of the single-layer solution template, designed for building monolithic applications with ease and efficiency." +} +``` + # Single Layer Solution: Main Components ````json diff --git a/docs/en/solution-templates/single-layer-web-application/multi-tenancy.md b/docs/en/solution-templates/single-layer-web-application/multi-tenancy.md index b2cd042d0e..632081d598 100644 --- a/docs/en/solution-templates/single-layer-web-application/multi-tenancy.md +++ b/docs/en/solution-templates/single-layer-web-application/multi-tenancy.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore how multi-tenancy works in ABP Framework's single-layer solution, enabling isolated environments for multiple tenants." +} +``` + # Single Layer Solution: Multi-Tenancy ```json diff --git a/docs/en/solution-templates/single-layer-web-application/overview.md b/docs/en/solution-templates/single-layer-web-application/overview.md index 8592dc1e8a..a0e1e50093 100644 --- a/docs/en/solution-templates/single-layer-web-application/overview.md +++ b/docs/en/solution-templates/single-layer-web-application/overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Single Layer solution template in ABP Framework, featuring pre-installed libraries and services for streamlined development and production." +} +``` + # Single Layer Solution: Overview ````json diff --git a/docs/en/solution-templates/single-layer-web-application/solution-structure.md b/docs/en/solution-templates/single-layer-web-application/solution-structure.md index 45448b46b4..ffb085855f 100644 --- a/docs/en/solution-templates/single-layer-web-application/solution-structure.md +++ b/docs/en/solution-templates/single-layer-web-application/solution-structure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the folder structure of ABP Studio's single-layer solution template, essential for organizing your web application efficiently." +} +``` + # Single Layer Solution: The Structure ````json diff --git a/docs/en/solution-templates/single-layer-web-application/swagger-integration.md b/docs/en/solution-templates/single-layer-web-application/swagger-integration.md index 6de24705ee..dd20999f3b 100644 --- a/docs/en/solution-templates/single-layer-web-application/swagger-integration.md +++ b/docs/en/solution-templates/single-layer-web-application/swagger-integration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate Swagger with ABP Framework for effective API documentation and interaction in your single-layer applications." +} +``` + # Single Layer Solution: Swagger Integration ```json diff --git a/docs/en/solution-templates/single-layer-web-application/web-applications.md b/docs/en/solution-templates/single-layer-web-application/web-applications.md index 94945ba757..f454b3630e 100644 --- a/docs/en/solution-templates/single-layer-web-application/web-applications.md +++ b/docs/en/solution-templates/single-layer-web-application/web-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the single-layer solution for web applications, featuring ASP.NET Core MVC and Angular options for building robust web apps." +} +``` + # Single Layer Solution: Web Applications ````json diff --git a/docs/en/studio/_notes-quick-start-microservice.md b/docs/en/studio/_notes-quick-start-microservice.md index 8dec2ee08a..cc539f7e01 100644 --- a/docs/en/studio/_notes-quick-start-microservice.md +++ b/docs/en/studio/_notes-quick-start-microservice.md @@ -1,2 +1,9 @@ +```json +//[doc-seo] +{ + "Description": "Quickly set up a microservice solution with our aligned wizard steps, guiding you through templates, frameworks, and configurations." +} +``` + * Create new solution -> Microservice dialog * Wizard steps are not aligned with the application template. True order can be: Solution Template -> Solution Properties -> UI Framework -> Mobile Framework -> Database Provider -> Database Configurations -> UI Theme -> Optional Modules (if we change that, the document flow should also be updated) \ No newline at end of file diff --git a/docs/en/studio/_notes.md b/docs/en/studio/_notes.md index 41300c7a76..d3d3248e7b 100644 --- a/docs/en/studio/_notes.md +++ b/docs/en/studio/_notes.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Framework documentation for a comprehensive guide on creating layered web applications with customizable options and configurations." +} +``` + * Document Notes * Quick Start: Creating a Layered Web Application * **Disable the DEMO PLUGIN and re-take all screenshots**. Also, wait for the followings done: diff --git a/docs/en/studio/_planning.md b/docs/en/studio/_planning.md index 95eba552b3..4a175cda28 100644 --- a/docs/en/studio/_planning.md +++ b/docs/en/studio/_planning.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Studio documentation for comprehensive guidance on installation, solution templates, and building modular applications with ease." +} +``` + # ABP Studio Documentation Content Planning * ~~[DONE] Installation~~ diff --git a/docs/en/studio/concepts.md b/docs/en/studio/concepts.md index 995519e191..1e6afb4fab 100644 --- a/docs/en/studio/concepts.md +++ b/docs/en/studio/concepts.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore essential concepts and terms used in ABP Studio to enhance your understanding and streamline your development experience." +} +``` + # ABP Studio Concepts ````json diff --git a/docs/en/studio/index.md b/docs/en/studio/index.md index ccac3c375d..9b2fc0d36c 100644 --- a/docs/en/studio/index.md +++ b/docs/en/studio/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP Studio, a cross-platform tool that simplifies .NET development by automating tasks and providing valuable insights for your projects." +} +``` + # ABP Studio ````json diff --git a/docs/en/studio/installation.md b/docs/en/studio/installation.md index 34dde8a5c9..e2b820c69a 100644 --- a/docs/en/studio/installation.md +++ b/docs/en/studio/installation.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to install ABP Studio, including system requirements and optional tools, to kickstart your development with ABP Framework." +} +``` + # Installing ABP Studio > **Warning: Beta Version Information**\ diff --git a/docs/en/studio/kubernetes.md b/docs/en/studio/kubernetes.md index f05a30ee04..ae23989f6c 100644 --- a/docs/en/studio/kubernetes.md +++ b/docs/en/studio/kubernetes.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to manage your applications in a Kubernetes cluster using ABP Studio, perfect for both microservices and monolithic projects." +} +``` + # ABP Studio: Working with Kubernetes ````json diff --git a/docs/en/studio/monitoring-applications.md b/docs/en/studio/monitoring-applications.md index 6d0c5523a3..579bd90675 100644 --- a/docs/en/studio/monitoring-applications.md +++ b/docs/en/studio/monitoring-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Studio's centralized monitoring solution to effectively oversee your applications, track performance, and collect telemetry data seamlessly." +} +``` + # ABP Studio: Monitoring Applications ````json diff --git a/docs/en/studio/overview.md b/docs/en/studio/overview.md index ecfdda52bc..3f5835c998 100644 --- a/docs/en/studio/overview.md +++ b/docs/en/studio/overview.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Studio's key features like Solution Explorer and Kubernetes Integration to optimize your ABP application development and management." +} +``` + # ABP Studio: Overview ````json diff --git a/docs/en/studio/release-notes.md b/docs/en/studio/release-notes.md index 94ec619a34..1c58f29cea 100644 --- a/docs/en/studio/release-notes.md +++ b/docs/en/studio/release-notes.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the latest features and enhancements in ABP Studio with release notes detailing major updates and improvements for developers." +} +``` + # ABP Studio Release Notes This document contains **brief release notes** for each ABP Studio release. Release notes only include **major features** and **visible enhancements**. Therefore, they don't include all the development done in the related version. diff --git a/docs/en/studio/running-applications.md b/docs/en/studio/running-applications.md index 9e266ef7a9..52fbe5765b 100644 --- a/docs/en/studio/running-applications.md +++ b/docs/en/studio/running-applications.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to use the ABP Studio's Solution Runner to efficiently run applications and organize projects with customizable profiles." +} +``` + # ABP Studio: Running Applications ````json diff --git a/docs/en/studio/solution-explorer.md b/docs/en/studio/solution-explorer.md index df0ca04a4f..21dde505e5 100644 --- a/docs/en/studio/solution-explorer.md +++ b/docs/en/studio/solution-explorer.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Studio's Solution Explorer for managing projects and understanding your solution structure with clarity." +} +``` + # ABP Studio: Solution Explorer ````json diff --git a/docs/en/studio/version-mapping.md b/docs/en/studio/version-mapping.md index fe39fb7c67..72348fae0d 100644 --- a/docs/en/studio/version-mapping.md +++ b/docs/en/studio/version-mapping.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the version mappings between ABP Studio and ABP Solution Templates to streamline your development process and ensure compatibility." +} +``` + # ABP Studio and ABP Startup Template Version Mappings This document provides a general overview of the relationship between various versions of ABP Studio and the ABP version of the [ABP Solution Templates](../solution-templates/index.md) used when generating a new solution. Each version of ABP Studio is configured to create solutions with a specific ABP version. However, once a solution is created, you can easily update it to the latest version of ABP via ABP Studio or [ABP CLI](../cli/index.md#update). diff --git a/docs/en/studio/working-with-suite.md b/docs/en/studio/working-with-suite.md index ceb7d8c924..b436b7b0f8 100644 --- a/docs/en/studio/working-with-suite.md +++ b/docs/en/studio/working-with-suite.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to seamlessly integrate and run ABP Suite within ABP Studio, enhancing your development workflow with unified access and efficiency." +} +``` + # ABP Studio: Working with ABP Suite ````json diff --git a/docs/en/suite/add-solution.md b/docs/en/suite/add-solution.md index e318a45f98..f98f142e66 100644 --- a/docs/en/suite/add-solution.md +++ b/docs/en/suite/add-solution.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to add an existing ABP solution to ABP Suite, enabling seamless project management and development integration." +} +``` + # Adding existing ABP solution ````json diff --git a/docs/en/suite/configuration.md b/docs/en/suite/configuration.md index 0852fdd8a2..e650f556ab 100644 --- a/docs/en/suite/configuration.md +++ b/docs/en/suite/configuration.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize ABP Suite's directory and file paths through the configuration file for optimal project management." +} +``` + # ABP Suite configuration ABP Suite automatically finds your project directories, but when you customize your solution, you can change the directories and file paths from the Suite configuration file. The configuration file is located diff --git a/docs/en/suite/create-module-solution.md b/docs/en/suite/create-module-solution.md index 90edd18f5f..e5cba3140c 100644 --- a/docs/en/suite/create-module-solution.md +++ b/docs/en/suite/create-module-solution.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create a new ABP module solution using ABP Suite with step-by-step guidance and helpful visuals for a seamless setup." +} +``` + # Creating a new ABP module solution ````json diff --git a/docs/en/suite/create-solution.md b/docs/en/suite/create-solution.md index a87e73b480..39d3fb925e 100644 --- a/docs/en/suite/create-solution.md +++ b/docs/en/suite/create-solution.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create a new ABP solution using ABP Studio or ABP CLI, and discover how to generate CRUD pages seamlessly." +} +``` + # Creating a new ABP solution ````json diff --git a/docs/en/suite/creating-many-to-many-relationship.md b/docs/en/suite/creating-many-to-many-relationship.md index 49b1760ded..f711c2a891 100644 --- a/docs/en/suite/creating-many-to-many-relationship.md +++ b/docs/en/suite/creating-many-to-many-relationship.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create many-to-many relationships in ABP Suite using navigation collections for efficient CRUD page management." +} +``` + # Creating Many-To-Many Relationship ````json diff --git a/docs/en/suite/creating-master-detail-relationship.md b/docs/en/suite/creating-master-detail-relationship.md index 84e418c0f5..b1d8874d5b 100644 --- a/docs/en/suite/creating-master-detail-relationship.md +++ b/docs/en/suite/creating-master-detail-relationship.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to establish Master-Detail relationships in your applications, enhancing data organization and management with ABP Framework." +} +``` + # Master-Detail Relationship ````json diff --git a/docs/en/suite/customizing-the-generated-code.md b/docs/en/suite/customizing-the-generated-code.md index 4c0cc688a6..e5061ca700 100644 --- a/docs/en/suite/customizing-the-generated-code.md +++ b/docs/en/suite/customizing-the-generated-code.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize generated code in ABP Suite, preserve changes, and utilize hook points for seamless CRUD page generation." +} +``` + # Customizing the Generated Code ABP Suite allows you to customize the generated code blocks and preserve your custom code changes in the next CRUD Page Generation. It specifies hook points to allow adding custom code blocks. Then, the code written by you to these hook points will be respected and will not be overridden in the next CRUD Page Generation. diff --git a/docs/en/suite/editing-templates.md b/docs/en/suite/editing-templates.md index 4a555568bb..9c859ba0de 100644 --- a/docs/en/suite/editing-templates.md +++ b/docs/en/suite/editing-templates.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to edit templates in ABP Suite, customize code generation for UI frameworks and database providers to fit your project needs." +} +``` + # Editing templates ABP Suite uses templates to generate the code files. You can see the template files by clicking "Edit Templates" menu item. diff --git a/docs/en/suite/generating-crud-page.md b/docs/en/suite/generating-crud-page.md index e1461e3d0a..951fb5a13c 100644 --- a/docs/en/suite/generating-crud-page.md +++ b/docs/en/suite/generating-crud-page.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to efficiently generate a CRUD page in ABP Framework, enhancing your development process with streamlined entity management." +} +``` + # Generating a CRUD page ````json diff --git a/docs/en/suite/generating-entities-from-an-existing-database-table.md b/docs/en/suite/generating-entities-from-an-existing-database-table.md index 481bd32ff5..df1a836af4 100644 --- a/docs/en/suite/generating-entities-from-an-existing-database-table.md +++ b/docs/en/suite/generating-entities-from-an-existing-database-table.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to generate CRUD pages from existing database tables using ABP Suite, streamlining your development process with ease." +} +``` + # Generating CRUD Pages From an Existing Database Table ````json diff --git a/docs/en/suite/how-to-install.md b/docs/en/suite/how-to-install.md index bff1bc6e1f..d89460dbb9 100644 --- a/docs/en/suite/how-to-install.md +++ b/docs/en/suite/how-to-install.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to install ABP Suite easily, ensuring you’re set up for seamless development with the ABP Framework." +} +``` + # How to install ABP Suite? ````json diff --git a/docs/en/suite/how-to-start.md b/docs/en/suite/how-to-start.md index b8469ce26b..da839ac1e8 100644 --- a/docs/en/suite/how-to-start.md +++ b/docs/en/suite/how-to-start.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to start ABP Suite seamlessly with ABP Studio or via command line, enhancing your development experience with ease." +} +``` + # How to start ABP Suite? ````json diff --git a/docs/en/suite/how-to-uninstall.md b/docs/en/suite/how-to-uninstall.md index dfe197528e..87a4de71f1 100644 --- a/docs/en/suite/how-to-uninstall.md +++ b/docs/en/suite/how-to-uninstall.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to uninstall ABP Suite effectively with step-by-step terminal commands and clean-up instructions for a seamless experience." +} +``` + # How to uninstall ABP Suite? You can simply uninstall ABP Suite with the terminal command: diff --git a/docs/en/suite/index.md b/docs/en/suite/index.md index 1c99ed7198..20005ecb21 100644 --- a/docs/en/suite/index.md +++ b/docs/en/suite/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover ABP Suite, a powerful .NET Core tool for quickly building web pages and generating CRUD applications with ease." +} +``` + # ABP Suite ````json diff --git a/docs/en/suite/solution-structure.md b/docs/en/suite/solution-structure.md index b1949a137a..c0415b00e1 100644 --- a/docs/en/suite/solution-structure.md +++ b/docs/en/suite/solution-structure.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the ABP Framework's solution structure, detailing project organization, dependencies, and shared domain elements for efficient development." +} +``` + # Solution structure You will get a slightly different solution structure, based on the options you have specified. diff --git a/docs/en/suite/source-code.md b/docs/en/suite/source-code.md index 7a2d2dbe36..93585e0853 100644 --- a/docs/en/suite/source-code.md +++ b/docs/en/suite/source-code.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to access and integrate module source code into your ABP Framework solution using ABP Suite for enhanced customization and development." +} +``` + # Accessing Source Code Of Modules **If your [license plan](https://abp.io/pricing) allows you to access the source code of [modules](https://abp.io/modules)**, you can use ABP Suite to download the source code and add downloaded source code of modules to your solution structure. diff --git a/docs/en/suite/updating-packages.md b/docs/en/suite/updating-packages.md index 7d8590ac6f..d8d39349e0 100644 --- a/docs/en/suite/updating-packages.md +++ b/docs/en/suite/updating-packages.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Easily update NPM and NuGet packages in your ABP Suite solution with a simple scan of your project files for seamless version management." +} +``` + # Updating packages ABP Suite allows you to update `NPM` and `NuGet` packages in a solution. diff --git a/docs/en/testing/integration-tests.md b/docs/en/testing/integration-tests.md index ac524be05a..dce7813e45 100644 --- a/docs/en/testing/integration-tests.md +++ b/docs/en/testing/integration-tests.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively write integration tests using ABP's pre-configured infrastructure, ensuring reliable application performance and database interactions." +} +``` + # Integration Tests ````json diff --git a/docs/en/testing/overall.md b/docs/en/testing/overall.md index b174b9ecbc..154c169d5b 100644 --- a/docs/en/testing/overall.md +++ b/docs/en/testing/overall.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP Framework's automated testing strategies, including unit, integration, and UI tests, to enhance your application's reliability and performance." +} +``` + # Automated Testing ````json diff --git a/docs/en/testing/ui-tests.md b/docs/en/testing/ui-tests.md index c784c7dde2..ac9e6eb91f 100644 --- a/docs/en/testing/ui-tests.md +++ b/docs/en/testing/ui-tests.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to implement UI Tests with ABP Framework, covering Non Visual and Visual Tests for various UI technologies like MVC, Angular, and Blazor." +} +``` + # UI Tests ````json diff --git a/docs/en/testing/unit-tests.md b/docs/en/testing/unit-tests.md index b7c0ff10ca..cfc63a4848 100644 --- a/docs/en/testing/unit-tests.md +++ b/docs/en/testing/unit-tests.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to effectively write unit tests in ABP Framework, including strategies for testing classes with and without dependencies." +} +``` + # Unit Tests ````json diff --git a/docs/en/tools.md b/docs/en/tools.md index cf3053b48f..d503f0d0cb 100644 --- a/docs/en/tools.md +++ b/docs/en/tools.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's powerful tools like CLI, Suite, and Studio to boost your development productivity and streamline your workflow." +} +``` + # Tools ABP provides a comprehensive set of tools designed to enhance the development experience and improve productivity: diff --git a/docs/en/tutorials/book-store-with-abp-suite/index.md b/docs/en/tutorials/book-store-with-abp-suite/index.md index bc52fb75da..9a2f9372b7 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/index.md +++ b/docs/en/tutorials/book-store-with-abp-suite/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build a web application with ABP Suite, automating code generation for your Acme.BookStore project. Perfect for ABP Team members!" +} +``` + # Web Application Development Tutorial (with ABP Suite) ````json diff --git a/docs/en/tutorials/book-store-with-abp-suite/part-01.md b/docs/en/tutorials/book-store-with-abp-suite/part-01.md index 637866e577..78f31864da 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/part-01.md +++ b/docs/en/tutorials/book-store-with-abp-suite/part-01.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create a new web application solution using ABP Suite, with step-by-step guidance tailored for MVC, Blazor, and various databases." +} +``` + # Web Application Development Tutorial (with ABP Suite) - Part 1: Creating the Solution ````json diff --git a/docs/en/tutorials/book-store-with-abp-suite/part-02.md b/docs/en/tutorials/book-store-with-abp-suite/part-02.md index fe19272b4e..2e5d1273e9 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/part-02.md +++ b/docs/en/tutorials/book-store-with-abp-suite/part-02.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create a `Book` entity and generate CRUD pages effortlessly using ABP Suite in this web app development tutorial." +} +``` + # Web Application Development Tutorial (with ABP Suite) - Part 2: Creating the Books ````json diff --git a/docs/en/tutorials/book-store-with-abp-suite/part-03.md b/docs/en/tutorials/book-store-with-abp-suite/part-03.md index 4399910fb5..ca93f67f9b 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/part-03.md +++ b/docs/en/tutorials/book-store-with-abp-suite/part-03.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create the Author entity in your web application using ABP Suite, enhancing your project with one-to-many relationships effortlessly." +} +``` + # Web Application Development Tutorial (with ABP Suite) - Part 3: Creating the Authors ````json diff --git a/docs/en/tutorials/book-store-with-abp-suite/part-04.md b/docs/en/tutorials/book-store-with-abp-suite/part-04.md index 128e8c15c9..f9c80729c6 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/part-04.md +++ b/docs/en/tutorials/book-store-with-abp-suite/part-04.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to establish a one-to-many relationship between Book and Author entities in your ABP Suite application with this step-by-step tutorial." +} +``` + # Web Application Development Tutorial (with ABP Suite) - Part 4: Book to Author Relation ````json diff --git a/docs/en/tutorials/book-store-with-abp-suite/part-05.md b/docs/en/tutorials/book-store-with-abp-suite/part-05.md index 0283ce2425..73a1d9c348 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/part-05.md +++ b/docs/en/tutorials/book-store-with-abp-suite/part-05.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize generated code in ABP Suite, preserving your changes for future CRUD page generations. Enhance your web app effortlessly!" +} +``` + # Web Application Development Tutorial (with ABP Suite) - Part 5: Customizing the Generated Code ````json diff --git a/docs/en/tutorials/book-store/index.md b/docs/en/tutorials/book-store/index.md index 178aa75214..a06c8cb45e 100644 --- a/docs/en/tutorials/book-store/index.md +++ b/docs/en/tutorials/book-store/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build a web application using ABP Framework with this step-by-step tutorial series on managing books and authors." +} +``` + # Web Application Development Tutorial ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-01.md b/docs/en/tutorials/book-store/part-01.md index 51bfcd1b09..3e511a8df4 100644 --- a/docs/en/tutorials/book-store/part-01.md +++ b/docs/en/tutorials/book-store/part-01.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create the server side of your web application with ABP Framework, including setting up your solution and installing client-side packages." +} +``` + # Web Application Development Tutorial - Part 1: Creating the Server Side ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-02.md b/docs/en/tutorials/book-store/part-02.md index d06930bab7..0e1213952a 100644 --- a/docs/en/tutorials/book-store/part-02.md +++ b/docs/en/tutorials/book-store/part-02.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore Part 2 of our Web Application Development Tutorial, focusing on the Book List Page and leveraging dynamic JavaScript proxies in ABP Framework." +} +``` + # Web Application Development Tutorial - Part 2: The Book List Page ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-03.md b/docs/en/tutorials/book-store/part-03.md index d59208d858..a3125d8521 100644 --- a/docs/en/tutorials/book-store/part-03.md +++ b/docs/en/tutorials/book-store/part-03.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create, update, and delete books in your web application using MVC, Blazor, or Angular with ABP Framework in this tutorial." +} +``` + # Web Application Development Tutorial - Part 3: Creating, Updating and Deleting Books ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-04.md b/docs/en/tutorials/book-store/part-04.md index fba15db253..9d97344cae 100644 --- a/docs/en/tutorials/book-store/part-04.md +++ b/docs/en/tutorials/book-store/part-04.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to implement server-side integration tests in your ABP Framework web applications, ensuring robust functionality across various UIs and databases." +} +``` + # Web Application Development Tutorial - Part 4: Integration Tests ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-05.md b/docs/en/tutorials/book-store/part-05.md index 034d9de5b2..2cb9b83902 100644 --- a/docs/en/tutorials/book-store/part-05.md +++ b/docs/en/tutorials/book-store/part-05.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement a robust authorization system in your web applications using ABP Framework, including managing permissions for roles and users." +} +``` + # Web Application Development Tutorial - Part 5: Authorization ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-06.md b/docs/en/tutorials/book-store/part-06.md index 25f6cf6465..d63bb50557 100644 --- a/docs/en/tutorials/book-store/part-06.md +++ b/docs/en/tutorials/book-store/part-06.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to implement the domain layer for authors in your web app using ABP Framework, enhancing your development efficiency and structure." +} +``` + # Web Application Development Tutorial - Part 6: Authors: Domain Layer ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-07.md b/docs/en/tutorials/book-store/part-07.md index 0708ecfcb9..266a4961c0 100644 --- a/docs/en/tutorials/book-store/part-07.md +++ b/docs/en/tutorials/book-store/part-07.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate the database for the Author entity in your web application using EF and various UI frameworks in this tutorial." +} +``` + # Web Application Development Tutorial - Part 7: Authors: Database Integration ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-08.md b/docs/en/tutorials/book-store/part-08.md index a7d73f0209..6140f9f07a 100644 --- a/docs/en/tutorials/book-store/part-08.md +++ b/docs/en/tutorials/book-store/part-08.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build the application layer for the Author entity in this tutorial, enhancing your skills with ABP Framework's structured approach." +} +``` + # Web Application Development Tutorial - Part 8: Authors: Application Layer ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-09.md b/docs/en/tutorials/book-store/part-09.md index 9a21183235..c113c1e809 100644 --- a/docs/en/tutorials/book-store/part-09.md +++ b/docs/en/tutorials/book-store/part-09.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build a CRUD interface for the Author entity in your web app using ABP Framework, featuring MVC, Blazor, and more!" +} +``` + # Web Application Development Tutorial - Part 9: Authors: User Interface ````json //[doc-params] diff --git a/docs/en/tutorials/book-store/part-10.md b/docs/en/tutorials/book-store/part-10.md index 85f094c97f..9e202a6f93 100644 --- a/docs/en/tutorials/book-store/part-10.md +++ b/docs/en/tutorials/book-store/part-10.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to establish a 1 to N relationship between Book and Author entities in your ABP Framework application with this step-by-step tutorial." +} +``` + # Web Application Development Tutorial - Part 10: Book to Author Relation ````json //[doc-params] diff --git a/docs/en/tutorials/index.md b/docs/en/tutorials/index.md index 0572ea33aa..b96192d76f 100644 --- a/docs/en/tutorials/index.md +++ b/docs/en/tutorials/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP tutorials to quickly build applications, apply DDD practices, and leverage ABP Suite for efficient development. Perfect for all developers!" +} +``` + # ABP Tutorials The following introductory tutorials explain how to build applications based on the ABP platform: diff --git a/docs/en/tutorials/microservice/index.md b/docs/en/tutorials/microservice/index.md index a4605f7508..78768470b5 100644 --- a/docs/en/tutorials/microservice/index.md +++ b/docs/en/tutorials/microservice/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build microservice solutions with ABP Framework, starting from creating services to API gateway integration. Perfect for developers!" +} +``` + # Microservice Development Tutorial ````json diff --git a/docs/en/tutorials/microservice/part-01.md b/docs/en/tutorials/microservice/part-01.md index d843e744ca..7e9e5ec73c 100644 --- a/docs/en/tutorials/microservice/part-01.md +++ b/docs/en/tutorials/microservice/part-01.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create your initial microservice solution with ABP Framework, using Entity Framework Core and SQL Server in this tutorial." +} +``` + # Microservice Tutorial Part 01: Creating the Initial Solution ````json diff --git a/docs/en/tutorials/microservice/part-02.md b/docs/en/tutorials/microservice/part-02.md index 014daf9b11..f0cdbe47ea 100644 --- a/docs/en/tutorials/microservice/part-02.md +++ b/docs/en/tutorials/microservice/part-02.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and integrate a Catalog service into your microservice solution with this step-by-step tutorial." +} +``` + # Microservice Tutorial Part 02: Creating the initial Catalog service ````json diff --git a/docs/en/tutorials/microservice/part-03.md b/docs/en/tutorials/microservice/part-03.md index adae9877dd..5217c2d588 100644 --- a/docs/en/tutorials/microservice/part-03.md +++ b/docs/en/tutorials/microservice/part-03.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to build the Catalog service in a microservice architecture using ABP Suite, streamlining product management with automatic code generation." +} +``` + # Microservice Tutorial Part 03: Building the Catalog service ````json diff --git a/docs/en/tutorials/microservice/part-04.md b/docs/en/tutorials/microservice/part-04.md index 50386ab8e1..f5d65c4564 100644 --- a/docs/en/tutorials/microservice/part-04.md +++ b/docs/en/tutorials/microservice/part-04.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create the initial Ordering microservice using ABP Framework, building on the Catalog service from the previous tutorial." +} +``` + # Microservice Tutorial Part 04: Creating the initial Ordering service ````json diff --git a/docs/en/tutorials/microservice/part-05.md b/docs/en/tutorials/microservice/part-05.md index f2cefce256..54e8ab614b 100644 --- a/docs/en/tutorials/microservice/part-05.md +++ b/docs/en/tutorials/microservice/part-05.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build the Ordering microservice step-by-step, implementing core functionalities and creating the Order entity without ABP Suite." +} +``` + # Microservice Tutorial Part 05: Building the Ordering service ````json diff --git a/docs/en/tutorials/microservice/part-06.md b/docs/en/tutorials/microservice/part-06.md index af05bbd792..9c06bb7e45 100644 --- a/docs/en/tutorials/microservice/part-06.md +++ b/docs/en/tutorials/microservice/part-06.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate microservices using HTTP API calls in ABP Framework, enhancing communication between services for seamless functionality." +} +``` + # Microservice Tutorial Part 06: Integrating the services: HTTP API Calls ````json diff --git a/docs/en/tutorials/microservice/part-07.md b/docs/en/tutorials/microservice/part-07.md index 633789fc6c..85f6257a71 100644 --- a/docs/en/tutorials/microservice/part-07.md +++ b/docs/en/tutorials/microservice/part-07.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate microservices using distributed events with ABP Framework for efficient inter-process communication." +} +``` + # Microservice Tutorial Part 07: Integrating the services: Using Distributed Events ````json diff --git a/docs/en/tutorials/mobile/index.md b/docs/en/tutorials/mobile/index.md index 51db427363..4a487f84bc 100644 --- a/docs/en/tutorials/mobile/index.md +++ b/docs/en/tutorials/mobile/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build a mobile bookstore app with step-by-step tutorials for .NET MAUI or React Native, following your web development journey!" +} +``` + # Mobile Application Development Tutorial: Book Store Application > You must have an ABP Team or a higher license to be able to create a mobile application. diff --git a/docs/en/tutorials/mobile/maui/index.md b/docs/en/tutorials/mobile/maui/index.md index c9bb520e57..fcd337f141 100644 --- a/docs/en/tutorials/mobile/maui/index.md +++ b/docs/en/tutorials/mobile/maui/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to develop a MAUI mobile app with ABP Framework, focusing on UI and CRUD operations using the MVVM pattern." +} +``` + # Mobile Application Development Tutorial - MAUI ## About This Tutorial diff --git a/docs/en/tutorials/mobile/react-native/index.md b/docs/en/tutorials/mobile/react-native/index.md index 2dfa3df957..d9ac46734f 100644 --- a/docs/en/tutorials/mobile/react-native/index.md +++ b/docs/en/tutorials/mobile/react-native/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to develop a mobile application using React Native with ABP Framework, focusing on UI for the Acme.BookStore app." +} +``` + # Mobile Application Development Tutorial - React Native React Native mobile option is *available for* ***Team*** *or higher licenses*. Therefore, if you don't have a commercial license, it's suggested to follow the article by downloading the source code of the sample application as described in the next chapter. diff --git a/docs/en/tutorials/modular-crm/index.md b/docs/en/tutorials/modular-crm/index.md index 723425a230..0d96b979b4 100644 --- a/docs/en/tutorials/modular-crm/index.md +++ b/docs/en/tutorials/modular-crm/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build modular web applications with ABP Framework in this tutorial, focusing on creating and communicating application modules." +} +``` + # Modular Monolith Application Development Tutorial ````json diff --git a/docs/en/tutorials/modular-crm/part-01.md b/docs/en/tutorials/modular-crm/part-01.md index ddc6e8debe..7552dde1a9 100644 --- a/docs/en/tutorials/modular-crm/part-01.md +++ b/docs/en/tutorials/modular-crm/part-01.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create an initial solution for a Modular CRM application using ASP.NET Core MVC and Entity Framework Core with ABP Framework." +} +``` + # Creating the Initial Solution ````json diff --git a/docs/en/tutorials/modular-crm/part-02.md b/docs/en/tutorials/modular-crm/part-02.md index 034b4b7bfe..c172ce3361 100644 --- a/docs/en/tutorials/modular-crm/part-02.md +++ b/docs/en/tutorials/modular-crm/part-02.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and organize a product management module within your CRM application using ABP Framework in this step-by-step guide." +} +``` + # Creating the Initial Products Module ````json diff --git a/docs/en/tutorials/modular-crm/part-03.md b/docs/en/tutorials/modular-crm/part-03.md index 2dabfc54eb..9ea9fcb36b 100644 --- a/docs/en/tutorials/modular-crm/part-03.md +++ b/docs/en/tutorials/modular-crm/part-03.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to create entities, services, and a basic UI for the products module in ABP Framework, focusing on modularity for effective development." +} +``` + # Building the Products Module ````json diff --git a/docs/en/tutorials/modular-crm/part-04.md b/docs/en/tutorials/modular-crm/part-04.md index ba406f7846..f521bd8795 100644 --- a/docs/en/tutorials/modular-crm/part-04.md +++ b/docs/en/tutorials/modular-crm/part-04.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and integrate an Ordering module in your CRM application using ABP Framework’s Standard Module template." +} +``` + # Creating the Initial Ordering Module ````json diff --git a/docs/en/tutorials/modular-crm/part-05.md b/docs/en/tutorials/modular-crm/part-05.md index 59aa56f2f4..5515ad2520 100644 --- a/docs/en/tutorials/modular-crm/part-05.md +++ b/docs/en/tutorials/modular-crm/part-05.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to build the Ordering Module by creating an Order entity and adding functionality to manage orders in your ABP Framework application." +} +``` + # Building the Ordering Module ````json diff --git a/docs/en/tutorials/modular-crm/part-06.md b/docs/en/tutorials/modular-crm/part-06.md index f06baa93f0..b48ff1cc3f 100644 --- a/docs/en/tutorials/modular-crm/part-06.md +++ b/docs/en/tutorials/modular-crm/part-06.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to integrate modules in ABP Framework by implementing integration services for seamless communication between Products and Orders modules." +} +``` + # Integrating the Modules: Implementing Integration Services ````json diff --git a/docs/en/tutorials/modular-crm/part-07.md b/docs/en/tutorials/modular-crm/part-07.md index 4bcace4239..8f00cd1c80 100644 --- a/docs/en/tutorials/modular-crm/part-07.md +++ b/docs/en/tutorials/modular-crm/part-07.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate modules using messaging in ABP Framework, enabling loose coupling and efficient communication between components." +} +``` + # Integrating the Modules: Communication via Messages (Events) ````json diff --git a/docs/en/tutorials/modular-crm/part-08.md b/docs/en/tutorials/modular-crm/part-08.md index 460fd3d4fb..4f42ed41f5 100644 --- a/docs/en/tutorials/modular-crm/part-08.md +++ b/docs/en/tutorials/modular-crm/part-08.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to perform database-level JOINs on multiple modules in ABP Framework, enhancing data integration and modularity." +} +``` + # Integrating the Modules: Joining the Products and Orders Data ````json diff --git a/docs/en/tutorials/todo/index.md b/docs/en/tutorials/todo/index.md index 3cd91cb515..bcd642e81b 100644 --- a/docs/en/tutorials/todo/index.md +++ b/docs/en/tutorials/todo/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to quickly build a simple application using ABP Framework with our easy-to-follow tutorial on single-layer and layered solutions." +} +``` + # TODO Application Tutorial **Welcome to the ABP**. This is a single-part, quick-start tutorial to build a simple application. Start with this tutorial if you want to quickly understand how ABP works. diff --git a/docs/en/tutorials/todo/layered/index.md b/docs/en/tutorials/todo/layered/index.md index 5ba38380f3..e0305e3688 100644 --- a/docs/en/tutorials/todo/layered/index.md +++ b/docs/en/tutorials/todo/layered/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build a simple todo application using the ABP Framework with this quick-start tutorial, complete with source code and video guide!" +} +``` + # TODO Application Tutorial with Layered Solution ````json diff --git a/docs/en/tutorials/todo/single-layer/index.md b/docs/en/tutorials/todo/single-layer/index.md index c96c3715ef..413475eb5e 100644 --- a/docs/en/tutorials/todo/single-layer/index.md +++ b/docs/en/tutorials/todo/single-layer/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn to build a simple todo application using the ABP Framework in this quick-start tutorial, featuring multiple UI and database options." +} +``` + # TODO Application Tutorial with Single-Layer Solution ````json diff --git a/docs/en/ui-themes/basic-theme/index.md b/docs/en/ui-themes/basic-theme/index.md index f1d1a3d39c..c87491d1b4 100644 --- a/docs/en/ui-themes/basic-theme/index.md +++ b/docs/en/ui-themes/basic-theme/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the Basic Theme, a minimalist foundation for customizing Bootstrap styles across MVC, Blazor, and Angular UIs in your ABP Framework projects." +} +``` + # Basic Theme The Basic Theme is a minimalist theme that doesn't add any styling on top of the plain [Bootstrap](https://getbootstrap.com/) styles. You can take the Basic Theme as the base theme and build your own theme or styling on top of it. Here, a screenshot from the theme: diff --git a/docs/en/ui-themes/index.md b/docs/en/ui-themes/index.md index 8c16677e47..2beaa0dc05 100644 --- a/docs/en/ui-themes/index.md +++ b/docs/en/ui-themes/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore ABP's official theming system, featuring the LeptonX and Basic themes, to enhance your application's UI effortlessly." +} +``` + # The Official Themes ABP provides a complete UI theming system. While you can build your own themes, you can directly use the following pre-built themes in your applications. diff --git a/docs/en/ui-themes/lepton-x-lite/angular.md b/docs/en/ui-themes/lepton-x-lite/angular.md index 430bc2ee73..d2117f1b4f 100644 --- a/docs/en/ui-themes/lepton-x-lite/angular.md +++ b/docs/en/ui-themes/lepton-x-lite/angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to install and use the LeptonX Lite Angular UI theme for ABP Framework, enhancing your project's professional look effortlessly." +} +``` + # LeptonX Lite Angular UI LeptonX Lite has implementation for the ABP Angular Client. It's a simplified variation of the [LeptonX Theme](https://x.leptontheme.com/). diff --git a/docs/en/ui-themes/lepton-x-lite/asp-net-core.md b/docs/en/ui-themes/lepton-x-lite/asp-net-core.md index dfe431176b..8b152175ac 100644 --- a/docs/en/ui-themes/lepton-x-lite/asp-net-core.md +++ b/docs/en/ui-themes/lepton-x-lite/asp-net-core.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement the LeptonX Lite MVC UI theme in your ABP applications for a sleek, professional look." +} +``` + # LeptonX Lite MVC UI LeptonX Lite has implementation for the ABP Razor Pages. It's a simplified variation of the [LeptonX Theme](https://x.leptontheme.com/). diff --git a/docs/en/ui-themes/lepton-x-lite/blazor.md b/docs/en/ui-themes/lepton-x-lite/blazor.md index 3a9051b760..28de672a8b 100644 --- a/docs/en/ui-themes/lepton-x-lite/blazor.md +++ b/docs/en/ui-themes/lepton-x-lite/blazor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to implement the LeptonX Lite Blazor UI for your ABP applications, featuring easy installation and professional design." +} +``` + # LeptonX Lite Blazor UI ````json diff --git a/docs/en/ui-themes/lepton-x-lite/index.md b/docs/en/ui-themes/lepton-x-lite/index.md index 2fc30ca7ec..1302f66a3a 100644 --- a/docs/en/ui-themes/lepton-x-lite/index.md +++ b/docs/en/ui-themes/lepton-x-lite/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the LeptonX Lite Theme, the default UI for new ABP solutions, with guides for MVC, Blazor, and Angular UI types." +} +``` + # LeptonX Lite Theme This is the official and default UI theme when you create a new free ABP solution. It is a lite version of the [LeptonX Theme](../lepton-x). See the following documents based on the UI type you are using: diff --git a/docs/en/ui-themes/lepton-x/angular-customization.md b/docs/en/ui-themes/lepton-x/angular-customization.md index 71ee3761f2..1667a9f8cd 100644 --- a/docs/en/ui-themes/lepton-x/angular-customization.md +++ b/docs/en/ui-themes/lepton-x/angular-customization.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to customize layouts in the Angular version of LeptonX, including pre-defined layouts and component replacement for your UI." +} +``` + # Customization ### Layouts diff --git a/docs/en/ui-themes/lepton-x/angular.md b/docs/en/ui-themes/lepton-x/angular.md index 60ad62b5d9..d4de1ade63 100644 --- a/docs/en/ui-themes/lepton-x/angular.md +++ b/docs/en/ui-themes/lepton-x/angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to integrate the LeptonX Angular UI into your project with step-by-step instructions and essential configuration tips." +} +``` + # LeptonX Angular UI To add `LeptonX` into your existing projects, follow the steps below. diff --git a/docs/en/ui-themes/lepton-x/angular/how-to-add-a-new-variation-to-lepton-x-for-angular.md b/docs/en/ui-themes/lepton-x/angular/how-to-add-a-new-variation-to-lepton-x-for-angular.md index afea2fd228..ffd18ea23b 100644 --- a/docs/en/ui-themes/lepton-x/angular/how-to-add-a-new-variation-to-lepton-x-for-angular.md +++ b/docs/en/ui-themes/lepton-x/angular/how-to-add-a-new-variation-to-lepton-x-for-angular.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to add a new appearance to LeptonX for Angular by defining a custom theme and integrating it seamlessly into your project." +} +``` + # How to Add a New Appearance to LeptonX for Angular LeptonX has four appearances: light, dim, dark, and system. You can add a new appearance to LeptonX for Angular. In this document, we will show you how to add a new appearance to LeptonX for Angular. diff --git a/docs/en/ui-themes/lepton-x/angular/how-to-change-default-theme-option.md b/docs/en/ui-themes/lepton-x/angular/how-to-change-default-theme-option.md index 4b58c4b106..a783b817da 100644 --- a/docs/en/ui-themes/lepton-x/angular/how-to-change-default-theme-option.md +++ b/docs/en/ui-themes/lepton-x/angular/how-to-change-default-theme-option.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to easily configure the default theme for your LeptonX application using the ThemeLeptonXModule for a personalized visual experience." +} +``` + # Configuring the Default Theme for LeptonX The LeptonX theme offers multiple appearances to suit your application's visual style. You can easily configure the default theme for your application using the ThemeLeptonXModule provided by LeptonX. diff --git a/docs/en/ui-themes/lepton-x/blazor.md b/docs/en/ui-themes/lepton-x/blazor.md index 78e0dc433d..a7c73c5b66 100644 --- a/docs/en/ui-themes/lepton-x/blazor.md +++ b/docs/en/ui-themes/lepton-x/blazor.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to easily implement the LeptonX Blazor UI theme in your ABP applications with straightforward installation steps." +} +``` + # LeptonX Blazor UI ````json diff --git a/docs/en/ui-themes/lepton-x/comparison-obsolete.md b/docs/en/ui-themes/lepton-x/comparison-obsolete.md index e14dcfc368..49f49aa18e 100644 --- a/docs/en/ui-themes/lepton-x/comparison-obsolete.md +++ b/docs/en/ui-themes/lepton-x/comparison-obsolete.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the feature set of LeptonX, comparing standalone and ABP options for HTML, Angular, and Blazor frameworks." +} +``` + # Feature Set ### Frontend Choices diff --git a/docs/en/ui-themes/lepton-x/how-to-use-lepton-x-components-with-angular-custom-layout.md b/docs/en/ui-themes/lepton-x/how-to-use-lepton-x-components-with-angular-custom-layout.md index f68f3bd90f..d569fa8e0b 100644 --- a/docs/en/ui-themes/lepton-x/how-to-use-lepton-x-components-with-angular-custom-layout.md +++ b/docs/en/ui-themes/lepton-x/how-to-use-lepton-x-components-with-angular-custom-layout.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to create and implement custom layouts using Lepton X components in Angular applications for enhanced UI flexibility." +} +``` + # Custom layout usage with Lepton X components diff --git a/docs/en/ui-themes/lepton-x/index.md b/docs/en/ui-themes/lepton-x/index.md index e2b09358a4..6cac738f69 100644 --- a/docs/en/ui-themes/lepton-x/index.md +++ b/docs/en/ui-themes/lepton-x/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the LeptonX Theme for ABP: a professional, responsive theme built on Bootstrap 5, offering various styles and easy installation." +} +``` + # LeptonX Theme Module > You must have an ABP Team or a higher license to use this theme. diff --git a/docs/en/ui-themes/lepton-x/mvc.md b/docs/en/ui-themes/lepton-x/mvc.md index a317e8b9ed..e8862cbd68 100644 --- a/docs/en/ui-themes/lepton-x/mvc.md +++ b/docs/en/ui-themes/lepton-x/mvc.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover how to easily implement the LeptonX MVC UI theme in your ABP project with step-by-step installation instructions." +} +``` + # LeptonX MVC UI LeptonX theme is implemented and ready to use with ABP. No custom implementation is needed for Razor Pages. diff --git a/docs/en/ui-themes/lepton-x/source-files.md b/docs/en/ui-themes/lepton-x/source-files.md index cd980cb343..66d2bff3cb 100644 --- a/docs/en/ui-themes/lepton-x/source-files.md +++ b/docs/en/ui-themes/lepton-x/source-files.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Explore the structure of Lepton X SCSS files, designed for efficient theme management and style optimization in your projects." +} +``` + # Lepton X SCSS Files The LeptonX scss file structure is divided into different bundles. The purpose of this is to exclude unnecessary styles (for example, the top menu layer styles when using side menu layout) in the project. To reload only relevant files on theme changes. diff --git a/docs/en/ui-themes/lepton/customizing-lepton-theme.md b/docs/en/ui-themes/lepton/customizing-lepton-theme.md index c94ccaafce..f753ffb718 100644 --- a/docs/en/ui-themes/lepton/customizing-lepton-theme.md +++ b/docs/en/ui-themes/lepton/customizing-lepton-theme.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Learn how to customize the Lepton Theme in your ABP application with custom CSS, enhancing your website's appearance effortlessly." +} +``` + # Customize Lepton Theme with Custom CSS ````json diff --git a/docs/en/ui-themes/lepton/index.md b/docs/en/ui-themes/lepton/index.md index ed5c222c39..3a61bcde1c 100644 --- a/docs/en/ui-themes/lepton/index.md +++ b/docs/en/ui-themes/lepton/index.md @@ -1,3 +1,10 @@ +```json +//[doc-seo] +{ + "Description": "Discover the Lepton Theme for ABP: a responsive, Bootstrap 5-compatible theme with multiple styles and easy installation options." +} +``` + # Lepton Theme Module > You must have an ABP Team or a higher license to use this theme.