diff --git a/docs/en/get-started/layered-web-application.md b/docs/en/get-started/layered-web-application.md index f35b1c39db..c680fe797f 100644 --- a/docs/en/get-started/layered-web-application.md +++ b/docs/en/get-started/layered-web-application.md @@ -147,7 +147,7 @@ In the Solution Runner section (on the left side) you can see all the runnable a You can run all the applications or start them one by one. To start an application, either click the *Play* icon near to the application or right-click and select the *Run* -> *Start* context menu item. -> For the first run, you'll need to build the application. You can achieve this by selecting *Run* -> *Build & Start* from the context menu. +> ABP Studio builds the application by default. So, you don't need to manually build the application before running it. You can start the following application(s): diff --git a/docs/en/get-started/microservice.md b/docs/en/get-started/microservice.md index 78716a445e..dfa075fae9 100644 --- a/docs/en/get-started/microservice.md +++ b/docs/en/get-started/microservice.md @@ -143,13 +143,11 @@ In the *Solution Runner* section (on the left side) you can see all the runnable As shown in the figure above, the executable applications are grouped into folders like `apps`, `gateways`, `infrastructure`, and `services`. You can start/stop them all, a group (folder) of them, or one by one. -Before running the applications, it is good to be sure that all applications are built. To do that, right-click the root item in the *Solution Runner* and select *Build* -> *Build All* action. +Before running the applications, you can run the all application by right-clicking the root item in the *Solution Runner* and select *Build* -> *Build All* action. However, you don't need to do that, because ABP Studio builds the applications before running them by default. -![abp-studio-microservice-solution-runner-build-all](images/abp-studio-microservice-solution-runner-build-all.png) +> If you want to change this behavior, and don't want ABP Studio to build before running the applications, you can click the *Manage start actions* button in the *Solution Runner*, which you can see from the root item or per folder. -> *Solution Runner* doesn't build an application before running it. That provides a great performance gain because most of the time you will work on one or a few services and you don't need to build all of the other applications in every run. However, if you want to build before running, you can right-click an item in the *Solution Runner* tree and select *Run* -> *Build & Start* command. - -It will take some time to build all. Once all is done, you can start the system. You can click the *Play* button on the root item in Solution Runner to start all the applications. +You can click the *Play* button on the root item in *Solution Runner* to start all the applications. > **About the Docker Containers** > diff --git a/docs/en/get-started/single-layer-web-application.md b/docs/en/get-started/single-layer-web-application.md index 9bcf2e0e7e..5d936e7966 100644 --- a/docs/en/get-started/single-layer-web-application.md +++ b/docs/en/get-started/single-layer-web-application.md @@ -116,8 +116,6 @@ In the Solution Runner section (on the left side) you can see all the runnable a To start an application, either click the *Play* icon near to the application or right-click and select the *Run* -> *Start* context menu item. -> For the first run, you'll need to build the application. You can achieve this by selecting *Run* -> *Build & Start* from the context menu. - You can start the `Acme.BookStore`{{ if UI == "NG" }} and `Acme.BookStore.Angular`{{ end }}. Once the `Acme.BookStore{{ if UI == "NG" }}.Angular{{ end }}` application started, you can right-click it and select the *Browse* command: diff --git a/docs/en/tutorials/book-store-with-abp-suite/images/book-store-studio-run-app.png b/docs/en/tutorials/book-store-with-abp-suite/images/book-store-studio-run-app.png new file mode 100644 index 0000000000..54860a5e9f Binary files /dev/null and b/docs/en/tutorials/book-store-with-abp-suite/images/book-store-studio-run-app.png differ 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 b0f24ef6d3..492d06bc99 100644 --- a/docs/en/tutorials/book-store-with-abp-suite/index.md +++ b/docs/en/tutorials/book-store-with-abp-suite/index.md @@ -1,11 +1,5 @@ -# Web Application Development (with ABP Suite) Tutorial -````json -//[doc-params] -{ - "UI": ["MVC"], - "DB": ["EF"] -} -```` +# Web Application Development Tutorial (with ABP Suite) + ````json //[doc-nav] { @@ -20,7 +14,7 @@ ## About This Tutorial -> In this tutorial, you will use the [ABP Suite](../../suite/index.md) to generate everything you need to build the **BookStore** application, such as [*Entities*](../../framework/architecture/domain-driven-design/entities.md), [*Domain Services*](../../framework/architecture/domain-driven-design/domain-services.md), [*Application Services*](../../framework/architecture/domain-driven-design/application-services.md), *CRUD pages* and more... +> This tutorial explains how to build code using the [ABP Suite](../../suite/index.md) tool. You will develop an application similar to the one developed in [that tutorial](../book-store/index.md), but this time, the code will be automatically generated instead of manually written. In this tutorial series, you will build an ABP based web application named `Acme.BookStore`. This application is used to manage a list of books and their authors. It is developed using the following technologies: 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 152d22fb04..8fc6f25fa1 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,12 +1,5 @@ -# Web Application Development (with ABP Suite) Tutorial - Part 1: Creating the Solution +# Web Application Development Tutorial (with ABP Suite) - Part 1: Creating the Solution -````json -//[doc-params] -{ - "UI": ["MVC"], - "DB": ["EF"] -} -```` ````json //[doc-nav] { 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 bc0f8fd251..3bed0f1b89 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,11 +1,5 @@ -# Web Application Development (with ABP Suite) Tutorial - Part 2: Creating the Books -````json -//[doc-params] -{ - "UI": ["MVC"], - "DB": ["EF"] -} -```` +# Web Application Development Tutorial (with ABP Suite) - Part 2: Creating the Books + ````json //[doc-nav] { @@ -108,9 +102,9 @@ ABP Suite will generate the necessary code for you. It generates: * All related **permission**, **object mapping** and **navigation menu item** configurations, * and all required **UI components and pages**... -It will take some time to complete the process. After the process is completed, you will see a success message, you can click the *Ok* button, and build & start the application by clicking the *Run -> Build & Start* button in the *Solution Runner* panel: +It will take some time to complete the process. After the process is completed, you will see a success message, you can click the *Ok* button, and then run the application by clicking the *Start* button (or alternatively, directly clicking the *run* icon) in the *Solution Runner* panel: -![](./images/suite-book-entity-6.png) +![](./images/book-store-studio-run-app.png) After the application is started, you can right-click and *Browse* on the application to open it in the ABP Studio's pre-integrated browser. You can see the Books page in the following figure with a single record: 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 d61f43aae5..1fcb84bac7 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,11 +1,5 @@ -# Web Application Development (with ABP Suite) Tutorial - Part 3: Creating the Authors -````json -//[doc-params] -{ - "UI": ["MVC"], - "DB": ["EF"] -} -```` +# Web Application Development Tutorial (with ABP Suite) - Part 3: Creating the Authors + ````json //[doc-nav] { @@ -62,9 +56,9 @@ You can click the **Save and Generate** button to start the code generation proc ![](./images/suite-book-entity-5.png) -ABP Suite will generate the necessary code for you. It will take some time to complete the process. After the process is completed, you will see a success message, you can click the *Ok* button, and build & start the application by clicking the *Run -> Build & Start* button in the *Solution Runner* panel: +ABP Suite will generate the necessary code for you. It will take some time to complete the process. After the process is completed, you will see a success message, you can click the *Ok* button, and then run the application by clicking the *Start* button (or alternatively, directly clicking the *run* icon) in the *Solution Runner* panel: -![](./images/suite-book-entity-6.png) +![](./images/book-store-studio-run-app.png) After the application is started, you can right-click and *Browse* on the application to open it in the ABP Studio's pre-integrated browser and try to add a new author: 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 aaa0eb3966..fb1583a0c5 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,11 +1,5 @@ -# Web Application Development (with ABP Suite) Tutorial - Part 4: Book to Author Relation -````json -//[doc-params] -{ - "UI": ["MVC"], - "DB": ["EF"] -} -```` +# Web Application Development Tutorial (with ABP Suite) - Part 4: Book to Author Relation + ````json //[doc-nav] { @@ -55,9 +49,9 @@ After, specifying the metadata, you can click the *Ok* button to close the modal ![](./images/suite-end-of-generation-modal.png) -It will take some time to complete the process. After the process is completed, you will see a success message, you can click the *Ok* button, and build & start the application by clicking the *Run -> Build & Start* button in the *Solution Runner* panel: +It will take some time to complete the process. After the process is completed, you will see a success message, you can click the *Ok* button, and then run the application by clicking the *Start* button (or alternatively, directly clicking the *run* icon) in the *Solution Runner* panel: -![](./images/suite-book-entity-6.png) +![](./images/book-store-studio-run-app.png) After the application is started, you can right-click and *Browse* on the application to open it in the ABP Studio's pre-integrated browser. You can first create an author and then create a book with the author for testing: 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 842399a80f..8574bcf2eb 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,11 +1,5 @@ -# Web Application Development (with ABP Suite) Tutorial - Part 5: Customizing the Generated Code -````json -//[doc-params] -{ - "UI": ["MVC"], - "DB": ["EF"] -} -```` +# Web Application Development Tutorial (with ABP Suite) - Part 5: Customizing the Generated Code + ````json //[doc-nav] { diff --git a/docs/en/tutorials/microservice/images/abp-studio-catalog-service-start.png b/docs/en/tutorials/microservice/images/abp-studio-catalog-service-start.png new file mode 100644 index 0000000000..5bb2b88c8f Binary files /dev/null and b/docs/en/tutorials/microservice/images/abp-studio-catalog-service-start.png differ diff --git a/docs/en/tutorials/microservice/images/abp-studio-run-start-all.png b/docs/en/tutorials/microservice/images/abp-studio-run-start-all.png new file mode 100644 index 0000000000..49ae18ecaf Binary files /dev/null and b/docs/en/tutorials/microservice/images/abp-studio-run-start-all.png differ diff --git a/docs/en/tutorials/microservice/part-03.md b/docs/en/tutorials/microservice/part-03.md index 688b7f0771..adae9877dd 100644 --- a/docs/en/tutorials/microservice/part-03.md +++ b/docs/en/tutorials/microservice/part-03.md @@ -71,9 +71,9 @@ That's all. You can click the *Save and generate* button to start the code gener ABP Suite will generate the necessary code for you. It will take some time to complete the process. After the process is completed, you will see a success message, click the *OK* button. -![abp-studio-catalog-service-build-and-start](images/abp-studio-catalog-service-build-and-start.png) +![abp-studio-catalog-service-build-and-start](images/abp-studio-catalog-service-start.png) -We can now build and start the `CloudCrm.CatalogService` application by clicking the *Run* -> *Build & Start* button in the *Solution Runner* panel. +We can now start the `CloudCrm.CatalogService` application by clicking the *Start* button (or alternatively, directly clicking the *run* icon) in the *Solution Runner* panel. ![abp-studio-browse-catalog-service-2](images/abp-studio-browse-catalog-service-2.png) @@ -89,7 +89,7 @@ It will open the *Generate C# Proxies* window. Select the `CloudCrm.CatalogServi ![abp-studio-generate-proxy-window](images/abp-studio-generate-proxy-window.png) -> To be able to select the *Application*, you must *Build & Start* the related application beforehand. You can start the application using [Solution Runner](../../studio/running-applications.md) as explained in the previous parts. +> To be able to select the *Application*, you must *Start* the related application beforehand. You can start the application using [Solution Runner](../../studio/running-applications.md) as explained in the previous parts. Lastly, we need to configure the use of a static HTTP client for the `CatalogService` in the `CloudCrm.Web` project. Open the `CloudCrmWebModule.cs` file in the `Web` project and add the following line to the `ConfigureServices` method: @@ -107,9 +107,9 @@ public override void ConfigureServices(ServiceConfigurationContext context) ### Running the Application -Now, stop any application running in the *Solution Runner* panel, and then run the applications by clicking the *Run* -> *Build & Start All* button on the root item in the *Solution Runner* panel: +Now, stop any application running in the *Solution Runner* panel, and then run the applications by clicking the *Start All* button on the root item in the *Solution Runner* panel: -![abp-studio-run-build-and-start-all](images/abp-studio-run-build-and-start-all.png) +![abp-studio-run-build-and-start-all](images/abp-studio-run-start-all.png) After the application is started, you can right-click and [Browse](../../studio/running-applications.md#monitoring) on the `CloudCrm.Web` application to open it in the ABP Studio's pre-integrated browser: diff --git a/docs/en/tutorials/microservice/part-05.md b/docs/en/tutorials/microservice/part-05.md index 9185608d4f..f2cefce256 100644 --- a/docs/en/tutorials/microservice/part-05.md +++ b/docs/en/tutorials/microservice/part-05.md @@ -267,7 +267,7 @@ public class OrderingServiceApplicationAutoMapperProfile : Profile ## Testing the Application Service -Now, we can test the `OrderAppService` class using the Swagger UI. Open the Solution Runner and right-click to `CloudCrm.OrderingService` project and select the *Run* -> *Build & Start* command. After the application starts, you can open the Swagger UI by clicking to the [Browse](../../studio/running-applications.md#monitoring) command: +Now, we can test the `OrderAppService` class using the Swagger UI. Open the Solution Runner and right-click to `CloudCrm.OrderingService` project and select the *Start* command. After the application starts, you can open the Swagger UI by clicking to the [Browse](../../studio/running-applications.md#monitoring) command: ![ordering-service-swagger-ui](images/ordering-service-swagger-ui.png) @@ -411,9 +411,9 @@ private static async Task ConfigureMainMenuAsync(MenuConfigurationContext contex ## Building and Running the Application -Now, we can build and run the application to see the changes. Please stop the applications if they are running. Then open the *Solution Runner* panel, right-click the `CloudCrm` root item, and select the *Run* -> *Build & Start* command: +Now, we can run the application to see the changes. Please stop the applications if they are running. Then open the *Solution Runner* panel, right-click the `CloudCrm` root item, and select the *Start* command: -![abp-studio-run-build-start](images/abp-studio-run-build-start.png) +![abp-studio-run-build-start](images/abp-studio-run-start-all.png) After the applications are started, you can *Browse* and navigate to the `Orders` page to see the list of orders: diff --git a/docs/en/tutorials/microservice/part-06.md b/docs/en/tutorials/microservice/part-06.md index 9630cbbed8..af05bbd792 100644 --- a/docs/en/tutorials/microservice/part-06.md +++ b/docs/en/tutorials/microservice/part-06.md @@ -234,7 +234,7 @@ Let's explain the changes we made: ### Generating Proxy Classes for the Integration Service -We have created the `IProductIntegrationService` interface and the `ProductIntegrationService` class in the `CloudCrm.CatalogService` solution. Now, we need to generate the proxy classes for the integration service in the `CloudCrm.OrderingService` package. First, *Build & Start* the `CloudCrm.CatalogService` application in ABP Studio *Solution Runner*. Then, open the *Solution Explorer* and right-click on the `CloudCrm.OrderingService` package. Select the *ABP CLI* -> *Generate Proxy* -> *C#* command: +We have created the `IProductIntegrationService` interface and the `ProductIntegrationService` class in the `CloudCrm.CatalogService` solution. Now, we need to generate the proxy classes for the integration service in the `CloudCrm.OrderingService` package. First, *Start* the `CloudCrm.CatalogService` application in ABP Studio *Solution Runner*. Then, open the *Solution Explorer* and right-click on the `CloudCrm.OrderingService` package. Select the *ABP CLI* -> *Generate Proxy* -> *C#* command: ![generate-proxy-catalog-service](images/generate-proxy-catalog-service.png) @@ -295,7 +295,7 @@ Open the `Index.cshtml` file (the `Index.cshtml` file under the `Pages/Orders` f ``` -That's it! Now, you can *Build & Start* the all applications and run it in ABP Studio to see the result: +That's it! Now, you can *Start* the all applications and browse it in ABP Studio to see the result: ![web-orders-page-with-product-name](images/web-orders-page-with-product-name.png) diff --git a/docs/en/tutorials/microservice/part-07.md b/docs/en/tutorials/microservice/part-07.md index aec0b58d4a..633789fc6c 100644 --- a/docs/en/tutorials/microservice/part-07.md +++ b/docs/en/tutorials/microservice/part-07.md @@ -201,7 +201,7 @@ Implementing `ITransientDependency` registers the `OrderEventHandler` class to t ### Testing the Order Creation -To keep this tutorial simple, we will not implement a user interface for creating orders. Instead, we will use the Swagger UI to create an order. Open the *Solution Runner* panel in ABP Studio and use *Build & Start* to launch the `CloudCrm.OrderingService` and `CloudCrm.CatalogService` applications. Then, go to *Run* -> *Start All* to start the remaining applications listed in the [Solution Runner root item](../../studio/running-applications.md#run). +To keep this tutorial simple, we will not implement a user interface for creating orders. Instead, we will use the Swagger UI to create an order. Open the *Solution Runner* panel in ABP Studio and use the *Start* action to launch the `CloudCrm.OrderingService` and `CloudCrm.CatalogService` applications. Then, use the *Start All* action to start the remaining applications listed in the [Solution Runner root item](../../studio/running-applications.md#run). Once the application is running and ready, [Browse](../../studio/running-applications.md#c-application) the `CloudCrm.OrderingService` application. Use the `POST /api/ordering/order` endpoint to create a new order: diff --git a/docs/en/tutorials/modular-crm/part-05.md b/docs/en/tutorials/modular-crm/part-05.md index 50bdeb722b..c5279b405a 100644 --- a/docs/en/tutorials/modular-crm/part-05.md +++ b/docs/en/tutorials/modular-crm/part-05.md @@ -491,7 +491,7 @@ Now, we will run the application to see the result. Please stop the application ![abp-studio-solution-runner-graph-build](images/abp-studio-solution-runner-graph-build.png) -We've performed a graph build since we've made a change on a module, and more than building the main application is needed. *Graph Build* command also builds the depended modules if necessary. Alternatively, you could build the Ordering module first (on ABP Studio or your IDE), then right-click the `ModularCrm.Web` application and select the *Run* -> *Build & Start*. This approach can be faster if you have too many modules and you make a change in one of the modules. Now you can run the application by right-clicking the `ModularCrm.Web` application and selecting the *Run* -> *Start* command. +We've performed a graph build since we've made a change on a module, and more than building the main application is needed. *Graph Build* command also builds the depended modules if necessary. Alternatively, you could build the Ordering module first (on ABP Studio or your IDE). This approach can be faster if you have too many modules and you make a change in one of the modules. Now you can run the application by right-clicking the `ModularCrm.Web` application and selecting the *Start* command. ![abp-studio-browser-orders-menu-item](images/abp-studio-browser-orders-menu-item.png)