Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Module: CMS Kit / Prepare the initial solution #4743

Closed
hikalkan opened this issue Jul 13, 2020 · 5 comments · Fixed by #4750
Closed

New Module: CMS Kit / Prepare the initial solution #4743

hikalkan opened this issue Jul 13, 2020 · 5 comments · Fixed by #4750

Comments

@hikalkan
Copy link
Member

hikalkan commented Jul 13, 2020

Introduction

CMS Kit (CmsKit) is a new module idea that contains CMS (Content Management System) components. It is not a CMS application, but actually a CMS framework or component set.

Some of the planned components are;

  • Reactions (thumbs up, smile... etc.)
  • Rating
  • Comments
  • Tags
  • Favorites

These components are entity independent and provides reusable widgets. For example, you can add a "comment" or "tag" functionality to an image gallery or a blog post.

This is currently experimental and you are free to comment on this issue for your ideas.

This issue is to create the initial solution structure for the development.

TODO

Switch to Local Framework References

  • We should change project references to the local framework, instead of NuGet package references.

Change the Solution Structure

  • host
    • (keep current projects)
  • core
    • Volo.CmsKit.Domain.Shared
    • Volo.CmsKit.Domain
    • Volo.CmsKit.EntityFrameworkCore
    • Volo.CmsKit.MongoDB
  • public
    • Volo.CmsKit.Public.Application.Contracts
    • Volo.CmsKit.Public.Application
    • Volo.CmsKit.Public.HttpApi
    • Volo.CmsKit.Public.HttpApi.Client
    • Volo.CmsKit.Public.Web
  • admin
    • Volo.CmsKit.Admin.Application.Contracts
    • Volo.CmsKit.Admin.Application
    • Volo.CmsKit.Admin.HttpApi
    • Volo.CmsKit.Admin.HttpApi.Client
    • Volo.CmsKit.Admin.Web
  • unified
    • Volo.CmsKit.Application.Contracts
    • Volo.CmsKit.Application
    • Volo.CmsKit.HttpApi
    • Volo.CmsKit.HttpApi.Client
    • Volo.CmsKit.Web

Additional Info

  • Unified packages are shortcut to add admin+public. They don't have their own functionality (so, they are meta packages).

Apply Module Standards

  • Root namespaces should be empty. So, re-arrange folders & files.
  • Configure Fody.
  • Configure common.props
  • ...
@wakuflair
Copy link
Contributor

I'm excited to see this.

I think the key of a CMS is to be able to handle dynamic content flexibly. Users should easily define a content (blog, questionnaire, webpage, etc.) without hardcode.

So is there anything you can share about dynamic content management?

@gdlcf88
Copy link
Contributor

gdlcf88 commented Jul 13, 2020

It is not a CMS application, but actually a CMS framework or component set.

https://github.com/maliming/Owl.GeneralTree may be a good example, it provides a standard entity structure, repository, UI component, and more.

CMS Kit is a great and important infrastructure for application module development. After I knew this plan, I stopped the development of application modules that depend on CMS Kit's features. I hope it will be released earlier. 😃

@1d0n7kn0w
Copy link
Contributor

There is already an in-progress CMS module https://github.com/EasyAbp/Cms/
It would be wise to combine efforts and learn from what has been done

@gdlcf88
Copy link
Contributor

gdlcf88 commented Jul 13, 2020

There is already an in-progress CMS module https://github.com/EasyAbp/Cms/

EasyAbp.Cms is an application module, not a CMS framework or component set and it is a backlog for now. I'd like to continue to develop this module with the CMS Kit after it's released.

@NecatiMeral
Copy link
Contributor

Looking forward for the favourites widget!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants