Visual Studio

Necesitamos instalar visual studio. Nos sirve con cualquier versión, profesional o no. Personalmente he trabajado con Visual Studio 2013 profesional y con Visual Studio 2015 Express (la versión gratuita de Visual Studio). En ambos casos he podido trabajar correctamente.

Una vez hemos instalado Visual Studio, tenemos que preocuparnos de DotNetNuke o como se llama desde hace un tiempo DNN, y para ver como seguimos, tenemos que responder a una (en realidad alguna más) pregunta.

Equipo de desarrolladores o “solo developer”

A la hora de trabajar con DNN existen básicamente dos maneras de hacerlo:

  1. Trabajando con referencias a las librerias de DNN
  2. Trabajando directamente con el portal instalado

cada una de estas maneras tiene sus ventajas e incovenientes, por lo que es importante escoger la que mejor se adapte a nuestras necesidades. Personalmente, y tras probar con ambas, habitualmente utilizo la segunda, porque es la que me permite desarrollos más rápidos.

Referenciar DNN con NuGET

Para desarrollar un modulo referenciando las librerias de DNN, realmente no necesitamos la instalación de DNN (aunque nos va a ser necesaria/útil para hacer determinadas pruebas). Para trabajar de esta manera, solo necesitariamos las dll de DNN que podemos conseguir directamente de NuGet (podemos encontrar una explicación de las diferentes librerias en este post de Mitchel Sellers en DotNetNuke)

Trabajar en una instancia de DNN

Es la manera ‘tradicional’ de desarrollar módulos, e incluso en los libros de DotNetNuke editados es el método que utilizan. Básicamente consiste en crear un proyecto de Visual Studio en el medio de la instalación de DNN, con las siguientes peculiaridades:

  • El proyecto está en la carpeta DesktopModules
  • Las Dlls producto de nuestro módulo, se generan en la carpeta bin
  • Al pulsar F5 para debugar, realmente lo que haremos es arrancar el portal DNN, en el que está nuestro proyecto

Instalar DNN

Hay que tener una instalación de DNN en la maquina en que desarrollamos, esto permitirá depurar con mayor comodidad. Luego a la hora de desarrollar un módulo nuevo los pasos a seguir son:

  1. Crear un proyecto con las plantillas de DNN
  2. El proyecto debe estar en una instalación de DNN
  3. Lo creamos en la carpeta de DesktopModules

Compilación

Las dll tendrán el nombre del proyecto. Para cambiarlo y hacerlo mas reconocible, utilizamos nuestros propios nombres, que en caso de modulos DNN suelen ser del tipo Aporta.Modules.<nombreModulo>.dll. Para cambiarlo vamos a las propiedades del proyecto, y en Application, tanto en Assembly name: como en Default namespace: informamos el nombre que queremos. Probablemente haya que refactorizar y cambiar el namespace en todo el proyecto (dependerá de si hemos modificado la plantilla de DNN para la creación del proyecto, o no)

Debug

Una vez tenemos el proyecto creado hay que probar que se ejecuta correctamente (todavia no hemos escrito ni una linea de código). Para ello en las propiedades del proyecto, en Web / Start Action, marcaremos la opcion Start Url y en esta informaremos la URL del sitio que tenemos instalado en local, en mi caso http://dnndev.me A partir de ahora, cada vez que pulsemos F5, se abrirá la instalación de DNN.

var messageText = "";
if (Request.IsAuthenticated && string.IsNullOrEmpty(Request.QueryString["runningDefault"]) == false)
{
    var userInfo = HttpContext.Current.Items["UserInfo"] as UserInfo;
    //only show message to default users
    if ((userInfo.Username.ToLower() == "admin") || (userInfo.Username.ToLower() == "host"))
    {
        messageText = RenderDefaultsWarning();
        var messageTitle = Localization.GetString("InsecureDefaults.Title", Localization.GlobalResourceFile);
        UI.Skins.Skin.AddPageMessage(ctlSkin, messageTitle, messageText, ModuleMessage.ModuleMessageType.RedError);
    }
}

Instalación inicial de modulo

Referencias