GithubHelp home page GithubHelp logo

anthrax3 / flexdotnetcms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from macdonaldrobinson/flexdotnetcms

0.0 0.0 0.0 110.93 MB

A powerful, flexible, easy to use and Fully Featured ASP .NET CMS

License: Apache License 2.0

C# 42.38% CSS 13.88% ASP 12.86% JavaScript 28.13% HTML 2.75%

flexdotnetcms's Introduction

FlexDotnetCMS

A powerful, flexible, easy to use and Fully Featured ASP .NET CMS

To view the complete developer guide click here: https://github.com/MacdonaldRobinson/FlexDotnetCMS/raw/master/WebApplication/Admin/media/docs/FlexDotnetCMSGuide.docx

Editing

  • FrontEnd Editing: Every field can be edited from the frontend of the website
  • Visual Layout Editor ( Experimental ): Once logged into the cms and browsing the frontend of the website, you can toggle the visual layout editor, which allows you to create, delete, reorder the rows, columns and fields
  • Every time you save a page in the CMS it will automatically create a history version which you can then reload and publish LIVE again.
  • The HTML structure of the page and the Content of the page are clearly seperated and both the Content and the HTML structure for the page can be edited directly in the CMS, there is no need to use a 3rd party editor or to use FTP, this speeds up the time it takes to make changes on the website.
    • Since the HTML structure and the content are clearly seperated you do not need to worry about having the client change any of the HTML structure.
  • Ability to create custom fields with their own unique layouts. You can create new Fields in the CMS directly, no need to hardcode anything in the code behind. The CMS comes with several field types already prebuilt, so you do not even need to know programming inorder to add new fields, however if you do know programming ( Razor Engine Code ) you can program it to do anything you like, you have complete freedom over the HTML that is generated.
  • Ability to modify the layout of all pages with a specific page type or unlink from a page type and create a unique layout for every page. Every page in the CMS has a type, so you can either have it so that it would use the style of the page type, or have it so that it has its own unique layout.
  • When you edit content and save it you can see how it looks right away in the browser panel instead of having to open a new window and browse to the page
  • You can resize the browser panel and see how the site looks in different sizes i.e test responsive layout directly through the cms
  • You can create draft versions for pages which you can reload and edit at anytime
    • You will also get a visual indicator in the site tree besides pages that have a draft version.
    • The following indicators exist: "Will Publish", "Will Expire", "UnPublished", "HasDraft" along with a clock besides them if they are set to auto publish / auto expire

Programming

  • Programming in the CMS is done using C# and using the Razor Syntax
  • Code is compiled and run on the fly using the Razor Engine ( http://antaris.github.io/RazorEngine/ )
  • You have access to the entire framework code, so you can pretty much do anything
  • There are several Database Mappers and Helpers that are included with the framework.
  • You can write Razor Code in any of the layout views in the CMS
  • You can use short codes in any of the layout tabs and fields
  • If you have a more complicated layout for a page or a set of pages of a specific type, you can link to a handler file ( .aspx ) inorder to utilize the power of visual studio. You can open up the blog handler file to see how you can do so: "/Views/MediaTypeHandlers/Blog.aspx"
  • You can automatically execute some razor code when a page is published in the CMS by putting the code in the "On Publish Execute Code" Accordian tab under the Layouts tab for an individual page, or if you want to have the same code execute for all pages of the same type you can put this in the media type layouts section.

Multi Language

  • You can create as many languages in the CMS as you like.
  • Ability to add new languages to each page with ease: You can simply browse to a page and then switch the language and save and publish and your done, you have now created a new language version of the page.

Publishing

  • Ability to automatically publish a page live at a specified date time
  • Ability to automatically take down a page at a specified date time
  • Ability to save as draft, you can come back and make changes to the draft page later, you can even send links to the draft version of the page inorder to get approval, and then push the page LIVE once you are done.
    • You can also set the draft version to automaticly get pushed live at a specified date time.

SEO

  • All pages automaticly get a search engine friendly URL, you have the ability to change the uri segment for the page from the CMS
  • Ability to change the SEO for every page: Page title, Meta Description, Meta Keywords, Link title ( Url Segment for the page )
  • Ability to create 301 or 302 redirects. You can create your own url redirect rules, you can have it so that /oldpage is redirected to /about/contact/

Caching

  • You have 3 levels of caching: Memory Caching, File System Caching and Redis Caching
  • You have control over caching of pages. If you have set all pages to cache, the first time a visitor visits the page, it will generate a cache for that page and the next time the request will load from cache, drasticly speeding up performance.
  • If the page is cached then it bypasses the database connection all together making the load time extreamly fast.
  • If you have the page cached and there is an error connecting to the database, the system will attempt to load that page from cache if it exists.
  • You have the ability to clear the cache of an individual page.
  • Ability to clear all cache

Roles and Permissions

  • Ability to Manage Users and Roles
  • Ability to limit access to a page or a page type ( role based ). Only people that belong to the role can access these pages in the CMS
  • Ability to automatically propigate role limitations to all child pages.
  • You can enforce the role limitations in the frontend as well, so you need to be logged in with appropriate credentials inorder to view these pages in the frontend.

Admin Tools

  • Database Compare Tool: Allows you to compare 2 environments to see what has changed i.e New Pages, New Fields, Different Content etc.
    • NOTE: This will only work if the 2 environments have the same database schema.
  • Database Backup and Restore Tool: Allows you to backup the current database to a folder and displays a list of all backed up files, you can then restore from a backup file.
    • NOTE: This only works if both the web application and the database are on the same server.
  • You can view the email logs from the CMS ( provided the emails were sent using the system its self )
  • You can view the error logs from the CMS

Additional Functionality / Features

  • Built in Blog functionality, including moderated blog posts
  • Built in File Manager with the following functionality:
    • Ability to create, rename and delete folders
    • Ability to create, rename, preview and open files in a new window
    • Ability to move files and folders around by dragging and dropping files and folders onto other folders
  • Ability to Add / Edit / Delete Glossary terms.
  • Ability to Create, Edit, Delete/Recover, Permanently Delete, Hide/Show, Duplicate and Publish/unpublish pages
  • Ability to search for a page based on any field value in the backend for quick access
  • Several prebuilt field types are included which should sute most use cases.
  • Code completion examples are provided to get started with programming in the Layouts tab using C# and the Razor Code syntax.

flexdotnetcms's People

Contributors

julieyma avatar macdonaldrobinson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.