diff --git a/docs/en/cli/index.md b/docs/en/cli/index.md
index 8d015edd02d..84fe696f9ca 100644
--- a/docs/en/cli/index.md
+++ b/docs/en/cli/index.md
@@ -3,6 +3,8 @@
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 system to align with the new templating system and [ABP Studio](../studio/index.md). The new ABP CLI commands are explained in this documentation. However, if you want to learn more about the differences between the old and new CLIs, want to learn the reason for the change, or need guidance to use the old ABP CLI, please refer to the [Old vs New CLI](differences-between-old-and-new-cli.md) documentation.
+>
+> You may need to remove the Old CLI before installing the New CLI, by running the following command: `dotnet tool uninstall -g Volo.Abp.Cli`
## Installation
diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json
index 28adea175df..64346797932 100644
--- a/docs/en/docs-nav.json
+++ b/docs/en/docs-nav.json
@@ -58,8 +58,11 @@
},
{
"text": "Book Store application",
- "path": "tutorials/book-store/index.md",
"items": [
+ {
+ "text": "Overview",
+ "path": "tutorials/book-store/overview.md"
+ },
{
"text": "1: Creating the server side",
"path": "tutorials/book-store/part-01.md"
diff --git a/docs/en/tutorials/book-store/images/blazor-add-books-component-client.png b/docs/en/tutorials/book-store/images/blazor-add-books-component-client.png
new file mode 100644
index 00000000000..be509ab06c8
Binary files /dev/null and b/docs/en/tutorials/book-store/images/blazor-add-books-component-client.png differ
diff --git a/docs/en/tutorials/book-store/index.md b/docs/en/tutorials/book-store/overview.md
similarity index 55%
rename from docs/en/tutorials/book-store/index.md
rename to docs/en/tutorials/book-store/overview.md
index f3f24c8a3c5..c3161d23319 100644
--- a/docs/en/tutorials/book-store/index.md
+++ b/docs/en/tutorials/book-store/overview.md
@@ -35,3 +35,21 @@ This tutorial is organized as the following parts:
- [Part 8: Authors: Application Layer](part-08.md)
- [Part 9: Authors: User Interface](part-09.md)
- [Part 10: Book to Author Relation](part-10.md)
+
+### Download the Source Code
+
+This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
+
+* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
+* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
+* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
+
+> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
+
+{{if UI == "MVC" && DB == "EF"}}
+
+### Video Tutorial
+
+This part is also recorded as a video tutorial and **published on YouTube**.
+
+{{end}}
diff --git a/docs/en/tutorials/book-store/part-01.md b/docs/en/tutorials/book-store/part-01.md
index 327233c42bc..8f1d5df3461 100644
--- a/docs/en/tutorials/book-store/part-01.md
+++ b/docs/en/tutorials/book-store/part-01.md
@@ -16,46 +16,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the database provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts:
-
-- **Part 1: Creating the server side (this part)**
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
-> After downloading the source code, you might need to run some commands before running the application. See the _After Creating the Solution_ section below for more information.
-
-{{if UI == "MVC" && DB == "EF"}}
-
-### Video Tutorial
-
-This part is also recorded as a video tutorial and **published on YouTube**.
-
-{{end}}
-
## Creating the Solution
Before starting the development, create a new solution named `Acme.BookStore` and run it by following the [getting started tutorial](../../get-started/layered-web-application.md).
@@ -480,7 +440,7 @@ ABP can [**automagically**](../../framework/api-development/auto-controllers.md)
### Swagger UI
-The startup template is configured to run the [Swagger UI](https://swagger.io/tools/swagger-ui/) using the [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) library. Run the application ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else}}`Acme.BookStore.HttpApi.Host`{{end}}) by pressing `CTRL+F5` and navigate to `https://localhost:/swagger/` on your browser. Replace `` with your own port number.
+The startup template is configured to run the [Swagger UI](https://swagger.io/tools/swagger-ui/) using the [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) library. Run the application ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else}}`Acme.BookStore.HttpApi.Host`{{end}}) by pressing `CTRL+F5` and navigate to `https://localhost:/swagger/` on your browser. Replace `` with your own port number.
You will see some built-in service endpoints as well as the `Book` service and its REST-style endpoints:
diff --git a/docs/en/tutorials/book-store/part-02.md b/docs/en/tutorials/book-store/part-02.md
index 6ac190710ba..df5a5ac598c 100644
--- a/docs/en/tutorials/book-store/part-02.md
+++ b/docs/en/tutorials/book-store/part-02.md
@@ -20,44 +20,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts:
-
-- [Part 1: Creating the server side](part-01.md)
-- **Part 2: The book list page (this part)**
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
-{{if UI == "MVC" && DB == "EF"}}
-
-### Video Tutorial
-
-This part is also recorded as a video tutorial and **published on YouTube**.
-
-{{end}}
-
{{if UI == "MVC"}}
## Dynamic JavaScript Proxies
@@ -556,9 +518,13 @@ Now you can see the final result on your browser:
## Create a Books Page
-It's time to create something visible and usable! Right click on the `Pages` folder under the `Acme.BookStore.Blazor.Client` project and add a new **razor component**, named `Books.razor`:
+It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "Blazor"}}`Acme.BookStore.Blazor.Client`{{ else }}`Acme.BookStore.Blazor`{{ end }} project and add a new **razor component**, named `Books.razor`:
+{{ if UI == "Blazor"}}
+![blazor-add-books-component](images/blazor-add-books-component-client.png)
+{{ else }}
![blazor-add-books-component](images/blazor-add-books-component.png)
+{{ end }}
Replace the contents of this component as shown below:
@@ -574,7 +540,7 @@ Replace the contents of this component as shown below:
### Add the Books Page to the Main Menu
-Open the `BookStoreMenuContributor` class in the `Blazor.Client` project add the following code to the end of the `ConfigureMainMenuAsync` method:
+Open the `BookStoreMenuContributor` class in the {{ if UI == "Blazor"}}`Acme.BookStore.Blazor.Client`{{ else }}`Acme.BookStore.Blazor`{{ end }} project add the following code to the end of the `ConfigureMainMenuAsync` method:
````csharp
context.Menu.AddItem(
diff --git a/docs/en/tutorials/book-store/part-03.md b/docs/en/tutorials/book-store/part-03.md
index 7665cf4354f..a770d62f296 100644
--- a/docs/en/tutorials/book-store/part-03.md
+++ b/docs/en/tutorials/book-store/part-03.md
@@ -21,44 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts:
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- **Part 3: Creating, updating and deleting books (this part)**
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
-{{if UI == "MVC" && DB == "EF"}}
-
-### Video Tutorial
-
-This part is also recorded as a video tutorial and **published on YouTube**.
-
-{{end}}
-
{{if UI == "MVC"}}
## Creating a New Book
diff --git a/docs/en/tutorials/book-store/part-04.md b/docs/en/tutorials/book-store/part-04.md
index 0dc79dc75be..b529748efb4 100644
--- a/docs/en/tutorials/book-store/part-04.md
+++ b/docs/en/tutorials/book-store/part-04.md
@@ -21,44 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- **Part 4: Integration tests (this part)**
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
-{{if UI == "MVC" && DB == "EF"}}
-
-### Video Tutorial
-
-This part is also recorded as a video tutorial and **published on YouTube**.
-
-{{end}}
-
## Test Projects in the Solution
This part covers the **server side** tests. There are several test projects in the solution:
diff --git a/docs/en/tutorials/book-store/part-05.md b/docs/en/tutorials/book-store/part-05.md
index d657997950f..15ab2d5a269 100644
--- a/docs/en/tutorials/book-store/part-05.md
+++ b/docs/en/tutorials/book-store/part-05.md
@@ -21,44 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- **Part 5: Authorization (this part)**
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
-{{if UI == "MVC" && DB == "EF"}}
-
-### Video Tutorial
-
-This part is also recorded as a video tutorial and **published on YouTube**.
-
-{{end}}
-
## Permissions
ABP provides an [authorization system](../../framework/fundamentals/authorization.md) based on the ASP.NET Core's [authorization infrastructure](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction). One major feature added on top of the standard authorization infrastructure is the **permission system** which allows to define permissions and enable/disable per role, user or client.
diff --git a/docs/en/tutorials/book-store/part-06.md b/docs/en/tutorials/book-store/part-06.md
index d24ba5ea206..a19248ec64c 100644
--- a/docs/en/tutorials/book-store/part-06.md
+++ b/docs/en/tutorials/book-store/part-06.md
@@ -21,36 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- **Part 6: Authors: Domain layer (this part)**
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
## Introduction
In the previous parts, we've used the ABP infrastructure to easily build some services;
diff --git a/docs/en/tutorials/book-store/part-07.md b/docs/en/tutorials/book-store/part-07.md
index a3c7e2903ca..70d73da97b3 100644
--- a/docs/en/tutorials/book-store/part-07.md
+++ b/docs/en/tutorials/book-store/part-07.md
@@ -21,36 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- **Part 7: Authors: Database Integration (this part)**
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
## Introduction
This part explains how to configure the database integration for the `Author` entity introduced in the previous part.
diff --git a/docs/en/tutorials/book-store/part-08.md b/docs/en/tutorials/book-store/part-08.md
index 3054cf3f5db..bce32ab42e9 100644
--- a/docs/en/tutorials/book-store/part-08.md
+++ b/docs/en/tutorials/book-store/part-08.md
@@ -21,36 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- **Part 8: Author: Application Layer (this part)**
-- [Part 9: Authors: User Interface](part-09.md)
-- [Part 10: Book to Author Relation](part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
## Introduction
This part explains to create an application layer for the `Author` entity created before.
diff --git a/docs/en/tutorials/book-store/part-09.md b/docs/en/tutorials/book-store/part-09.md
index a162f24b5ab..e8e0bd328f2 100644
--- a/docs/en/tutorials/book-store/part-09.md
+++ b/docs/en/tutorials/book-store/part-09.md
@@ -21,36 +21,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- **Part 9: Authors: User Interface (this part)**
-- [Part 10: Book to Author Relation](Part-10.md)
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
## Introduction
This part explains how to create a CRUD page for the `Author` entity introduced in the previous parts.
@@ -1236,7 +1206,7 @@ Open the `BookStoreMenuContributor.cs` in the `Acme.BookStore.Blazor.Client` pro
````csharp
if (await context.IsGrantedAsync(BookStorePermissions.Authors.Default))
{
- bookStoreMenu.AddItem(new ApplicationMenuItem(
+ context.Menu.AddItem(new ApplicationMenuItem(
"BooksStore.Authors",
l["Menu:Authors"],
url: "/authors"
diff --git a/docs/en/tutorials/book-store/part-10.md b/docs/en/tutorials/book-store/part-10.md
index b5b710146e1..5a6acb752b7 100644
--- a/docs/en/tutorials/book-store/part-10.md
+++ b/docs/en/tutorials/book-store/part-10.md
@@ -17,36 +17,6 @@
}
````
-## About This Tutorial
-
-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:
-
-* **{{DB_Value}}** as the ORM provider.
-* **{{UI_Value}}** as the UI Framework.
-
-This tutorial is organized as the following parts;
-
-- [Part 1: Creating the server side](part-01.md)
-- [Part 2: The book list page](part-02.md)
-- [Part 3: Creating, updating and deleting books](part-03.md)
-- [Part 4: Integration tests](part-04.md)
-- [Part 5: Authorization](part-05.md)
-- [Part 6: Authors: Domain layer](part-06.md)
-- [Part 7: Authors: Database Integration](part-07.md)
-- [Part 8: Authors: Application Layer](part-08.md)
-- [Part 9: Authors: User Interface](part-09.md)
-- **Part 10: Book to Author Relation (this part)**
-
-### Download the Source Code
-
-This tutorial has multiple versions based on your **UI** and **Database** preferences. We've prepared a few combinations of the source code to be downloaded:
-
-* [MVC (Razor Pages) UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore)
-* [Blazor UI with EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore)
-* [Angular UI with MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb)
-
-> If you encounter the "filename too long" or "unzip" error on Windows, please see [this guide](../../kb/windows-path-too-long-fix.md).
-
## Introduction
We have created `Book` and `Author` functionalities for the book store application. However, currently there is no relation between these entities.
diff --git a/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.webp b/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.webp
index c31bc80a822..70b613b8f26 100644
Binary files a/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.webp and b/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.webp differ