Skip to content

Commit

Permalink
Merge branch 'dev' into net9
Browse files Browse the repository at this point in the history
  • Loading branch information
maliming committed Sep 24, 2024
2 parents 361902f + 9d1b245 commit c873b18
Show file tree
Hide file tree
Showing 48 changed files with 228 additions and 206 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@


![book](images/book.jpg)
![book](images/cover.png)

Ahead-of-Time (AOT) compilation and Just-in-Time (JIT) compilation are two different methods for compiling Angular applications. Here's a breakdown of the differences between them:

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 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.

You can open ABP Suite from ABP Studio by using the **ABP Suite** -> **Open** toolbar menu item, or by right-clicking on the desired module and selecting the **ABP Suite** menu item.

![abp-suite-context-menu](images/abp-suite-context-menu.png)

It opens the ABP Suite in a built-in browser window. You can also access the suite by visiting `http://localhost:3000` through your browser. From there, you can visually design your solution and generate code. In this example, we create a **Product** entity.

![abp-suite-product-entity](images/abp-suite-product-entity.png)

After clicking **Save and generate** for the entity in ABP Suite, use **Run** -> **Build & Restart** in the [Solution Runner](../../studio/running-applications.md#start) to apply the changes.

To confirm, visit the Swagger UI to verify that the necessary API endpoints and services have been created.

![abp-suite-product-services](images/abp-suite-product-services.png)

> Currently, you can't generate UI code with ABP Suite for microservice solutions. This feature will be added in future releases.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/en/solution-templates/microservice/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,4 @@ ABP Studio provides pre-architected and production-ready templates to jump start
* [Adding new API gateways](adding-new-api-gateways.md)
* [Mono-repo vs multiple repository approaches](mono-repo-vs-multiple-repository-approaches.md)
* [Authoring unit and integration tests](authoring-unit-and-integration-tests.md)
* [How to use with ABP Suite](how-to-use-with-abp-suite.md)
4 changes: 2 additions & 2 deletions docs/en/tutorials/modular-crm/part-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
}
````

Follow the [Get Stared](../../get-started/layered-web-application.md) guide to create a new layered web application with the following configuration:
Follow the *[Get Stared](../../get-started/layered-web-application.md)* guide to create a new layered web application with the following configuration:

* **Solution name**: `ModularCrm`
* **UI Framework**: ASP.NET Core MVC / Razor Pages
Expand All @@ -20,7 +20,7 @@ You can select the other options based on your preference.

> **Please complete the [Get Stared](../../get-started/layered-web-application.md) guide and run the web application before going further.**
The initial solution structure should be like the following in ABP Studio's *Solution Explorer*:
The initial solution structure should be like the following in ABP Studio's *[Solution Explorer](../../studio/solution-explorer.md)*:

![solution-explorer-modular-crm-initial](images/solution-explorer-modular-crm-initial.png)

Expand Down
26 changes: 13 additions & 13 deletions docs/en/tutorials/modular-crm/part-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@
}
````

In this part, you will build a new module for product management and install it to the main CRM application.
In this part, you will build a new product management module and install it in the main CRM application.

## Creating Solution Folders

You can create solution folders and sub-folders in *Solution Explorer* to better organize your solution components. Right-click to the solution root on the *Solution Explorer* panel, and select *Add* -> *New Folder* command:
You can create solution folders and sub-folders in *Solution Explorer* to organize your solution components better. Right-click to the solution root on the *Solution Explorer* panel, and select *Add* -> *New Folder* command:

![abp-studio-add-new-folder-command](images/abp-studio-add-new-folder-command.png)

That command opens a dialog where you can set the folder name:

![abp-studio-new-folder-dialog](images/abp-studio-new-folder-dialog.png)

Create `main` and `modules` folder using the *New Folder* command, then move the `ModularCrm` module into the `main` folder (simply by drag & drop). The *Solution Explorer* panel should look like the following figure now:
Create a `main` and a `modules` folder using the *New Folder* command, then move the `ModularCrm` module into the `main` folder (simply by drag & drop). The *Solution Explorer* panel should look like the following figure now:

![abp-studio-solution-explorer-with-folders](images/abp-studio-solution-explorer-with-folders.png)

Expand All @@ -35,15 +35,15 @@ Create `main` and `modules` folder using the *New Folder* command, then move the
There are two module templates provided by ABP Studio:

* **Empty Module**: You can use that module template to build your module structure from scratch.
* **DDD Module**: A Domain-Driven Design based layered module structure.
* **DDD Module**: A Domain Driven Design based layered module structure.

We will use the *DDD Module* template for the Product module. We will use the *Empty Module* template later in this tutorial.
We will use the *DDD Module* template for the Product module and the *Empty Module* template later in this tutorial.

Right-click the `modules` folder on the *Solution Explorer* panel, and select the *Add* -> *New Module* -> *DDD Module* command:

![abp-studio-add-new-dd-module](images/abp-studio-add-new-dd-module.png)

This command opens a new dialog to define properties of the new module. You can use the following values to create a new module named `ModularCrm.Products`:
This command opens a new dialog to define the properties of the new module. You can use the following values to create a new module named `ModularCrm.Products`:

![abp-studio-create-new-module-dialog](images/abp-studio-create-new-module-dialog.png)

Expand All @@ -58,7 +58,7 @@ Here, you can select the UI type you want to support in your module:
A module;

* May not contain a UI and leaves the UI development to the final application.
* May contain a single UI implementation that is typically in the same technology with the main application.
* May contain a single UI implementation that is typically in the same technology as the main application.
* May contain more than one UI implementation if you want to create a reusable application module and you want to make that module usable by different applications with different UI technologies. For example, all of [pre-built ABP modules](https://abp.io/modules) support multiple UI options.

In this tutorial, we are selecting the MVC UI since we are building that module only for our `ModularCrm` solution and we are using the MVC UI in our application. So, select the MVC UI and click the *Next* button.
Expand Down Expand Up @@ -93,19 +93,19 @@ As seen in the preceding figure, the `ModularCrm.Products` solution consists of

### Installing the Product Module to the Main Application

A module does not contain an executable application inside. The `Modular.Products.Web` project is just a class library project, not an executable web application. A module should be installed to an executable application in order to run it.
A module does not contain an executable application inside. The `Modular.Products.Web` project is just a class library project, not an executable web application. A module should be installed in an executable application to run it.

> **Ensure that the web application is not running in [Solution Runner](../../studio/running-applications.md) or in your IDE. Installing a module to a running application will produce errors.**
The product module has no relation to the main application yet. Right-click to the `ModularCrm` module (inside the `main` folder) and select the *Import Module* command:
The product module has yet to be related to the main application. Right-click on the `ModularCrm` module (inside the `main` folder) and select the *Import Module* command:

![abp-studio-import-module](images/abp-studio-import-module.png)

The *Import Module* command opens a dialog as shown below:

![abp-studio-import-module-dialog](images/abp-studio-import-module-dialog.png)

Select the `ModularCrm.Products` module and check the *Install this module* option. If you don't check that option, it only imports the module but doesn't setup project dependencies. Importing a module without installation can be used to manually setup your project dependencies. Here, we want to make it automatically, so checking the *Install this module* option.
Select the `ModularCrm.Products` module and check the *Install this module* option. If you don't check that option, it only imports the module but doesn't set project dependencies. Importing a module without installation can be used to set up your project dependencies manually. We want to make it automatically, so check the *Install this module* option.

When you click the *OK* button, ABP Studio opens the *Install Module* dialog:

Expand All @@ -117,13 +117,13 @@ The default package match is good for this tutorial, so you can click the *OK* b

### Building the Main Application

After the installation, build the entire solution by right-clicking to the `ModularCrm` module (under the `main` folder) and select the *Dotnet CLI* -> *Graph Build* command:
After the installation, build the entire solution by right-clicking on the `ModularCrm` module (under the `main` folder) and selecting the *Dotnet CLI* -> *Graph Build* command:

![abp-studio-graph-build](images/abp-studio-graph-build.png)

Graph Build is a dotnet CLI command that recursively build all the referenced dotnet projects even if they are not a part of the root solution.
Graph Build is a dotnet CLI command that recursively builds all the referenced dotnet projects, even if they are not part of the root solution.

> While developing multi-module solutions with ABP Studio, you may need to perform *Graph Build* on the root/main module if you made changes in the depending modules.
> While developing multi-module solutions with ABP Studio, you may need to perform *Graph Build* on the root/main module if you change the depending modules.
### Run the Main Application

Expand Down
Loading

0 comments on commit c873b18

Please sign in to comment.