diff --git a/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/POST.md b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/POST.md index c504b7068f..04f0b90398 100644 --- a/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/POST.md +++ b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/POST.md @@ -26,17 +26,135 @@ dotnet tool install Volo.Abp.Cli -g --version 4.1.0-rc.1 abp new BookStore --preview ```` -See the [ABP CLI documentation](https://docs.abp.io/en/abp/3.3/CLI) for all the available options. +See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all the available options. > You can also use the *Direct Download* tab on the [Get Started](https://abp.io/get-started) page by selecting the **Preview checkbox**. ## What's new with the ABP Framework 4.1 -TODO +### Module Entity Extensions + +Module Entity Extension system provides a simple way of adding new properties to an existing entity defined by a module that is used by your application. This feature is now available also for the open source modules (identity and tenant-management). [The documentation](https://docs.abp.io/en/abp/latest/Module-Entity-Extensions) has been moved into the ABP Framework's documentation. + +**Example: Add "SocialSecurityNumber" property to the `IdentityUser` entity** + +````csharp +ObjectExtensionManager.Instance.Modules() + .ConfigureIdentity(identity => + { + identity.ConfigureUser(user => + { + user.AddOrUpdateProperty( //property type: string + "SocialSecurityNumber", //property name + property => + { + //validation rules + property.Attributes.Add(new RequiredAttribute()); + property.Attributes.Add( + new StringLengthAttribute(64) { + MinimumLength = 4 + } + ); + + //...other configurations for this property + } + ); + }); + }); +```` + +The new property becomes available on the UI, API and the database. You can even define navigation properties. This provides an easy way to extend existing modules while using them as NuGet packages. See [the document](https://docs.abp.io/en/abp/latest/Module-Entity-Extensions) for details. + +### Blazor UI Improvements + +Since the Blazor UI is relatively new in the ABP Framework, we continue to add features and make enhancements to fill the gap between other supported UI types. + +#### Bundling & Minification + +In the version 4.1, we had introduced the `abp bundle` command for the Blazor UI to add global script and style files of the depended modules into the `index.html`. It was a preparation for a real bundling & minification system. With the version 4.2, this command has been completed. + +Whenever you add a new module to your Blazor application, just type the `abp bundle` command in a command line terminal; + +* It finds all the global script/style files in your application and the modules your application directly or indirectly depends on, ordered by the module dependencies. +* Bundles all the scripts into a single file and minified the file (same for the styles). +* Add the single bundle file to the `index.html` file. + +Added a configuration into the `appsettings.json` file in the Blazor application in the application startup template to control the bundling mode: + +````js +{ + "AbpCli": { + "Bundle": { + "Mode": "BundleAndMinify" + } + } +} +```` + +Possible values are; + +* `BundleAndMinify`: Bundle all the files into a single file and minify the content. +* `Bundle`: Bundle all files into a single file, but not minify. +* `None`: Add files individually, do not bundle. + +See the [Global Scripts & Styles](https://docs.abp.io/en/abp/4.1/UI/Blazor/Global-Scripts-Styles) document for details. + +#### SubmitButton + +`SubmitButton` is a new component that simplifies to save a form: + +````html + +```` + +The main advantages of using this component instead of a standard `Button` with submit type is; It automatically blocks the submit button until the save operation has fully completed. This prevents multiple clicks by user. + +There are some attributes to customize the component. + +#### Other Blazor UI highlights -## What's new with the ABP Commercial 4.0 +* Implemented some **animations** (like opening/closing modals and dropdowns). +* Automatically **focus** to the first input when you open a modal form. -TODO +Module extensibility system (mentioned above) for the Blazor UI is in development and not available yet. + +## What's new with the ABP Commercial 4.1 + +### Blazor UI Improvements + +We continue to complete missing modules and functionalities for the Blazor UI. + +#### Organization Unit Management + +Organization Management UI has been implemented for the Blazor UI. Example screenshot: + +![blazor-organization-units](blazor-organization-units.png) + +#### IdentityServer UI + +IdentityServer Management UI is also available for the Blazor UI now: + +![blazor-identityserver-ui](blazor-identityserver-ui.png) + +### Suite: Navigation Property Selection with Typeahead + +We had introduced auto-complete select style navigation property selection. With this release, it is fully supported by all the UI options. So, when you create an CRUD page with ABP Suite for entity that has 1 to Many relation to another entity, you can simply select the target entity with a typeahead style select component. Example screenshot: + +TODO: Screenshot + +### Spanish Language Translation + +We continue to add new language supports for the UI. In this version, translated the UI to **Spanish** language. + +![spanish-commercial-translation](spanish-commercial-translation.png) + +### Coming: Public Website with Integrated CMS Features + +In the next version, the application startup template will come with a public website application option. CMS Kit module will be installed in the website by default, that means newsletter, contact form, comments and some other new features will be directly usable in your applications. + +An early screenshot from the public website application home page: + +![abp-commercial-public-website](abp-commercial-public-website.png) ## Other News @@ -44,6 +162,7 @@ TODO A lot of new contents have been published in the ABP Community Web Site in the last two weeks: +* [How to Integrate the Telerik Blazor Components to the ABP Blazor UI](https://community.abp.io/articles/how-to-integrate-the-telerik-blazor-components-to-the-abp-blazor-ui-q8g31abb) by [EngincanV](https://github.com/EngincanV) * [Using DevExpress Blazor UI Components With the ABP Framework](https://community.abp.io/articles/using-devexpress-blazor-ui-components-with-the-abp-framework-wrpoa8rw) by [@berkansasmaz](https://github.com/berkansasmaz) * [Creating a new UI theme by copying the Basic Theme (for MVC UI)](https://community.abp.io/articles/creating-a-new-ui-theme-by-copying-the-basic-theme-for-mvc-ui-yt9b18io) by [@ebubekirdinc](https://github.com/ebubekirdinc) * [Using Angular Material Components With the ABP Framework](https://community.abp.io/members/muhammedaltug) by [@muhammedaltug](https://github.com/muhammedaltug) @@ -68,7 +187,9 @@ We enabled the [GitHub Discussions for the abp repository](https://github.com/ab ## About the Next Release(s) -Beginning from the next version (4.2.0), we are starting to spend more effort on the **CMS Kit module**. The purpose of this module is to provide CMS primitives (e.g. **comments, tags, reactions, contents**...) and features (e.g. **blog, pages, surveys**) as pre-built and reusable components. Current blog module will be a part of the CMS Kit module. We will continue to prepare documents, guides, tutorials and examples. And surely, we will continue to make enhancements and optimizations on the current features. +Beginning from the next version (4.2.0), we are starting to spend more effort on the **CMS Kit module**. The purpose of this module is to provide CMS primitives (e.g. **comments, tags, reactions, contents**...) and features (e.g. **blog, pages, surveys**) as pre-built and reusable components. Current blog module will be a part of the CMS Kit module. + +We will continue to prepare documents, guides, tutorials and examples. And surely, we will continue to make enhancements and optimizations on the current features. > The planned preview release date for the version 4.2.0 is January 14, 2021 and the final (stable) version release date is January 28, 2021. diff --git a/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/abp-commercial-public-website.png b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/abp-commercial-public-website.png new file mode 100644 index 0000000000..8f01a9b385 Binary files /dev/null and b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/abp-commercial-public-website.png differ diff --git a/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/blazor-identityserver-ui.png b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/blazor-identityserver-ui.png new file mode 100644 index 0000000000..8bb53d5d6b Binary files /dev/null and b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/blazor-identityserver-ui.png differ diff --git a/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/blazor-organization-units.png b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/blazor-organization-units.png new file mode 100644 index 0000000000..5db13d61a2 Binary files /dev/null and b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/blazor-organization-units.png differ diff --git a/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/spanish-commercial-translation.png b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/spanish-commercial-translation.png new file mode 100644 index 0000000000..ab6ca06719 Binary files /dev/null and b/docs/en/Blog-Posts/2020-12-18 v4_1_Preview/spanish-commercial-translation.png differ diff --git a/docs/en/Road-Map.md b/docs/en/Road-Map.md index 3a45ca1767..6f4213a6bd 100644 --- a/docs/en/Road-Map.md +++ b/docs/en/Road-Map.md @@ -2,6 +2,7 @@ You can always check the milestone planning and the prioritized backlog issues on [the GitHub repository](https://github.com/abpframework/abp/milestones) for a detailed road map. Here, a list of some major items in the backlog; +* CMS Kit: A set of reusable, extensible and composable Content Management System features. * [#2882](https://github.com/abpframework/abp/issues/2882) / Providing a gRPC integration infrastructure (while it is [already possible](https://github.com/abpframework/abp-samples/tree/master/GrpcDemo) to create or consume gRPC endpoints for your application, we plan to create endpoints for the [standard application modules](https://docs.abp.io/en/abp/latest/Modules/Index)) * [#236](https://github.com/abpframework/abp/issues/236) Resource based authorization system * [#6132](https://github.com/abpframework/abp/issues/6132) A New Theme alternative to the Basic Theme diff --git a/docs/en/Samples/Index.md b/docs/en/Samples/Index.md index f298ea49f5..38c1335b2a 100644 --- a/docs/en/Samples/Index.md +++ b/docs/en/Samples/Index.md @@ -27,6 +27,9 @@ While there is no Razor Pages & MongoDB combination, you can check both document ### Other Samples +* Event Organizer: A sample application to create events (meetups) and allow others to register the events. Developed using EF Core and Blazor UI. + * [Source code](https://github.com/abpframework/abp-samples/tree/master/EventOrganizer) + * [Article](https://community.abp.io/articles/creating-an-event-organizer-application-with-the-blazor-ui-wbe0sf2z) * **Entity Framework Migrations**: A solution to demonstrate how to split your application into multiple databases each database contains different modules. * [Source code](https://github.com/abpframework/abp-samples/tree/master/EfCoreMigrationDemo) * [EF Core database migrations document](../Entity-Framework-Core-Migrations.md)