Find out how to use Cloudy
Read our documentation to find out about architecture and how to get the most out of Cloudy. Missing anything or just want to chat, feel free to contribute on GitHub or reach out

Architecture
The core solution consists of two packages: Cloudy.CMS
and Cloudy.CMS.UI
.
The package Cloudy.CMS.UI
contains the actual graphical user interface (the "Admin"). There are really no usable API's in this package, except the initialization code that goes into your Startup.cs
or equivalent.
The more fundamental package Cloudy.CMS
contains:
- Data model support classes (interfaces, attributes for your data models like
INameable
) - MVC support classes (routing, model binding)
- Naming support classes (pluralizing, humanizing etc)
- Other support classes (entity reference generation, json serialization for EF)
There is also a Azure Media Picker package, called Cloudy.CMS.UI.AzureMediaPicker
.
Augmenting your data model
When having created your EF data model, you don't really have to do anything special to make it show up in Cloudy. Make sure you got the Cloudy initialization setup correctly, and add your DbContext
with its DbSet
s.
There are however a few ways of augmenting and customizing the scaffolded UI.
Augmenting your classes
- Add
INameable
to make the name of your content be used purposefully in the UI - Add
IImageable
to make your content show an image preview next to it, where applicable
To be documented: [Singleton]
Augmenting and customizing your properties
You can use UIHint
on your properties to set the Razor partial being used to render your control.
// will load mypartial.cshtml
[UIHint("mypartial")]
public string Property { get; set; }
To be documented: [Display], [ListFilter], [ListColumn], [CloudyIgnore], [Select], [MediaPicker]
To be documented
- Routing. Incl Model Binding, Polymorphism
- UI walkthrough
- Authentication
- Existing edit partials
- Existing listing column partials
- Supported property types