Orchard Core con NuGet package

Cosa è Orchard Core?

Orchard Core è un framework applicativo aperto basato sulla comunità per la costruzione di applicazioni modulari e multi-tenant su ASP.NET Core. Orchard Core include anche Orchard Core CMS, un sistema di gestione dei contenuti web (CMS), che si basa su Orchard Core Framework. Permette di costruire siti web completi, o siti web senza utilizzando GraphQL.

Utilizzare Orchard Core nel proprio progetto Visual Studio

In questo articolo, vediamo come far funzionare Orchard Core in un progetto web installando i pacchetti via NuGet nella nostra soluzione. Questo approccio consente di scegliere quali aspetti della funzionalità si desidera utilizzare e quali si sceglie di tralasciare.

Come prima cosa occorre creare un progetto web in visual studio, quindi apriamo visual studio e creiamo una nuova ASP.NET Core Web Application facendo attenzione a selezionare il tipo di progetto Empty seleionando il .Net Core relativo alla versione di Orchard che si intende installare, quindi Core x.x

Nuovo progetto .Net Core

 

Empty .Net Core Project

Una volta terminato proviamo a fare una build del progetto… ed ora che abbiamo un progetto web esistente possiamo isntallare il package via NuGet.

 Installare Orchard Core via NuGet package

Tasto destro sulla soluzione Manage NuGet Package… Inseriamo nella ricerca OrchardCore.Application.CMS.Targets.

Visto che Orchard Core è ancora in beta se non si seleziona include prerelease non troverete il pacchetto.

Quindi selezionare e installare.

Durante l’installazione vi verrà chiesto di confermare alcuni aspetti, confermate ed andate avanti.

Configurare la nostra web app per usare Orchard Core

Aprire il file Startup.cs ed aggiungere la seguente riga nel metodo ConfigureServices

services.AddOrchardCms();

Nel metodo Configure fare il replace delle seguenti righe

app.Run(async (context) =>
{
  await context.Response.WriteAsync("Hello World!");
});

con il seguente codice

app.UseOrchardCore();

In modo da avere i due metodi così composti (nel mio caso)

public class Startup
 {
   // This method gets called by the runtime. Use this method to add services to the container.
   // For more information on how to configure your application
   public void ConfigureServices(IServiceCollection services)
   {
     services.AddOrchardCms();
   }

   // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
   public void Configure(IApplicationBuilder app, IHostingEnvironment env)
   {
     if (env.IsDevelopment())
     {
       app.UseDeveloperExceptionPage();
     }

     app.UseOrchardCore();
   }
 }

Siamo pronti! Ora possiamo fare un build ed eseguire il progetto.

Configurare il nostro progetto Orchard Core

Un volta finita la compilazione ci trovaremo avanti ad una schermata simile, dove possiamo definire le info relative al nostro progetto e il tipo di Recipe che consente di configurare il sito con ulteriori opzioni, funzioni e impostazioni preconfigurate, già pronte per l’uso.

  • Empty Recipe:
  • Blog Recipe:
  • Agency Recipe
  • ComingSoon Recipe
  • SaaS Recipe

Setup Orchard Core

Empty Recipe

Consente di gestire i contenuti ma non imposta un tema (Utile quando si vuole creare il proprio tema):

  • Funzionalità di gestione dei contenuti
  • Abilita i template via liquid
  • Attiva il tema Admin

Blog Recipe

Stabilisce una serie di tipi di contenuti, e widget, il contenuto iniziale, e imposta il tema del blog basato su Bootstrap:

  • Funzionalità di gestione dei contenuti
  • Tipi di contenuto relativi ai blog e widget
  • Un blog, e un primo post sul blog
  • Template liquid, nel codice sorgente del tema Blog
  • Bootstrap

Agency Recipe

Stabilisce una serie di tipi di contenuti, e widget, il contenuto iniziale ed imposta il tema Agency:

  • Funzionalità di gestione dei contenuti
  • Tipi di contenuti e widget relativi all’agenzia
  • Una LandingPage, basata sulla BagPart
  • I template liquidi, nel codice sorgente del tema e la funzione Templates
  • Bootstrap

ComingSoon Recipe

Stabilisce una serie di tipi di contenuto, e Widget, e il contenuto iniziale del tema ComingSoon. Include anche e-mail, Recaptcha, moduli, flussi di lavoro e moduli di registrazione utente:

  • Funzionalità di gestione dei contenuti
  • Una pagina di destinazione Coming Soon, utilizzando la FlowPart, e il modulo Widget
  • Modello di layout liquido,nel codice sorgente del tema ComingSoon
  • I template di contenuto liquido memorizzati nel database con le caratteristiche dei modelli
  • Bootstrap

SaaS Recipe

Saas include un Software come configurazione multi locazione di servizio.

Esso configura il sito per utilizzare il Theme, e si è quindi in grado di creare Tenants utilizzando una qualsiasi delle altre ricette:

  • Funzione multi-tenancy
  • Razor home page e Layout con bootstrap e jQuery

Per maggiori informazioni si può consulatere la documentazione id Orchard Core https://docs.orchardcore.net/en/dev/