Simple Content Apps

Simplifies C# based Umbraco Content Apps

Docs Quickstart Umbraco Marketplace License NuGet Downloads

Features

Easy C# Configuration

Define it all in one C# class!

  • Access Rules
  • Name
  • Weight
  • Badge

Language Variant Support

Define culture based names using C# => CultureName(string? currentUiCulture)

You can still use lang files if required.

No Manifest File

No package.manifest or lang/lang.xml files are required to get a Content App up and running.

Versions

Umbraco icon
Umbraco CMS 10

10.0.3

Version 10 Support Policy

Feature updates ended 16/06/2024
Security updates until 16/06/2025
This is a Long Term Support (LTS) version
Umbraco icon
Umbraco CMS 13

13.0.5

Version 13 Support Policy

Feature updates until 14/12/2025
Security updates until 14/12/2026
This is a Long Term Support (LTS) version

Readme

Quick Start

Install Package

dotnet add package Umbraco.Community.SimpleContentApps

Register ContentApp

using Umbraco.Cms.Core.Dashboards;
using Umbraco.Cms.Core.Models.ContentEditing;
using Umbraco.Community.SimpleContentApps.Core;
namespace Umbraco.Community.SimpleContentApps.TestSite;
public class BasicContentApp : ISimpleContentApp
{
public string Icon => Cms.Core.Constants.Icons.Content;
public bool ShowInContent => true;
public bool ShowInContentType => false;
public bool ShowInMedia => false;
public bool ShowInMembers => false;
public IAccessRule[] Rules => new[] { SimpleAccessRule.AllowAdminGroup };
public int Weight => 0;
public string Name => "Basic Content App";
public string? CultureName(string? currentUiCulture) => Name;
public ContentAppBadge? Badge => ContentAppBadges.None;
}

Create View

  • Your view must go in /Views/ContentApps
  • You view must be the name of your C# class (without ContentApp)
    • For example: BasicContentApp.cs => /Views/ContentApps/Basic.cshtml
@using Umbraco.Community.SimpleContentApps.Core.Extensions
@inherits Umbraco.Community.SimpleContentApps.Web.SimpleContentAppViewPage
<h1>Hello Umbraco</h1>
<p>My ContentApp alias is: @Model.ContentApp.Alias()</p>

Extending

docs/examples.md

Contributing

Contributions to this package are most welcome! Please visit the Contributing page.

Acknowledgements (Thanks)