VideoSilverPart: Silverlight Video Player WebPart para SharePoint 2007

noviembre 27, 2009
By

Quedé un tanto asombrado y al inicio decepcionado al no encontrar una solución para SharePoint 2007 que permitiera incluir un reproductor de video en una de sus páginas. Normalmente hubiera esperado encontrar una WebPart que incluyera un control Silverlight al que pudiera indicarle la ruta del fichero que quiero reproducir.

La frustración duró poco. Producto de mi búsqueda encontré el tal reproductor de video Silverlight en codeplex. Y ciertamente encapsularlo en una WebPart con las características antes mencionadas resulta bien sencillo. A continuación compartiré con ustedes este proceso.

Primeramente descargamos el fichero VideoPlayer.xap del sitio del proyecto SLPlayer situado en codeplex. Posteriormente creamos un proyecto de tipo WebPart usando VisualStudio 2008. Es aconsejable instalar las extensiones de VS2008 para Windows SharePoint Services 3.0. En este caso crearíamos un proyecto de tipo SharePoint basado en la plantilla Web Part, que ya nos crea la estructura de directorios y ficheros necesarios para desplegar la WebPart en SharePoint. El proyecto quedaría similar al de la siguiente figura.

image

El código de la WebPart es realmente sencillo. Se trata de crear el objeto Silverlight que representa al reproductor, y definir algunas propiedades que determinan la ruta del video y las dimensiones en las que se quiere mostrar.

Habrá que decidir donde colocar el fichero VideoPlayer.xap, el player en sí. No importa mucho donde colocarlo, pero debe ser un lugar accesible luego por la WebPart.

Una alternativa sería colocarlo en el directorio virtual de SharePoint que contiene la aplicación Web donde queremos reproducir el video. El inconveniente de esto sería al querer colocar esta WebPart en varios sitios. Tendría que copiarse el player en cada uno de ellos. Otra solución sería colocar el fichero VideoPlayer.xap en la carpeta virtual _layouts que la comparten todas las aplicaciones de SharePoint. De esta manera solo habría que copiar el player en esta carpeta y estaría disponible desde cualquier aplicación Web de SharePoint.

También podría colocarse el fichero VideoPlayer.xap en una biblioteca de documentos o lista personalizada de SharePoint, o incluso podría colocarse en un servidor remoto, completamente independiente de SharePoint.

En este caso veremos la variante de colocar el fichero VideoPlayer.xap en la carpeta _layouts. Así que lo siguiente será copiar este fichero para dicha ubicación. Una vez terminada la WebPart debería crearse una feature que se encragara de copiar este fichero automáticamente a la ubicación correcta.

Nuestra WebPart tendrá tres propiedades. La más importante, VideoUrl, que servirá para indicar la ruta donde se encuentra el video que se quiere reproducir. VideoWidth y VideoHeight para indicar el ancho y el alto del reproductor respectivamente. La creación del objeto Silverlight que representa el player se realiza en el método Render, cuyo fragmento de código se muestra a continuación.

protected override void Render(HtmlTextWriter writer)
{
    base.RenderContents(writer);
    string html = " ";
    if (VideoUrl == null)
    {
       html = "No hay ningún video que reproducir.";
    }
    else
    {
       // Código para crear el objeto Silverlight
       html = "<div id=\"silverlightControlHost\"><object ...";
    }
    writer.Write(html);
}

Una vez compilado y desplegado el proyecto en SharePoint podemos agregar la WebPart desde la galería de WebParts, y luciría así:

image

Aunque verdaderamente resulta sencillo implementar una WebPart para reproducir video usando Silverlight, espero que resulte interesante para aquellos que quieran esta funcionalidad en sus sitios SharePoint. O sirva de base para aquellos otros que quieran hacer cosas más elaboradas, como por ejemplo conectar esta WebPart con otra que muestre información del video que se está reproduciendo, o con una WebPart donde los usuarios puedan dejar comentarios sobre el video. Si alguien se anima, suerte con ello.

Download source code

Tags: , ,

3 Responses to VideoSilverPart: Silverlight Video Player WebPart para SharePoint 2007

  1. Nato on noviembre 10, 2010 at 10:37 am

    Que tal, como estas?
    Me agradó tu webpart, sobre todo porque es algo que uno de mis clientes requiere, solo que no la pude echar ha andar, no se que hice mal, el punto es que en VS 2008 le doy deploy, la agredo en la galeria de webparts y todo bien, el detalle es al momento de declarar las propiedades, coloco las rutas tanto del video y del videoplayer.xap, no se ve el video, solo se ve una pantallita negra con un control “Play”, aun que le haga clic, no comienza el video.
    Te agradeceria, me indicaras que es lo que estoy haciendo mal.
    Saludos!!

    • Josep on junio 15, 2011 at 7:19 pm

      Volviendo al caso m aparece lo mismo estoy utilizando el sharepoint server 2010 y aun asi m marca lo del play y no reproduce no se si me puedes orientar el como hacerlo y si tiene alguna manera de reproducir tmb las ligas mms:// te lo agradesco gracias buena pag.

      • Jorge M on septiembre 16, 2011 at 9:01 am

        Debes Crear una galeria o libreria donde almacenar el video y cargarlo a esa galeria, luego en el la pagina que contiene el Webpart -> Editar -> Modificar Elemento Web Compartido en -> Video Player -> Library Name escribes el nombre de la libreria que creaste y donde se encuentra el video .

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Acerca del autor...

Lester Sánchez

Web: http://www.linkedin.com/in/lestersanchez
Lester Sánchez
Profesor de la Facultad de Matemática y Computación de la Universidad de La Habana. Entusiasta de las tecnologías .NET y en especial de SharePoint. Webmaster de weboomania.comLeer completo