Syntax Highlighter

lunes, 28 de mayo de 2012

DNN Goes Social: evento en directo de DNN 6.2

62--icnEste miércoles 30 de Mayo, en vivo y en directo de 17:00 a 18:00 (GMT+0) a través de streaming podrás asistir a la presentación de DotNetNuke 6.2 de la mano de Shaun Walker, CTO y cofundador de DotNetNuke Corporation y Will Morgenweck, Director de Producto de DotNetNuke.

Register

Durante la sesión, Shaun presentará la visión de DotNetNuke y el roadmap para la fusión de colaboración en redes sociales con la gestión de contenidos web. Morgenweck demostrará cómo se pueden usar las nuevas características de colaboración social para desplegar comunidades sociales en línea.

La última versión de DotNetNuke 6.2, provee de un completo conjunto de herramientas que te permiten diseñar, desarrollar y desplegar soluciones de colaboración social. En esta última versión, las herramientas de colaboración social se han integrado en el framework, haciendo más fácil que nunca construir sitios web altamente funcionales que dan el poder de participar en comunidades interactivas, formar relaciones online, publicar perfiles ricos y comunicarse a través de fuentes de actividad, grupos sociales, foros y mensajes privados.

En esta sesión aprenderás sobre:

  • Nuevas funcionalidades en DNN 6.2
  • Cómo DNN 6.2 puede ayudar a convertir a tus clientes en defensores de tu negocio
  • Cómo DNN 6.2 te facilita desplegar intranets sociales que fomentan la colaboración dentro de tu organización
  • Cómo usar la completa suite de herramientas sociales para desarrollar y desplegar soluciones de colaboración en línea
  • Acerca de la visión de DotNetNuke y Roadmap de producto
DotNetNuke 6.2 Goes Social

Convertir tus sitios web en redes de colaboración social se va a convertir en un juego de niños. ¿Cuándo estará disponible? Fácil, el 2 de Junio (el 6/2 en formato americano).

Que lo disfrutéis.

sábado, 5 de mayo de 2012

Limpiar el esquema de una base de datos en SQL Azure tras las instalación fallida de un módulo DNN

database-cleanUna de las tareas comunes a la hora de adaptar un módulo de DotNetNuke para que sea compatible con Windows Azure, es la de adaptar los scripts de SQL de instalación para que puedan ejecutarse sobre SQL Azure. Con esta adaptación probablemente tenemos el módulo adaptado al 100%, ya que el resto del módulo debería funcionar del mismo modo en Windows Azure como en cualquier otro IIS hospedado fuera de la plataforma.

Al intentar realizar la instalación de un módulo para comprobar si funciona correctamente, probablemente nos encontremos con un problema en algún paso de la creación del esquema en SQL Azure, y en el que si estos scripts no están bien diseñados con sus correspondientes “Rollbacks”, pueden dejarnos objetos “basura” en el esquema de nuestra base de datos. Si intentamos volver a instalar el módulo, resulta que dará más problemas ya que estos objetos ya existen.

A continuación dejo un script de SQL para eliminar todos los objetos relacionados con un módulo, si es que éste se ha diseñado siguiendo las buenas prácticas de creación de módulos de DotNetNuke (todos los objetos comienzan por el nombre del módulo “<nombreModulo>_<nombreObjeto”, excepto las vistas que siguen la nomenclatura “vw_<nombreModulo>_nombreVista”.

En el ejemplo siguiente, el nombre del módulo es “mymodule”, palabra de búsqueda que debe ser reemplazada por el nombre del módulo en cuestión.

DECLARE @name varchar(250)
DECLARE @type varchar(10)
DECLARE @searchword varchar(250)
DECLARE @command VARCHAR(2000)

SET @searchword = '%mymodule_%'

DECLARE objects_cursor CURSOR FOR
(
SELECT name, type
FROM sys.objects
WHERE name LIKE @searchword
AND (type IN ('U', 'P', 'FN', 'V', 'TF'))
)

OPEN objects_cursor

FETCH NEXT FROM objects_cursor
INTO @name, @type


WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @command =
CASE @type
WHEN 'P' THEN 'DROP PROCEDURE ' + @name
WHEN 'U' THEN 'DROP TABLE ' + @name
WHEN 'FN' THEN 'DROP FUNCTION ' + @name
WHEN 'TF' THEN 'DROP FUNCTION ' + @name
WHEN 'V' THEN 'DROP VIEW ' + @name
ELSE ''
END

IF (@command <> '')
BEGIN
PRINT 'Dropping ' + @name + '...'
EXEC (@command)
END
ELSE
BEGIN
PRINT 'WARNING: ' + @name + ' will not be deleted'
END

FETCH NEXT FROM objects_cursor
INTO @name, @type
END
CLOSE objects_cursor
DEALLOCATE objects_cursor



Espero que sirva de ayuda. Un saludo.

Related Posts Plugin for WordPress, Blogger...