What is a Page? - noogen/phuncms GitHub Wiki

A PhunCMS Page is simply a folder that contain a default file (_default.htm or _default.vash). HTML is just markup composing of other files which makes a lot of sense since folder is a container for files. PhunCMS back-end agnostic architecture also dictate this structure.

Client-side Application (_default.htm)

A client-side Application is basically done with JavaScript and server-side API/WebAPI calls.

Server-side Templating (_default.vash)

PhunCMS provide a secured sandbox for server-side templating with Vash/Razor liked template. This is useful for quick template of things such as bulk email, mid-night modification for client, etc... Even though effort was made to optimize the template rendering engine as much as possible, native Razor templating would still be faster than Vash.

Server-side templating also allow you to write less code because you can provide your own master-page layout and theming. It also natively provide seo friendly URL vs client-side templating where you would need tool such as phantomjs to index your page for seo support.

Server-side Native cshtml (Razor or BYO engine)

PhunCMS provide Razor extension to allow for inline editing of partial content of server-side pages. This mean that it's fully compatible for Razor or any server-side template engine with your MVC project. This is the preferred/optimize templating method.

You have an application that require content to be editable by your user. Content are files and it should be stored on structured file-like system for ease of data management. So instead of storing these different content in the database, you can use PhunCMS to help manage these contents.

Page Manager

This is a client-side application that utilize PhunCMS API to help with the creation of non-native pages. PhunCMS currently do not support dynamic native/Razor(cshtml) template creation. This is meant to be edit inside of your ASP.NET MVC4 project. This is because it would not be very secure to allow client to dynamically update server-side razor template files.