PiranhaCMS / piranha.core

Piranha CMS is the friendly editor-focused CMS for .NET that can be used both as an integrated CMS or as a headless API.
http://piranhacms.org
MIT License
1.93k stars 550 forks source link

Create Website Builder / CMS packages #467

Open tidyui opened 5 years ago

tidyui commented 5 years ago

Piranha itself focuses a lot on structuring and managing content and very little on how the content is actually used. This gives a very flexible framework but is also a bit limiting in what tools you can actually provide for website building without breaking the core concept.

The idea with this issue is to create one or several packages that can be added on top of Piranha to provide a more "classic" CMS experience. In some ways it will probably be more limited in terms on what you can do, but on the other hand it will boost productivity and reduce startup times for projects. As these packages will be optional components you will still be able to use Piranha the way you do now if you prefer to.

We want you all to provide feedback, thoughts and ideas on features that would be key to this kind of functionality.

Possible functionality

Theme support

The possibility to install pre-made themes and develop packaged themes of your own. What exactly should be in the scope of a theme will be specified later.

Widget support

Add a new content type for widgets, i.e small blocks of information that can be inserted at either site global, page or post specific positions in the layout.

More web oriented fields & blocks

A bigger variety of fields and blocks to support web oriented content, for example:

Structure

This would be developed as add-on packages to the functionality that currently exists in Piranha. Preferably it will have its own versioning and release schedule.

renekaiser commented 5 years ago

As you wrote, Piranha‘s focus is structuring and managing content. And it provides good ways to use that content in own applications/sites. I think thats the reason why for that project and you should keep the focus on that. (There are so many CMS on the web, which theming etc.)

So I would just pick the "add more basic blocks" topic from your list

jurjen74 commented 5 years ago

I think heavy UI components will give less flexibility to customize. For me the reason I chose Piranha, is the ability to do the front end myself. So for me the focus should be more standard blocks and documentation.

bbqchickenrobot commented 5 years ago

As for theming - I would say hold off on this unless the flexibility that Piranha offers wouldn't be affected. I am definitely for these two options however:

**

**1. Widget support

  1. More web oriented fields & blocks**

** Especially the 'More web oriented fields & blocks....

tidyui commented 5 years ago

The whole idea @bbqchickenrobot is that this whole feature will just be another optional layer distributed as its own NuGet package. This way, if you use everything you could for example get theme support, but of course it would make it less flexible. On the other hand if you don't want it you don't have to use it :)

devantler commented 5 years ago

I would love this! As long as it is optional it doesn't bother those who do not find it needed, but for new projects (or users of piranha), that would be a godsend. I'm using Piranha mostly for simply (but well designed) bootstrap components, and not having to implement them in a new project would make piranha a much more productive tool in my situation. I also have trouble implementing a way to change theme for multisite-setup, but im not sure if that is because i dont understand how to add global variables to config yet, or if that is even possible. So a easier way to do that would be awesome aswell.

I wouldn't mind helping out with additional bare-bone blocks (no-styling) either, i need to make most of them anyways :-)

daudirsch commented 4 years ago

I think it's a fantastic idea. This would really help simplify the process to get a site going as well as keeping piranha as flexible as it is today.

jensbrak commented 3 years ago

An excellent idea in my opinion. Piranhas best features are also its most limiting factors. The extensibility versus ready made functionality. Some ideas on what could be added or improved as optional functionality (in addition to what has been mentioned):

I guess these examples are quite ambitious, especially since they would require maintenance to work with future updates on both the Piranha framework as well as any external dependencies introduced. See them as ideas that might affect the design of the Piranha framework and its future features - rather than feasable idease to implement.

Templates for visuals would be one of the better additions imho. That would separate (and maybe "parameterize") the visual design of a new Piranha site from its content. I know I would feel Piranha to be more of a CMS if there would be the concept of a template to add, modify or even download from a community site.