Browse Source

Merge pull request #9096 from abpframework/auto-merge/rel-4-3/403

Merge branch dev with rel-4.3
pull/9115/head
İsmail ÇAĞDAŞ 5 years ago
committed by GitHub
parent
commit
f6c2eb8b97
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 98
      docs/en/Modules/Cms-Kit/Blog-System.md
  2. 74
      docs/en/Modules/Cms-Kit/Blogging.md
  3. 0
      docs/en/Modules/Cms-Kit/Comments.md
  4. 28
      docs/en/Modules/Cms-Kit/Index.md
  5. 0
      docs/en/Modules/Cms-Kit/Ratings.md
  6. 0
      docs/en/Modules/Cms-Kit/Reactions.md
  7. 0
      docs/en/Modules/Cms-Kit/Tags.md

98
docs/en/Modules/Cms-Kit/Blog-System.md

@ -1,98 +0,0 @@
# Blog System
CMS kit provides a **blog** system to add blogs & posts to a public website. This section describes the details of the blog system.
## Feature
CMS kit uses the [global feature](https://docs.abp.io/en/abp/latest/Global-Features) system for all implemented features. Commercial startup templates come with all the CMS Kit-related features are enabled by default, if you create the solution with the public website option. If you're installing the CMS Kit manually or want to enable the blog feature individually, open the `GlobalFeatureConfigurator` class in the `Domain.Shared` project and place the following code to the `Configure `method.
```csharp
GlobalFeatureManager.Instance.Modules.CmsKit(cmsKit =>
{
cmsKit.Blogs.Enable();
});
```
# Internals
## Domain Layer
#### Aggregates
This module follows the [Entity Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Entities) guide.
- `Blog` _(aggregate root)_: Presents blogs of application.
- `BlogPost`_(aggregate root)_: Presents blog posts in blogs.
- `BlogFeature`:_(aggregate root)_: Presents blog features enabled/disabled state. Such as reactions, ratings, comments, etc.
#### Repositories
This module follows the [Repository Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Repositories) guide.
Following custom repositories are defined for this feature:
- `IBlogRepository`
- `IBlogPostRepository`
- `IBlogFeatureRepository`
#### Domain services
This module follows the [Domain Services Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Domain-Services) guide.
- `BlogManager`: Includes some operations for `Blog` aggreate root to keep data consistency.
- `CreateAsync`: Creates a new `Blog` entity and makes sure slug is used one time.
- `UpdateAsync`: Updates existing `Blog` entity and makes sure slug is used one time.
- `BlogPostManager`: Includes some operations for `BlogPost` aggreagate root such as creating & updating.
- `CreateAsync`: Creates a new BlogPost and makes sure slug is used only one time.
- `SetSlugUrlAsync`: Sets `UrlSlug` property of BlogPost entity and makes sure slug isn't duplicated in same blog.
- `BlogFeatureManager`: Includes some operations for managing blog features.
- `SetAsync`: Sets a feature enabled/disabled for a Blog.
- `SetDefaultsAsync`: Resets all feature configuration for a Blog.
### Application layer
#### Application Services
##### Admin
- `BlogAdminAppService` _(implements `IBlogAdminAppService`)_: Implements use cases of blog management.
- `BlogFeatureAdminAppService` _(implements `IBlogFeatureAdminAppService`)_: Implements use cases of blog feature management.
- `BlogPostAdminAppService` _(implements `IBlogPostAdminAppService`)_: Implements use cases of blog post management.
##### Common
- `BlogFeatureAppService` _(implements I`BlogFeatureAppService`)_: Implements feature checking operations.
##### Public
- `BlogPostPublicAppService` _(implements `IBlogPostPublicAppService`)_: Implements use cases of blog posts management on public websites.
### Database providers
#### Common
##### Table / collection prefix & schema
All tables/collections use the `Cms` prefix by default. Set static properties on the `CmsKitDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider).
##### Connection string
This module uses `CmsKit` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string.
See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details.
#### Entity Framework Core
##### Tables
- CmsBlogs
- CmsBlogPosts
- CmsBlogFeatures
#### MongoDB
##### Collections
- CmsBlogs
- CmsBlogPosts
- CmsBlogFeatures

74
docs/en/Modules/Cms-Kit/Blogging.md

@ -0,0 +1,74 @@
# CMS Kit: Blogging
The blogging feature provides the necessary UI to manage and render blogs and blog posts.
## Internals
Menu Items
The following menu items are added by the blogging feature to the admin application:
* **Blogs**: Blog management page.
* **Blog Posts**: Blog post management page.
### Domain Layer
#### Aggregates
This module follows the [Entity Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Entities) guide.
- `Blog` _(aggregate root)_: Presents blogs of application.
- `BlogPost`_(aggregate root)_: Presents blog posts in blogs.
- `BlogFeature`:_(aggregate root)_: Presents blog features enabled/disabled state. Such as reactions, ratings, comments, etc.
#### Repositories
This module follows the [Repository Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Repositories) guide. The following repositories are defined for this feature:
- `IBlogRepository`
- `IBlogPostRepository`
- `IBlogFeatureRepository`
#### Domain services
This module follows the [Domain Services Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Domain-Services) guide.
- `BlogManager`: Includes some operations for `Blog` aggregate root to keep data consistency.
- `BlogPostManager`: Includes some operations for `BlogPost` aggregate root such as creating & updating.
- `BlogFeatureManager`: Includes some operations for managing blog features.
### Application layer
#### Application Services
##### Common
- `BlogFeatureAppService` _(implements I`BlogFeatureAppService`)_
##### Admin
- `BlogAdminAppService` _(implements `IBlogAdminAppService`)_
- `BlogFeatureAdminAppService` _(implements `IBlogFeatureAdminAppService`)_
- `BlogPostAdminAppService` _(implements `IBlogPostAdminAppService`)_
##### Public
- `BlogPostPublicAppService` _(implements `IBlogPostPublicAppService`)_
### Database providers
#### Entity Framework Core
##### Tables
- CmsBlogs
- CmsBlogPosts
- CmsBlogFeatures
#### MongoDB
##### Collections
- CmsBlogs
- CmsBlogPosts
- CmsBlogFeatures

0
docs/en/Modules/Cms-Kit/Comment-System.md → docs/en/Modules/Cms-Kit/Comments.md

28
docs/en/Modules/Cms-Kit/Index.md

@ -7,11 +7,11 @@ This module provides CMS (Content Management System) capabilities for your appli
The following features are currently available:
* Provides a [**page**](Pages.md) management system to manage dynamic pages with dynamic URLs.
* Provides a [**blog**](Blog-System.md) system to create publish blog posts with multiple blog support.
* Provides a [**tagging**](Tag-Management.md) system to tag any kind of resource, like a blog post.
* Provides a [**comment**](Comment-System.md) system to add comments feature to any kind of resource, like blog post or a product review page.
* Provides a [**reaction**](Reaction-System.md) system to add reactions (smileys) feature to any kind of resource, like a blog post or a comment.
* Provides a [**rating**](Rating-System.md) system to add rating feature to any kind of resource.
* Provides a [**blogging**](Blogging.md) system to create publish blog posts with multiple blog support.
* Provides a [**tagging**](Tags.md) system to tag any kind of resource, like a blog post.
* Provides a [**comment**](Comments.md) system to add comments feature to any kind of resource, like blog post or a product review page.
* Provides a [**reaction**](Reactions.md) system to add reactions (smileys) feature to any kind of resource, like a blog post or a comment.
* Provides a [**rating**](Ratings.md) system to add rating feature to any kind of resource.
Click to a feature to understand and learn how to use it.
@ -33,7 +33,7 @@ GlobalFeatureManager.Instance.Modules.CmsKit(cmsKit =>
});
```
Instead of enabling all, you may prefer to enable the features one by one. The following example enables only the [tags](Tag-Management.md) and [comments](Comment-System.md) features:
Instead of enabling all, you may prefer to enable the features one by one. The following example enables only the [tags](Tags.md) and [comments](Comments.md) features:
````csharp
GlobalFeatureManager.Instance.Modules.CmsKit(cmsKit =>
@ -62,8 +62,6 @@ CMS kit packages are designed for various usage scenarios. If you check the [CMS
CMS Kit module admin side adds the following items to the main menu, under the *CMS* menu item:
* **Pages**: Page management page.
* **Blogs**: Blog management page.
* **Blog Posts**: Blog post management page.
* **Tags**: Tag management page.
* **Comments**: Comment management page.
@ -147,4 +145,16 @@ You can also customize the reaction icons shown in the reaction component.
You can use the rating component to add rating a mechanism to your content. Here how the rating component looks on a sample page.
![ratings](../../images/cmskit-module-ratings.png)
![ratings](../../images/cmskit-module-ratings.png)
## Internals
### Table / collection prefix & schema
All tables/collections use the `Cms` prefix by default. Set static properties on the `CmsKitDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider).
### Connection string
This module uses `CmsKit` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string.
See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details.

0
docs/en/Modules/Cms-Kit/Rating-System.md → docs/en/Modules/Cms-Kit/Ratings.md

0
docs/en/Modules/Cms-Kit/Reaction-System.md → docs/en/Modules/Cms-Kit/Reactions.md

0
docs/en/Modules/Cms-Kit/Tag-Management.md → docs/en/Modules/Cms-Kit/Tags.md

Loading…
Cancel
Save