Licencias Creative Commons. Que son?

El otro día hablando con un amigo salió el tema de los derechos sobre el conocimiento.. y por supuesto salió el tema de la licencia Creative Commons
Aquí un video explicando un poco, mas aun cuando se implementa en varios países o sea dependiendo de las leyes de cada país (o sea bajo la jurisdicción legal de cada uno).
Ejemplo:

Video subtitulado…

Si no puedes ver el video click aquí

Compartir Calendarios entre Google Calendar y Outlook 2007. Eliminatorias Mundial 2010!

Queriendo tener algo importante para la vida de un ser humano “El calendario de las eliminatorias para el mundial de Sudafrica 2010” en mi google Calendar y por supuesto en mi Outlook 2007… esta version soporta el formato de intercambio de calendario iCalendar (RFC 2445) , iCal entre amigos…
Nota: iCal viene su nombre de un programa de Apple que fue el primero en implementarlo (que diría mi amigo Marcelo…)

Primeramente vamos a decir que Outlook soporta este formato y que podemos agregar nuestros calendarios compartiendolo en estas formas:

 

Ahora tengo que buscar el calendario de las Eliminatorias para el Mundial de Sudafrica 2010…lo hice mediante Google Calendar (porque no lo encontre en otor lugar publicado)
   http://calendar.google.com/
   Alli busque un calendario público
    image

  También lo puedes hacer desde aqui… el boton Add donde estas los calendarios suscriptos
   image

La buena suerte es que alguien compartio esta información (creando un calendario publico), lastima que no se quien es.. pero para probar (algo es algo). Seria bueno que alguna cadena de noticias de deportes tenga esto
Si alguien conoce algun lugar donde buscar algo similar espero sus comentarios.
Tambien si buscamos por soccer tenemos varios cadenas de Japon (? con estos datos=”soccer”) vamos a encontrar casi todos los campeonatos de todos los rubros y colores.

 image

Podemos ver el preview, o directamente lo agregamos a nuestro Calendario 

image

y tendremos las Eliminatorias para visualizarlo con los demas calendarios.

 image

Cuando vamos al detalle de un evento vemos el autor

 image

image

 

Para compartirlo o importarlo a Outlook necesitamos obtener su direccion .ics (o iCal)
Para ello en Google Calendar vamos a Settings
image_thumb19

Luego en Calendars

image
(aqui podemos ver que esta persona vive en Venenzuela.. asi que gracias por compartir) ..;)
image_thumb21

Hacemos Click en ical 

image
Nos aparece  un ventana emergente
 image

Que si queremos copiamos la direccion o simplemente hacemos click sobre la misma para que Outlook se encargue automaticamente (salvo que tengamos otro soft asociado con esa extension .ics)
Se visualiza como un Calendario diferente

image

Pero lo podemos ver en modo superpuesto (como lo visualizamos en el Google Calendar)
 image

 

Al realizar un click en esta parte automaticamente se abre el Outlook 2007, e IMPORTA el calendario (no se suscribe)

Suscripcion de Calendarios Publicos

Si quieres suscribirte tendras que agregar un nuevo calendario
Menu Herramientas >> Configuracion de la cuenta…
 image

Luego en la solapa Calendarios de Internet

image_thumb32

Y podemos leer la leyenda:

 image

Alli ingresamos la direccion de internet que Google Calendar nos presento cuando hicimos click en el boton
image_thumb36

Damos algunas configuraciones…

 image

Las suscripciones se realizan en cada envio y recepción pero tambien se tiene en cuenta el limite de actualización “impusta” por la publicacion.
En el detalle al sincronizar veremos algo asi:

image_thumb40

 

 

Enlaces:

Manipular iframe desde codebehind. Inscrustar paginas web.

¿Como puedo incrustar una pagina web dentro de un Panel? Fue la pregunta… y la respuesta la arme rapidamente y posteandola aqui para que quede para la posteridad 😉

El control web Panel se renderiza en el cliente (lease en el navagador) en un control html div (es la magia ASP.NET), y en HTML tenemos un control para poder “llamar por underground” otro contenido o mejor dicho otra pagina.. el famoso tag iframe

 

Crando un iframe

Puedes crear un iframe escribiendo directamente el tag

image

Alli podriamos simplemente introducir el origen a cargar (propiedad src)

<iframe src="http://geeks.ms"/>

Ejemplo en vivo y en directo:

Aqui la imagen…
image

 

Pero que pasa si queremos manipular este control y sus propiedades desde el codebehind?

Aqui tendremos que convertilo en un html control del lado del servidor.. como? Asigando un identificador para referenciarlo y por supuesto agregando la propiedad runat=”server”
<iframe id="iframe1" runat="server" />
Y alli si lo tendremos disponible
image
 
Pero donde esta la propiedad src?
Si queremos asignar iframe1.src, no la tenemos disponible por tratarse de un HtmlGenericControl
image
Entonces debemos tratarlo como un atributo…
iframe1.Attributes.Add("src", "http://geeks.ms")
 
Tambien podremos manipularlo a la coleccion de atributos como cualquier otra collection tipo hashtable
image
Quedando:
iframe1.Attributes("src") = http://geeks.ms
 
 
 
Ya sabemos manipular nuestro iframe, pero como agregarlos a un control panel?
Si queremos realizarlo en tiempo de ejecucion, sabemos que el control Panel es un contenedor de controles por lo tengo
image
Debemos crear un control hijo del tipo del iframe (que es un HtmlGenericControl) y agregarlo a la coleccion de controles.
Dim iframe2 As New HtmlGenericControl("iframe")
iframe2.Attributes("src") = "http://geeks.ms"
Panel1.Controls.Add(iframe2)
 
Como veras al crear el control HTMLGenericControl utilice una sobrecarga del contructor donde enviamos el nombre del tag a crear o sino nos crea un control html span
 
Luego tendriamos que maipular alguna que otra propiedad para nuestras necesidades (width, height, style o especificando una class de css, etc)
 
Espero que les sirva de ayuda o guia
 

Enlaces:

 
 
 

Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código

Una funcionalidad que siempre es requerida para cualquier tipo de reporte (en cualquier formato) es su exportación a otros formatos. En Crystal Report para ASP.NET 2.0 tenemos metodos ya disponibles para realizar esta tarea. Una de las preguntas desde los grupos de noticias o foros es como realizarlo desde el codebehind.

Primeramente necesitamos importar los espacios de nombre:

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

El primero para el reportDocument y el segundo para las opciones de exportacion.

Veamos un ejemplo para exportar a PDF desde el codebehind, sin la necesidad de enviar a impresion (ya que por defecto la impresion viene con salida en modo PDF, y la podemos cambiar a modo ActiveX)
Si tenemos un boton:

<asp:Button ID="btnExportarAPDF" runat="server" Text="Exportar a PDF" />

Podemos hacer algo asi:

Protected Sub btnExportarAPDF_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportarAPDF.Click

       'Cargar reporte. Enlazando a la fuente de datos.
       ReporteCargar()

       'Mas adelante veremos que estas lineas las podemos obviar
       Response.Buffer = False Response.Clear() 'ClearContent, ClearHeaders reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo") End Sub

Nota: El metodo ReporteCargar enlaza la fuente de datos al reportDocument que luego lo visualizamos con un ReportViewer, pero en este ejemplo queremos no visualizarlo sino exportarlo

Podemos ver la forma del metodo ExportToHttpResponse

image

 

El primer parametro FormatType que es un valor de ExportFormatType con estos

image

CrystalReport     El formato de exportación del informe es un archivo de Crystal Report.
Excel    El formato de exportación del informe es un archivo de Microsoft Excel.
ExcelRecord   El formato de exportación del informe es un archivo Excel Record.
HTML32     El formato de exportación del informe es un archivo HTML 3.2.
HTML40   El formato de exportación del informe es un archivo HTML 4.0.
NoFormat   No se ha especificado el formato de exportación.
PortableDocFormat     El formato de exportación del informe es un archivo PDF.
RichText     El formato de exportación del informe es un archivo de texto enriquecido.
WordForWindows     El formato de exportación del informe es un archivo de Microsoft Word.

 

Segundo parametro el objeto Response actual (es para “adozarlo”).. aqui podemos tener una idea de que dentro del metodo realiza ya los pasos para limpiar la salida de response y adozar el archivo

Tercer parametro, si va o no como un objeto incrustado (inline o attachment) si colocamos True es lo mismo que si estamos limpiando la respuesta y solamente enviando el archivo como parametro esto hara estas lineas innecesarias, ya que el mismo metodo se encargara de realizarlo.

Response.Buffer = False
Response.Clear()
Logrando que al visiante visualice el mensaje de que si desea Abrirlo o Guardarlo

image

 

Nuestro código queda mas simple 😉

Protected Sub btnExportarAPDF_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportarAPDF.Click

       'Cargar reporte. Enlazando a la fuente de datos.
       ReporteCargar()

       reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")
   
   End Sub

 

Para finalizar podemos decir que este tipo de exportacin tiene un nivel mas general con el metodo .Export del reportDocument que con opciones puede configurarse para la misma tarea, solo que ya tenemos el metodo para enviarlo a la respuesta de la pagina.
Tambien tenemos ExportToDisk (como se imaginaran la misma tarea de exportacion a un archivo fisico), y ExportToStream (a una secuencia de datos en formato especificado). Con este ultimo podemos tambien lograr la salida a response.. pero tendriamos que hacer todos los pasos por nosotros mismos (mas artesanal como siempre digo)

 

Enlaces:

Pedir disculpas es de caballeros. Windows Desktop Search en WSUS

En donde trabajo tenemos implementado WSUS (Windows Server Update Services), comentando a la ligera sirve para descargar las actualizaciones para las maquinas de nuestra empresa y luego distribuirlas sin tener que acceder todas juntas a los servidores de MS, consumiendo el recurso importante (activo de cualquier empresa) la conexion a internet.
Y por esas casualidades llego a la oficina y me  encontre en la semana con la intalacion de Windows Desktop Search (WDS,… que cantidad de siglas hay que aprender y aprehender en esta vida de geeks! je) como una de las actualizaciones y nunca lo instale en mi maquina, no era una actualizacion critica ni mucho menos sino una “falta de respecto a mi entender” por instalar algo sin previa autorizacion, conversamos de esto con un amigo que es el administrador del WSUS y rapidamente lo quito de la lista de actualizaciones, pero en varios servers (tambien por supuesto los server virtuales) tenia indexando mis archivos y utilizando recursos y una linda nueva barra en mi barra de inicio.
Mis compañeros de soporte técnico que tendrian que verificar estas actualizaciones en las maquinas porque algunas (con la poca memoria y procesador) no le da la potencia para correr el buscador.

Todo esto va porque leo recien hoy en el blog de equipo de WSUS las diculpas (¿?)
    “….We sincerely regret the inconvenience this has caused and
        extend a sincere apology to all impacted customers….”
                               Bobbie Harder. Program Manager, WSUS

   – WDS update revision follow – up
     http://blogs.technet.com/wsus/archive/2007/10/25/wds-update-revision-follow-up.aspx

 

Mas enlaces: