18

Hay aún quien no conoce las útiles y descriptivas guías de Mitchel Sellers, uno de los gurús de DNN que lleva publicadas unas cuantas versiones de su Guía de actualización de DotNetNuke, para llegar a la última versión publicada hasta la fecha, la 4.8.2.

El proceso no ha cambiado demasiado desde versiones anteriores, pero siempre hay anotaciones interesantes: por ejemplo, saber qué actualizaciones intermedias debemos realizar si partimos de una versión más antigua (no es lo mismo actualizar desde 4.7.0 que desde 4.3).

Lo que sigue es una traducción libre de la última edición de la guía...

Esta es la séptima revisión de la Guía de Actualización DNN de Mitchel Sellers, traducida líbremente al castellano. Esta versión de la guía incluye importantes actualizaciones para el trabajo con DNN 4.8.2 y  configuraciones personalizadasde SqlDataProvider. Muchas partes de esta guía de actualización son las mismas que las versiones anteriores, sin embargo, hay algunos elementos nuevos y abundantes pequeños cambios y aclaraciones. Esto es simplemente debido a los limitados cambios que se han producido realmente en la esfera de la actualización de DotNetNuke . Si una nueva versión de DNN ha sido puesto en circulación y no existe una nueva versión de este documento, utilice esta versión ya que tiene más posibilidades de instalar con éxito los cambios!

Comenzando

A pesar de que el proceso de actualización es muy sencilla, y no debería dar lugar a errores críticos, es muy importante que se realice una copia de seguridad COMPLETA (sistema de archivos y base de datos) antes de iniciar la actualización. Tener una copia de seguridad le dará algunas opciones en caso de que surgiese alguna situación donde su portal no funcionase correctamente en la nueva versión de DotNetNuke. Asegúrese de validar la integridad de sus copias de seguridad antes de continuar. Si desea información sobre el modo de copia de seguridad de una instalación de DNN puede ver el tutorial del mismo autor "Copia de seguridad de un sitio DNN y su base de datos".

Una vez que haya completado su copia de seguridad del sitio, deberá descargar el paquete de instalación DotNetNuke 4.8.2 del sitio Web DotNetNuke. Voy a explicar lo que debe hacer con este paso. Para aquellos que han usado mi guías en el pasado óbservarán que he cambiado mi opinión sobre el uso del paquete de instalación / actualización. He encontrado que es más seguro utilizar el paquete "instalar" para hacer la actualización. La principal ventaja de utilizar el paquete de instalación es fundamentalmente que los módulos básicos de DNN se actualizará como parte del proceso de instalación. Normalmente esto sólo incluye el texto / HTML y algunos otros módulos. El único inconveniente en la utilización de este paquete de actualizaciones es que incluye un archivo web.config, debe realizar su copia de seguridad de su web.config existente antes de aplicar el web.config de la actualización, pero este tutorial cubre este proceso en detalle más adelante! Si tiene razones de peso para no utilizar la versión de instalación puede utilizar la versión de actualización, sin embargo, habrá pequeñas diferencias al utilizar ese paquete con esta guía.

Una vez que haya validado su copia de seguridad y descargado la versión más reciente de DNN debería, si así lo quiere, realizar una copia de seguridad de su archivo favicon.ico si tiene un icono diferente al estándar. Recomiendo renombrar temporalmente este fichero a algo así como favicon_site.ico para que no se sobreescriba en el proceso de actualización.

Si su sitio DNN depende de múltiples módulos de terceros, debería hacer una rápida investigación en los sitios de los proveedores para asegurarse de que no se introdujeron cambios que puedan producir malfuncionamiento con esta versión más actual de DNN, o para verificar que no tiene que actualizar también el módulo. El verdadero alcance de este proceso no es algo que yo pueda explicar directamente en el transcurso de esta guía, esta es la razón por la que es importante probar primero y luego hacer la actualización.

El último tema que se debería hacer antes de iniciar el proceso de actualización es crear un archivo "app_offline.htm" . Se trata de un simple documento HTML que puede colocar en su directorio raíz DNN y que pondrá su sitio web OffLine. Esto tiene dos Propósitos: en primer lugar evitar que sus usuarios reciban errores durante la copia de los ficheros y, en segundo lugar, evitar que se dispare el proceso de actualización antes de que los archivos hayan terminado de subirse. Para mis sitios web simplemente pongo un aviso de que el sitio web está temporalmente fuera de servicio debido a mejoras en proceso, ese mismo mensaje será mostrado a todos los visitantes de los portales. Usted DEBE eliminar este archivo antes de activar la actualización, que es la razón por la que se setea a "OFF" el valor de "AutoUpgrade" más adelante en esta guía!

En este momento usted desea probar que el archivo app_offline.htm está trabajando  correctamente, simplemente tratando de navegar a su sitio, usted debe ver el contenido de su archivo app_offline.htm en lugar del contenido de su sitio.

Actualizar cadenas de conexión

Asegúrese de que las cadenas de conexión correctas son establecidas tanto para la sección <connectionstrings>  como para  <appsettings>  de su web.config, ejemplos se proporcionan a continuación. Con esta configuración, recuerde que sólo debe tener un único valor  para cada sección y que No DEBEN ser comentadas!

<connectionStrings>
    

    
<add name="SiteSqlServer" connectionString="<yourconnectionhere>" providerName="System.Data.SqlClient" />
  
connectionStrings>
  
<appSettings>
    
<!-- Database connection string (SQL Server 2000 or 2005 - kept for backwards compatability - legacy modules -->
    
<add key="SiteSqlServer" value="<yourconnectionhere>" />

Deshabilitar AutoUpgrade

Por defecto DotNetNuke se va a establecer con "AutoUpgrade", esto significa que el primer usuario que visite la página default.aspx cuando se han cargado los archivos de actualización, hará que el proceso de actualización comience, presentandole al mismo el registro del estado de la actualización. Este no es, por lo general el comportamiento deseado, ya que si se produce un error podría no ser posible ver el registro de errores desde donde el otro individuo comenzó la actualización. La forma de evitar esto es actualizar la configuración de "AutoUpgrade"  en appSetting, si esta es "false" se le pedirá que vaya a la página <tudominio> / Install / Install.aspx  para comenzar la actualización.

<add key="AutoUpgrade" value="False" />

Copiar valores de Machine Key y Validation Key

Otro tema muy importante es copiar su Machine Key y Validation Key del archivo web.config.old. Estas son las claves utilizadas para encriptar y desencriptar las contraseñas y otra información en su aplicación.  Si se olvida de estos sus usuarios no podrán conectarse al sistema.  Esta clave se encuentra, por lo general, después de la apertura de la etiqueta <system.web> .  A continuación se muestra un ejemplo de la clave de la máquina, los valores que debe copiar son los que se encontrarían en "<VALOR A COPIAR>".

CONSEJO: Si después de la actualización, no puede iniciar sesión en su sitio, ésto es lo primero que debe comprobar!

<system.web>
    
<machineKey validationKey="<VALOR A COPIAR>" decryptionKey="<VALOR A COPIAR>" decryption="3DES" validation="SHA1" />

Copiar sección CodeSubDirectories (si se utiliza)

En función de los módulos que se estén usando en su sitio web podría tener una sección  <codeSubDirectories> dentro de su web.config. Si tienes esta sección y NO está comentada debe estar seguro de copiarla al nuevo web.config, de lo contrario se encontrará con errores en tiempo de compilación y el sitio no se mostrará en pantalla. DotNetNuke añadirá automáticamente esta sección si ha instalado un módulo que usa C # como lenguaje de programación en lugar de VB. Si existe esta sección se trata de un sub-elemento de la sección <compiliation> de su fichero de configuración. A continuación se muestra un ejemplo de lo que esta sección podría ser.

NOTA: Es posible tener varios nombres de directorios listados.

SUGERENCIA: Asegúrese de tener sólo una sección <codeSubDirectories> en su web.config, no copie accidentalmente una segunda sección no comentada ya que dará lugar a error.

<codeSubDirectories> 
   
<add directoryName="sub-directory name"/> 
<
codeSubDirectories>

Copiar la configuración de InstallationDate (si existe)

El último elemento de la configuración estándar que debe ser copiado es la clave InstallationDate. Este se utiliza para identificar el momento de la última instalación, que es una buena idea a pesar de que parece ser un paso opcional de acuerdo a la documentación DNN. A continuación se muestra el formato de la clave, es el que figura en la sección <appSettings>.

NOTA: Si ha instalado dnn 4.5 o superior  este ajuste es más que probable que no exista en su web.config y no debería causar ningún tipo de problema.

<add key="InstallationDate" value="9/21/2006" />


Copiar valores para Object Qualifier y Database Owner (si se utiliza)
 
Si cuando completó su primera instalación de DNN especificó parámetros especiales para el cualificador de objeto y / o propietario de la base de datos en la sección de proveedores, asegúrese de copiar estos valores al nuevo archivo web.config.

Copiar cualquier otra configuración personalizada o añadida a las secciones de configuración

Si tiene cualquier otra configuración personalizada o añadido nuevas secciones a la configuración que se deba agregar al nuevo fichero de configuración de la web en este momento. Una sección que puede comprobar rápidamente es la sección httpRuntime, muchas personas han modificado esta sección para permitir la carga de archivos de mayor tamaño y debería asegurarse de copiar estos ajustes. Otros módulos "especiales" exigen la modificación del web.config para su instalación, si utiliza alguno de éstos módulos aseguresé de copiar sus respectivas configuraciones. Una vez que haya completado esto, es hora para el siguiente y útlimo paso!

CONSEJO: El uso de una herramienta de comparación de archivos podría ayudarle a identificar rápidamente cualquier otra modificación del web.config que necesite actualizar. WinDiff es una aplicación que muchos han señalado de utilidad.

Iniciar el proceso de instalación

Después de completar la configuración, ahora está listo para comenzar el proceso de actualización. Tendrá que eliminar su archivo app_offline.htm si creó uno, para que pueda acceder a su sitio de nuevo. Ahora simplemente navegue  a <sudominio> / install/ install. aspx. Si se muestra  una página  "En construcción" simplemente, inténtelo de nuevo. En mis pruebas con DNN 4.8.2 me di cuenta de que hasta en un par de veces el instalar daría lugar a esta redirección en el primer intento de actualizar. En algunos casos se necesita para tres o cuatro intentos para conseguir hacer que la actualización comience, sólo guarde la precaución de que en su intento adicional de estar tratando de ir a la página install/ install.aspx y no directamente a la página en construcción.

Una vez que aparece la página debe aparecer una pantalla de estado que muestra el progreso de la actualización en el sitio. Al final debería ver un mensaje de actualización completa con un enlace a su portal. No debería ver ningún error en esta página, si ha detectado un error asegúrese de tomar nota de toda la información que se muestra para poder investigar al respecto.

Esta pantalla debe ser similar a la siguiente. (Obviamente mostrando 4.8.2)


Modificar archivos de localización de búsqueda

Un elemento opcional que se recomienda después de actualizar a 4.8.2 es modificar los archivos de localización del control search.ascx para incluir su propio ID de Google Adsense en lugar del de DotNetNuke. Si usted no tiene su propio identificador de AdSense de Google puede obtenerlo desde el sitio web de AdSense de Google. Puede modificar este valor usando el editor de idioma y navegar bajo Admin / Skins / App_LocalResources / Search.ascx.resx. El valor es necesario cambiar es directamente después de la parte de la URL tal como "& client =" . De este modo se puede obtener crédito por los enlaces adsense !

Problemas conocidas de actualización

El único problema conocido de actualización que soy consciente es para los usuarios que tienen activado el proveedor de autenticación de Active Directory.  Si ha habilitado esta funcionalidad en su sitio, tenga cuidado al actualizar ya que es posible que su sitio no esté disponible después de la actualización. Por el foro del proveedor de Active Directory en DotNetNuke.com indica para la solución que se debe instalar la versión del proveedor 01.00.02 ANTES de la actualización.

Actualizaciones Incrementales

Una pregunta común que recibo de la gente es si es seguro actualizar de una sola vez a 4.8.2.

En mi experiencia he encontrado que si se encuentra en una versión < 4.4.1 lo mejor es primero actualizar a 4.4.1,  4.6.2 a continuación, y luego a la versión más reciente. Sé de personas que han tenido éxito con actualizaciones directas, pero he comprobado que es más seguro siguiendo este patrón. Si está actualmente en una versión 4.4.1 y menos de la 4.6.0 yo recomendaría ir a 4.6.2 en primer lugar, entonces luego ir a 4.8.2.

La principal razón de esta recomendación se debe a los grandes cambios en el punto 4.4.1 en relación con el rendimiento del sitio y en la versión 4.6.x y el proveedor de autenticación del sistema.

Comentarios / Sugerencias / Preguntas

Por favor, compartir comentarios y sugerencias a continuación.
Si usted tiene una pregunta sobre un determinado mensaje de error o un error que ha experimentado visita los foros, siéntase libre de realizar comentarios aquí.

Buena Suerte!

Publicado en: Recursos y Tutoriales

Valoraciones

Comentarios

Francisco Pérez Andrés
# Francisco Pérez Andrés
jueves, 24 de abril de 2008 9:35
Gran trabajo, José. He hecho muchas actualizaciones, usando a Sellers como guía, pero no he tenido tiempo para traducirlas.
Carles
domingo, 12 de octubre de 2008 10:43
Fantástico artículo, he actualizado de un tirón de la 04.05.03 a la 04.09.00 sin ningún problema.
Francisco Pérez Andrés
# Francisco Pérez Andrés
domingo, 12 de octubre de 2008 10:58
Pues has tenido suerte, Carles, porque lo mejor es actualizar primero a la 4.6.2, para que ajuste bien el rendimiento de la aplicación.
"Palabra de Mitchell Sellers, te alabamos DNN"

Enviar Comentario

Nombre (obligatorio)

Email (obligatorio)

Sitio web

Imagen CAPTCHA
Escriba el código mostrado más arriba: