Skip to content
This repository has been archived by the owner on Nov 21, 2024. It is now read-only.

Commit

Permalink
Merge pull request #762 from abpio/studio/revision
Browse files Browse the repository at this point in the history
Studio CLI, Solution Explorer, Microservice Documentations - Revision
  • Loading branch information
enisn authored Mar 7, 2024
2 parents cbb3ef9 + c6bc996 commit 623229c
Show file tree
Hide file tree
Showing 14 changed files with 44 additions and 9 deletions.
24 changes: 21 additions & 3 deletions en/studio/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,16 @@ abpc new-solution Acme.BookStore
* `Oracle-Devart` (`app-pro` & `app-nolayers-pro`)
* `--dont-run-install-libs`: Skip installing client side packages.
* `--dont-run-bundling`: Skip bundling for Blazor packages.

* `--no-kubernetes-configuration` or `-nkc`: Skips the Kubernetes configuration files.
* *Module Options*: You can skip some modules if you don't want to add them to your solution. Available commands:
* `-no-saas`: Skips the Saas module.
* `-no-gdpr`: Skips the GDPR module.
* `-no-openiddict-admin-ui`: Skips the OpenIddict Admin UI module.
* `-no-audit-logging`: Skips the Audit Logging module.
* `-no-file-management`: Skips the File Management module.
* `-no-language-management`: Skips the Language Management module.
* `-no-text-template-management`: Skips the Text Template Management module.
* `-no-chat`: Skips the Chat module.
### new-module

Generates a new module.
Expand All @@ -125,14 +134,23 @@ abpc new-module <module-name> [options]
Example:

````bash
abpc new-module Acme.BookStore
abpc new-module Acme.BookStore -t module:ddd
````

#### options

* `--template` or `-t`: Specifies the template name. Default template name is `empty`, which generates a empty module. Module templates are provided by the main template, see their own startup template documentation for available modules. `empty` template is available for all solution structure.
* `--template` or `-t`: Specifies the template name. Default template name is `empty`, which generates a empty module. Module templates are provided by the main template, see their own startup template documentation for available modules. `empty` and `module:ddd` template is available for all solution structure.
* `--output-folder` or `-o`: Specifies the output folder. Default value is the current directory.
* `--target-solution` or `-ts`: If set, the new module will be added to the given solution. Otherwise the new module will added to the closest solution in the file system. If no solution found, it will throw an error.
* `--solution-folder` or `-sf`: Specifies the target folder in the [Solution Explorer](./solution-explorer.md#folder) virtual folder system.
* `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. This option is only available if the module template supports it. You can add multiple values separated by commas, such as `ef, mongodb` if the module template supports it. Available providers:
* `ef`: Entity Framework Core.
* `mongodb`: MongoDB.
* `--ui-framework` or `-u`: Specifies the UI framework. Default framework is `mvc`. This option is only available if the module template supports it. You can add multiple values separated by commas, such as `mvc,angular` if the module template supports it. Available frameworks:
* `mvc`: ASP.NET Core MVC.
* `angular`: Angular UI.
* `blazor`: Blazor UI.
* `blazor-server`: Blazor Server UI.

### new-package

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified en/studio/images/solution-explorer/create-new-module.png
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.
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.
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 13 additions & 2 deletions en/studio/quick-starts/microservice.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Then select an *output folder* to create your solution. The *Create solution fol

Once your configuration is done, click the *Next* button to navigate to the *Database Provider* selection:

![abp-studio-new-solution-dialog-ui-framework](images/abp-studio-new-solution-dialog-database-provider-microservice.png)
![abp-studio-new-solution-dialog-database-provider](images/abp-studio-new-solution-dialog-database-provider-microservice.png)

On that screen, you can decide on your database provider by selecting one of the provided options, then click the *Next* button to navigate to the *Database Configurations* section (only for Entity Framework Core):

Expand All @@ -42,7 +42,11 @@ Here, you see all the mobile applications available in that startup solution tem

> If you select a mobile application, an additional API Gateway is created that is only used by the mobile application.
Pick the one best for you, or select the *None* if you don't want a mobile application in your solution, then click *Next* to navigate to the *Optional Modules* section:
Pick the one best for you, or select the *None* if you don't want a mobile application in your solution, then click *Next* to navigate to the *Public Website* section:

![abp-studio-new-solution-dialog-public-web-site](images/abp-studio-new-solution-dialog-public-web-site.png)

You can select a public website to be created in your solution. The public website is a simple landing page that can be used to introduce your product, provide documentation, and so on.

![abp-studio-new-microservice-solution-dialog-optional-modules](images/abp-studio-new-microservice-solution-dialog-optional-modules.png)

Expand All @@ -58,6 +62,13 @@ Once you select the desired modules, click the *Next* button for the *UI Theme*

LeptonX is the suggested UI theme that is proper for production usage. Select one of the themes and configure the additional options if you want.


Click the Next button to see *Additional Options* selection:

![abp-studio-new-solution-dialog-additional-options](images/abp-studio-new-solution-dialog-additional-options-microservice.png)

If you unchecked the *Kubernetes Configuration* option, the solution will not include the Kubernetes configuration files which include the Helm charts and other Kubernetes related files.

Now, we are ready to allow ABP Studio to create our solution. Just click the *Create* button and let the ABP Studio do the rest for you. After clicking the Create button, the dialog is closed and your solution is loaded into ABP Studio:

![abp-studio-created-new-microservice-solution](images/abp-studio-created-new-microservice-solution.png)
Expand Down
14 changes: 10 additions & 4 deletions en/studio/solution-explorer.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,11 @@ A [module](./concepts.md#module) is a sub-solution that can contains zero, one o

### Adding a New Empty Module

Create a new module by clicking the *Add* -> *New Module* button at the root of the solution or in the folder context-menu. This action opens the *Create New Module* window. Choose between two module templates: *Empty* and *Microservice (service-nolayers)*. Please note that these options are only available for *Microservice* solution template. Other solution templates, such as *Application (Layered)*, can only create an empty module.
Create a new module by clicking the *Add* -> *New Module* -> *Empty Module* button at the root of the solution or in the solution folder context menu. The *Microservice* solution template also includes *Microservice*, *Gateway*, and *Web* modules. Other solution templates, such as *Application (Layered)*, can only create *Empty*, and *DDD* modules.

![create-new-module](./images/solution-explorer/create-new-module.png)

If you choose the *Empty Module*, provide the *Module name* and *Output folder*, then click the *Create* button to add the empty module to the solution. For solution templates other than *Microservice*, the *Create New Module* window opens directly to this step.
If you choose the *Empty Module*, provide the *Module name* and *Output folder*, then click the *Create* button to add the empty module to the solution.

![create-new-empty-module](./images/solution-explorer/create-new-empty-module.png)

Expand All @@ -123,7 +123,7 @@ After creating the empty module, it will be added to the solution, and you shoul

### Adding a New Microservice Module

Similar to creating an empty module, if you select the *Microservice (service-nolayers)* module template, provide the *Module name* and *Output folder*, then click the *Next* button. Please note that the *Module name* includes the solution name as a prefix, and the use of the dot(.) character in the *Module name* is not allowed.
Similar to creating an empty module, if you select the *Microservice* module template, provide the *Module name* and *Output folder*, then click the *Next* button. Please note that the *Module name* includes the solution name as a prefix, and the use of the dot(.) character in the *Module name* is not allowed.

![create-new-microservice-nolayers-module](./images/solution-explorer/create-new-microservice-nolayers-module.png)

Expand All @@ -135,7 +135,7 @@ After creating the *Microservice (service-nolayers)* module, it will be added to

![created-new-microservice-nolayers](./images/solution-explorer/created-new-microservice-nolayers.png)

> To customize the *Microservice (service-nolayers)* module template, navigate to the solution folder in file explorer, where you'll find a `_templates` folder. You can edit the `service_nolayers` template based on your specific needs.
> To customize the *Microservice* module templates, navigate to the solution folder in file explorer, where you'll find a `_templates` folder. You can edit the `service_nolayers`, `gateway` and `web` templates based on your specific needs.
### Adding an Existing Module

Expand Down Expand Up @@ -185,6 +185,12 @@ When you click the *Install* button, it opens the *Install Module* window. On th

After we install the module, we're gonna see *Modify Installation* button instead of *Install* button. We can click the *Modify Installation* button to add or remove packages from the module. We can uninstall selected module with *Uninstall* button. After uninstalling the module, all package references in our module gonna be removed. We can remove the module with *Remove* button. This option only available if the imported module is not installed.

### Change Version

If the module has been added as a NuGet package, you have the option to change the version of the module. Click the *Change Version* button on the imported module context-menu to open the *Change Version* window. Here, you can select the *Version* for the module and click the *OK* button to change the version of the module.

![change-version](./images/solution-explorer/change-version.png)

### Load Details

To view module details, click the *Load Details* button for the imported modules. This will show us the analyzed module details, including *Aggregate Roots*, *Application Services*, *Domain Services*, *EF Core DB Contexts*, *Features*, *Mongo DB Contexts*, *Permissions*, *Repository Interfaces*, and *Settings*. When we click the item in the list, it will open the details in main panel as a tab where you can view methods, properties, implementations, etc.
Expand Down

0 comments on commit 623229c

Please sign in to comment.