Source code for CarrotCakeCMS (MVC)
Welcome to the GitHub project for CarrotCake CMS MVC, an open source c# project. CarrotCake is a template-based MVC5 ASP.Net CMS (content management system) built with C#, SQL server, jQueryUI, and TinyMCE. This content management system supports multi-tenant webroots with shared databases.
Some features include: blogging engine, configurable date based blog post URLs, blog post content association with categories and tags, assignment/customization of category and tag URL patterns, simple content feedback collection and review, blog post pagination/indexes (with templating support), designation of default listing blog page (required to make search, category links, or tag links function), URL date formatting patterns, RSS feed support for posts and pages, import and export of site content, and import of content from WordPress XML export files (tested against versions 2.9, 3.0, 3.4, and 3.5).
Other features also include date based release and retirement of content - allowing you to queue up content to appear or disappear from your site on a pre-arranged schedule, site timezone designation, site search, and ability to rename the administration folder. Supports the use of layout views to provide re-use when designing content view templates.
CarrotCakeCMS Developer Quick Start Guide
Copyright (c) 2011, 2015 Samantha Copeland Licensed under the MIT or GPL v3 License
CarrotCakeCMS is maintained by Samantha Copeland
Install Development Tools
- Visual Studio Community or Express 2013 (ISO VWD 2013 and ISO CE 2013) Professional (or higher) editions OK. VS 2012 mostly OK, the database project won't load, but that's OK because it's just there to maintain a schema history, it is not part of any build event
- SQL Server Express 2008 (or higher/later)
Get the Source Code
Go to the repository in a browser
Download either a GIT or ZIP archive or connect using either a GIT or SVN client
Open the Project
Start Visual Studio 2013
Open CarrotCakeMVC.sln solution in the root of the repository
Note: If your file extensions are hidden, you will not see the ".sln" Other SLN files are demo widgets for how to wire in custom code/extensions
Edit Web.config under CMSAdmin root directory (this coresponds to the CMSAdminMVC project)
- In the connectionStrings section, configure the CarrotwareCMSConnectionString value to point to your server and the name of your database. Note: the credentials require database owner/dbo level as it will create the database artifacts for you.
- In the mailSettings, configure the pickupDirectoryLocation to a directory on your development machine (for testing purposes).
Right-click on CMSAdminMVC and select Set as StartUp Project
Right-click on CMSAdminMVC and select Rebuild. The project should download all required NuGet packages and compile successfully
There may be some warnings, you can ignore them
The SQL Server database should be running and an empty database matching the one specified in the connection string. If you are running the code a second or later time, it will auto update if there are schema changes.
if the database is empty or has pending database changes, you will be greeted with a maintenance screen, follow the link provided.
The first time you start up the website, it will create the required artifacts in the database (tables/views/sprocs etc.)
Click the Play button in the main toolbar to launch CarrotCakeCMS
When you run the website with an empty user database, you will be prompted to create the first user
Once you have created a user, you can go to the login screen, enter the credentials
After successfully logging in, you can create and manage your new website.
For additional information on how to use CarrotCakeCMS, please see the CarrotCakeCMS Documentation.