Como crear una solución Sitecore 8 MVC de ceros

Ricker Silva
Ricker Silva
Published in
3 min readJul 15, 2015

--

De nuevo seguimos con MVC y con lo básico. Es importante saber cómo empezar y no enredarse en esas cosas desde el principio. Todos conocemos esa sensación de pasar por un workshop, ver cómo todo funciona y luego al estar solos frente a la pantalla fosforescente darse cuenta que nada es como parecía.

Sitecore 8 ahora tiene un nuevo pipeline para peticiones que soporta MVC. Para poder crear una solución MVC ellos han publicado este tutorial pero a mi no me funcionó. Así que con el equipo que tenemos en la oficina, el apoyo de Mauricio y la paciencia de Stiven, nos dimos a la tarea de hacer una solución de ceros MVC para Sitecore 8 y acá está el resultado.

Para empezar, es importante revisar el post anterior para crear soluciones ASP.NET Web Forms para Sitecore 8 y tomar nota de las librerías que se deben referir en el proyecto web. La diferencia es que ya no vamos a crear una proyecto tipo Sitecore Project sino un Proyecto ASP.NET Web Application de Visual Studio, con la plantilla vacía y con las carpetas y referencias de MVC. Si se crea un proyecto con la plantilla MVC, visual Studio va a crear un proyecto completo, con login, home, y un montón de cosas que en el momento no se necesitan.

Una vez tengamos el proyecto web MVC vacío y con las librerías de Sitecore referidas, podemos seguir adelante configurando la solución.

Creamos la conexión al sitio Sitecore en Sitecore Rocks y enlazamos el proyecto: Click derecho sobre el proyecto en el Solution Explorer, luego Sitecore, luego Project Properties y en el documento que se abre elegimos la conexión que creamos al sitio. Esto permitirá que Sitecore Rocks haga un par de cosas por nosotros y nos podamos concentrar en lo que más importa.

Ahora hay que reinstalar las librerías de MVC si no son de la misma versión que Sitecore. Esto puede ser un poco engorroso o incómodo para los que trabajamos sólo con las versiones más recientes pero hagamos de tripas corazón esta vez. Otros se sentiran muy a gusto. Para instalar esas librerías se ejecuta el siguiente comando

Install-Package Microsoft.AspNet.Mvc -Version 5.1.0

En la Package Manager Console.

Luego creamos el archivo de configuraciones de la solución para emular la estructura de los proyectos Sitecore. En este archivo se registrarán los cambios que necesitemos en el web.config. Para eso se crean las carpetas App_Config/Include en el proyecto y adentro un archivo llamado [Nombre del proyecto].config con e siguiente contenido:

<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<system.web>
</system.web>
</configuration>

Para que el archivo web.config de la solución no sobreescriba el del sitio Sitecore, pero mantengamos la referencias para la solución, se debe configurar la propiedad Build Action del archivo en None.

En la carpeta Views del proyecto, hay un archivo config que hay que modificar. En la llave host dentro de system.web.webPages.razor cambiamos la versión a 5.1.0.0 para que coincida con la del MVC instalado, así:

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

Y en la lista de namespaces, más abajo en el mismo archivo, agregamos los siguientes:

<add namespace="Sitecore.Mvc" />
<add namespace="Sitecore.Mvc.Analytics" />

Finalmente hay que quitar el archivo Global.asax para no ir a sobreescribir el de Sitecore.

Compilamos y creamos el perfil de publicación, como se explicó en el post anterior.

A partir de ahí, se puede empezar a crear un layout base para el proyecto. Usando las mismas convenciones de MVC como una carpeta Shared para las vistas compartidas o maestras, usar vistas parciales y controladores. Pero ese es un tema que aún no exploro dentro del universo Sitecore y en su momento pondré alguna ayuda.

--

--

Visualización de las jóvenes y las mujeres en el sector nuclear y sus aplicaciones en Colombia