Que encontrarás aquí

Principalmente intento documentar algunas de las cosas que hago, especialmente aquellas que menos tienen que ver con mi trabajo habitual.

Con ello me resulta más fácil aprender nuevos conceptos o simplemente encontrar más rápido cosas que ya se que he hecho y que no recuerdo exactamente cómo hice.

Si además también te sirve a ti, pues mucho mejor.

Y una última cosa, en cualquier caso, los comentarios son bien recibidos.

Servidor de correo - BreakDown de capitulos

Capítulos La tarea de montar un servidor de correo electrónico desde cero puede ser bastante compleja, y sobretodo, abarca diferentes aspectos, demasiado complejos para ser tratados todos a la vez. Por eso es conveniente dividir y agrupar los pasos a dar, en grupos con una cierta lógica. Los grupos propuestos son: Provisionar una máquina Securizar una máquina Instalar el software principal MySql Postfix Dovecot Certificado Configuracion DNS SPAM (PostGrey y SpamAssassin) Webmail (Round Cube) Utilidad gestión webserver (diferentes queries) Estadísticas (AWSStats) Adicionalmente, hay algunos temas que podríamos denominar “transversales” a todo el proceso de instalación. [Read More]

Securizar una instancia

AWS HVM versus PV SECURIZAR LA INSTANCIA En AWS las instancias de ubuntu se crean con un usuario ubuntu por defecto. Para hacer la máquina algo más segura, vamos a crear un usuario nuevo y eliminar el usuario por defecto. Para ello nos conectamos a la nueva instancia por SSH y vamos desarrollando los siguientes pasos. Crear nuevo usuario Inicialmente creamos el nuevo usuario con el comando adduser (al hacerlo se nos preguntaran algunas opciones). [Read More]

instalar Modulo

Una vez modificados los parametros del proyecto, y antes de empezar a desarrollar, instalo el modulo en el entorno de desarrollo, de esta manera compruebo que todo funciona correctamente antes de empezar a tocar codigo. Para ello es necesario compilar el proyecto en modo “Release”, al menos una vez. Rutas y ficheros Una vez compilado el proyecto, en su carpeta ./DesktopModules/<NombreDelModulo>, Visual Studio a traves de MSBuild, habrá creado una subcarpeta /Install. [Read More]

Espacio de nombres (namespace)

Hay que asegurarse que el espacio de nombres que hemos escogido para el modulo (en mi caso suele ser: Aporta.Modules.<NombreDelModulo>), está actualizado de manera coherente en todo el módulo, y a menudo no es suficiente con las herramientas de refactorización. Ubicaciones a actualizar Código: En general, los cambios en el codigo se podrán (deberán) hacer con las herramientas de refactorización, del propio Visual Studio o externas si las tenemos. [Read More]

System.Runtime.InteropServices.ExternalException when changing default namespace

Problema A la hora de indicar el namespace por defecto, normalmente utilizamos el mismo que los nombres de los ensamblados. Por ejemplo en el caso de módulos para DNN este nombre suele ser Aporta.Modules.<NombreModulo>. En Visual Studio 2013, a la hora de cambiar este ensamblado por defecto, nos puede dar un error System.Runtime.InteropServices.ExternalException. Solución la solución viene en 2 pasos: Hay que cambiar el ensamblado por defecto en el fichero ‘. [Read More]

Entorno de desarrollo para DNN

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. [Read More]

Desarrollo de módulos con DNN

Desarrollo con DNN 3 Hay diferentes cosas a tener en cuenta a la hora de desarrollar módulos a medida para DNN, y tratarlo todo en un solo post seria muy poco práctico, entre otras cosas por el tamaño del contenido. Por lo tanto trataremos el tema como una serie de publicaciones, a las que iré referenciando desde aqui. Básicamente diviremos el tema en los siguiente bloques: Preparar el entorno de desarrollo. [Read More]