::::
::Español :: Bitácora del Dúnadan
Module Border Module Border
  Categorías   Minimize

Module Border Module Border
Module Border Module Border
  Renata   Minimize

Module Border Module Border
Module Border Module Border
  Buscar   Minimize

Module Border Module Border
Module Border Module Border
  Archivo   Minimize

Module Border Module Border
Module Border Module Border
  New_Blog   Minimize

Module Border Module Border
Module Border Module Border
  BloG de Dúnadan  

Author: Dunadan Raptor Created: Wednesday, February 15, 2006
Cada día algo pasa... cada día queda algo para recordar...

By Dunadan Raptor on Sunday, April 22, 2007

La primera foto de el o ella.... Seis semanas ahora... Alrededor del 14 de Diciembre tomaré una foto de mi segund@ hij@ frente a frente.

más Sánchez

By Dunadan Raptor on Saturday, April 14, 2007

En la versión 4.5 de Dotnetnuke es increíblemente fácil actualizar un módulo de Dotnetnuke para que funcione con AJAX. En esta entrada se describe las dos maneras de aplicar AJAX en módulos Dotnetnuke.

Usando Control Definitions
Suponiendo que el servidor web en el que corre Dotnetnuke tiene AJAX instalado, al habilitar un control específico de un módulo para usarlo, el módulo completo es envuelto en un UpdatePanel. Esto se logra de dos maneras:

1) Al instalar el módulo agregar en el nodo Control este valor:

<code><supportspartialrendering>true</supportspartialrendering></code>

 2) Con el módulo instalado ingresar a Host>Module Definitions>, seleccionar el módulo deseado y seleccionar el control para el que se habilitará AJAX y marcar el campo Supports Partial Rendering.

Cuando Partial Rendering está habilitado, se puede aprovechar la librería de AJAX de Microsoft y el Control Toolkit de Microsoft.

Para probar con un ejemplo simple, en una página con un par de controles de etiqueta (Label) y un Botón. La segunda etiqueta y el botón dentro de un UpdatePanel, la primera etiqueta fuera.

Luego, agregar un evento click vacío Click al Button, un timer y una actualización a los datos de las etiquetas.

<code>

System.Threading.Thread.Sleep(3000)

Label1.Text = DateTime.Now()

Label2.Text = DateTime.Now()

</code>

Al hacer click, la hora solo se actualizará la etiqueta que está dentro del panel y la otra permancerá sin cambios.

El desarrollador al control
Hay que recordar que solo puede existir un objeto ScriptManager en cada página, como Dotnetnuke es en realidad una página, lógicamente la responsabilidad de agregarlo dinámicamente debe recaer en el framework y no en los módulos. De eso precisamente se encarga la clase Dotnetnuke.Framework.Ajax. La clase presenta ocho métodos:

  1. AddScriptManager: usada internamente por el framework para agregar un control ScriptManager a la página.
  2. ContentTemplateContainerControl: Devuelve una referencia al control ContentTemplateContainer dentro de un UpdatePanel
  3. CreateUpdatePanelControl: crea una instancia de un control UpdatePanel de manera dinámica en la página
  4. IsInstalled: Retorna un valor de tipo boolean para determina si AJAX se ha instalado en el servidor.
  5. RegisterScriptManager: se usa para instruir al framework que AJAX es requerido para la página.
  6. RemoveScriptManager: Remueve el control ScriptManager durante el evento de Page Render si el método RegisterScriptManager no fue llamado.
  7. ScriptManagerControl: devuelve una referencia al control ScriptManager de la página.
  8. SetScriptManagerProperty: asigna valores a las propiedades del control ScriptManager usando reflection.

Usando IsInstalled() es posible determinar si AJAX se encuentra instalado en el servidor, al combinarlo con RegisterScriptManager se podrá instruir a Dotnetnuke que agregué el control ScriptManager para que el control del módulo puede acceder a Ajax. De esta manera el resultado del ejemplo anterior es exactamente el mismo sin necesidad de habilitar partial rendering en el control.

<code>If DotNetNuke.Framework.AJAX.IsInstalled() Then

DotNetNuke.Framework.AJAX.RegisterScriptManager()

'Do some stuff

End If

</code>

By Dunadan Raptor on Wednesday, March 21, 2007

Ayer acabé de grabar el retorno de RockAndBol, un programa de cobertura al rock boliviano, en este 2007. El programa fue conducido toda la segunda temporada exclusivamente por el Único Pato al Aire. Con él, se consolidó el nombre y la producción.

En esta tercera temporada hay varios retos, el más importante de ellos consolidar la presencia a nivel nacional y unificar el esfuerzo del portal rockandbol.com y RockAndBol.Radio.

Ya tendré más comentarios, por ahora espero los suyos en los foros de ese portal.

By Dunadan Raptor on Tuesday, March 20, 2007

El incorrecto uso del lenguaje nos afecta  a todos, pero los periodistas deben ser más cuidadosos que el resto del mundo.

Reporteros de TV, locutores de radio e incluso quienes graban publicidad cometen repetidamente el error de pronunciación en los tres números del título. Lo más alarmante es que en TV y comerciales tienen el suficiente tiempo de escuchar y corregir.

Por las dudas: Veinte, Cuarenta y Noventa.

By Dunadan Raptor on miércoles, 28 de febrero de 2007

Un link lleva a un link lleva a un link lleva a un link... Y así encontré esta presentación sobre lo que llaman web 2.0: http://www.youtube.com/watch?v=6gmP4nk0EOE&eurl. (Nota: Está en inglés)

 

By Dunadan Raptor on miércoles, 28 de febrero de 2007

Hay que reconocerlo, Internet sigue evolucionando. Hay una herramienta llamada Clipmarks que permite sacarle instantáneas a secciones de páginas para luego compartirlas o archivarlas. Sencillo, rápido, genial!!!

clipped from clipmarks.com

With Clipmarks, you can clip
the best parts of web pages.

Save what you clip, post it on your blog, send it to your friends or share it with everyone on the Clipmarks site.
powered by clipmarks
 

By Dunadan Raptor on Monday, February 26, 2007

No tomar en cuenta los valores nulos en una aplicación puede causar estragos. En un datagrid, al obtener información que proviene directamente de una base de datos, hay que manejarlos vía código antes de que sean enlazados al control. Obviamente ayuda tener un par de clases utilitarias que manejen estos casos, pero igualmente es pesado hacerlo cada vez.

Con la introducción del control Gridview, es posible configurar declarativamente el comportamiento del control en caso de que reciba un dato cuyo valor es DBNullEsto se logra gracias a la propiedad NullDisplayText que los campos BoundField e ImageField pueden usar. Adicionalmente ImageField puede usar NullImageURL.

NullDisplayText, hace que el campo muestre un texto específico y NullImageURL una imagen.

By Dunadan Raptor on Friday, February 23, 2007

Uno de los principales contenidos en radio son las noticias. Sin embargo, no todas las estaciones tienen sus propios periodistas y pocas usan servicios de cable. Por ello la mayor parte se dedican a leer noticias de otros medios. Hasta allí no hay problema.

Esta mañana escuchaba una estación donde tomaron una noticia de uno de los sitios que mantengo (www.rockandbol.com) y leyeron una noticia sin mencionar la fuente. Esto tiene varias connotaciones:

  1. Falta de conocimiento respecto al uso de fuentes. Cuando la fuente de la noticia no es el mismo medio, se debe mencionar la fuente. No hacerlo es una falta de ética profesional.
  2. Reelaboración de la noticia. Cuando la fuente de la noticia es ajena y se desea imprimirle un estilo personalizado, ya sea el de la estación o del programa, se sugiere abrir la noticia con una ventana (qué, cómo, cuando) diferente. Al leer la noticia tal cuál hay que cumplir con la anterior regla. No hacerlo es una muestra de flojera profesional.
  3. El periodista/locutor podría aportar más datos a la noticia y no contentarse con copiar la noticia, aduciendo falta de tiempo. Lo contrario es simple falta de preparación profesional.

En resumen un locutor/periodista que toma noticias de otro medio es poco profesional, falto de ética y encima flojo. La solución es sencilla, preparar noticias mencionando la fuente, tratando de profundizar y complementar la nota.

En radio seguir este consejo es fácil y rápido, sin embargo, la mayor parte del tiempo no se realiza pues en Bolivia, practicamente cualquiera toma un micrófono y se convierte en periodista, locutor o ambos. La responsabilidad que recae en estas personas es mucha como para ignorar que el personal no está capacitado y además de empírico es ignorante. Ignorante en el sentido estricto de la palabra. Ignora cómo y qué debe hacerse en radio.

By Dunadan Raptor on miércoles, 21 de febrero de 2007

800 mensajes día en mi bandeja son SPAM. 800!!! y no cuento los de las cuentas de Hotmail y Gmail, que poco a poco supon