Home
Softono
CarrotCakeCMS

CarrotCakeCMS

Open source MIT C#
24
Stars
15
Forks
0
Issues
2
Watchers
1 week
Last Commit

About CarrotCakeCMS

CarrotCakeCMS is an open source template-based Content Management System built on the ASP.NET WebForms framework using C and SQL Server. It provides an intuitive WYSIWYG and drag-and-drop editing experience powered by jQuery and TinyMCE, allowing users to manage content without advanced coding skills. The system supports multi-tenant environments with shared webroots and databases and operates effectively in medium trust hosting configurations. Key features include a robust blogging engine with configurable date-based URLs, support for categories and tags, RSS feed generation, and import capabilities from WordPress XML files. It offers content scheduling for release and retirement, site-wide search functionality, user feedback collection, and flexible layout views for template reuse. The administration folder name is customizable, and the platform includes tools for importing and exporting site content. Suitable for developers and organizations seeking a stable .NET CMS, it requires Visual Studio and SQL Serv

Platforms

Web Self-hosted Windows

Languages

C#

CarrotCakeCMS (WebForms)

Source code for CarrotCakeCMS (WebForms), ASP.NET Framework 4.5

Welcome

Welcome to the GitHub project for CarrotCake CMS (WebForms), an open source C# project. CarrotCake is a template-based WebForms ASP.NET CMS (content management system) built with C#, SQL Server, jQueryUI, and TinyMCE, providing an intuitive WYSIWYG/drag-and-drop edit experience. This content management system supports multi-tenant webroots with shared databases.

If you have found this tool useful please contact us.

Source code and documentation is available on GitHub and SourceForge. Documentation and assemblies can be found here.

[!IMPORTANT] Notice for Upgrading from .NET 3.5 to .NET 4.5

The application has been officially upgraded to .NET 4.5. Legacy builds (version 4.5 and earlier) used .NET 3.5. Please be aware of the following before running the new code against existing data:

  • Irreversible Database Upgrade: Running the application will automatically and irreversibly upgrade your database schema.
  • Password Resets Required: Due to security provider updates, existing passwords will be invalid. All users must perform a password recovery/reset.
  • Backup First: Ensure you have a full database backup before deploying this version.
  • IIS AppPool: Update the AppPool used by the website(s) to use 4.0 instead of 2.0, or create a new .NET 4.0 app pool to be used only by .NET 4.5 applications.

[!IMPORTANT] Database Usage Notice

  • Automatic Schema Updates: Running the application against an existing database will automatically attempt to update schema artifacts.
  • Backup First: Always ensure you have a full database backup before running a new version of the code.
  • No Database Sharing: Do not share a single database between the Core, MVC 5, and WebForms editions of CarrotCakeCMS.

Features

Some features include: blogging engine, configurable date-based blog post URLs, 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 for search and category/tag links), URL date formatting patterns, RSS feed support for posts and pages, import/export of site content, and import from WordPress XML files.

Other features also include date-based release and retirement of content, site time-zone designation, site search, and the ability to rename the administration folder. It also supports the use of layout views to provide re-use when designing content view templates.


CarrotCakeCMS (WebForms) Developer Quick Start Guide

Copyright (c) 2011, 2026 Samantha Copeland Licensed under the MIT or GPL v3 License

CarrotCakeCMS is maintained by Samantha Copeland

Install Development Tools

  1. Visual Studio Community/Express/Pro/Enterprise (ISO VWD 2013, ISO CE 2013, or ISO CE 2015) Professional (or higher) editions OK. Typically being developed on VS 2022 Enterprise or VS 2019 Express. Legacy versions (VS 2012–2017) are supported, though the database project may not load in older editions; this is expected and does not impact the core build.
  2. SQL Server Express 2008 (or higher/later) - Currently vetted on 2008, 2012R2, and 2016 Express.
  3. SQL Server Management Studio (SSMS) - Required for managing the database.

Get the Source Code

  1. Go to the repository (GitHub or SourceForge) in a browser

  2. Download either a GIT or ZIP archive or connect using either a GIT or SVN client

Open the Project

  1. Start Visual Studio

  2. Open the CarrotwareCMS.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

  3. Edit Web.config under the CMSAdmin root directory (this corresponds to the CMSAdmin project)

    • In the connectionStrings section, configure CarrotwareCMSConnectionString to point to your SQL Server and database name. Note: The user account requires db_owner permissions as the application will automatically create (or update) necessary database artifacts.
    • In mailSettings, configure pickupDirectoryLocation to a valid directory on your development machine for local email testing.
  4. Right-click on CMSAdmin and select Set as StartUp Project

  5. Right-click on CMSAdmin and select Rebuild. The project should download all required NuGet packages and compile successfully

    Note: You may see some compilation warnings; these can generally be ignored.

  6. SQL Server should be running with 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 (see dbo note above). Do not share a database between the Core, MVC 5, and WebForms editions.

  7. If the database is empty or has pending database changes, you will be greeted with a maintenance screen; follow the link provided.

  8. The first time you start up the website, it will create the required artifacts in the database (tables/views/sprocs etc.)

  9. Select the run mode (e.g., IIS Express) and click the Play button (or hit F5) to launch CarrotCakeCMS

  10. When you run the website with an empty user database, you will be prompted to create the first user

  11. Once you have created a user, you can go to the login screen, enter the credentials

  12. After successfully logging in, you can create and manage your new website

Using CarrotCakeCMS (WebForms)