SharePoint 2010: Logotipo en la masterpage que dependa del sitio en el que nos encontremos dentro de la colección

Escenario:

Supongamos que tenemos una colección de sitios tal que así

  • Sitio principal
    • Subsitio 1
    • Subsitio 2

Tenemos una única Masterpage en la que establecemos el logotipo dentro de la masterpage

<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/">

    <SharePoint:SiteLogoImage  LogoImageUrl="/Style Library/NombreProyecto/Images/logo.png" runat="server"/>

</SharePoint:SPLinkButton>    

 

Pero, si queremos que el logotipo sea diferente para cada sitio, esto no nos valdría.

 

Solución:

Tenemos que conseguir que la ruta del logotipo sea relativa al sitio en cuestión, para lo que sólo es necesario obtener de alguna forma dicha ruta.

Esto lo podemos conseguir de la siguiente forma.

LogoImageUrl="<% $SPUrl:~sitecollection/Style Library/NombreProyecto/Images/logo.png%>"

 

Hecho esto, “~sitecollectio” se sustituiría por la ruta relativa al sitio en el que nos encontremos.

 

Código completo:

<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/">

    <SharePoint:SiteLogoImage  LogoImageUrl="<% $SPUrl:~sitecollection/Style Library/NombreProyecto/Images/logo.png%>" runat="server"/>

</SharePoint:SPLinkButton>    

Windows Phone RoadShow llega a Tenerife

Dada la buena noticia, no podía dejarlo pasar sin publicarlo, Windows Phone RoadShow llega a Tenerife! De la mano de algunos ponentes de lujo… que dejaré que sea sorpresa. Todo ello ha sido posible gracias a:

Muchísimas gracias a los organizadores y, en especial me gustaría agradecer a TenerifeDev que se están moviendo para poder ofrecernos en Tenerife charlas y eventos de gran calidad. Hay que apoyarlos!

 

Los datos del evento son los siguientes:

CÓMO DESARROLLAR Y PUBLICAR LAS MEJORES APLICACIONES Y JUEGOS DE WINDOWS PHONE

Lugar: Salón de actos de la Facultad de Física, Universidad de La Laguna

Fecha: 26 de noviembre de 2011

Avenida del Astrofísico Francisco Sánchez s/n
San Cristóbal de La Laguna Tenerife Islas Canarias 38206
España

 

No os lo podeis perder!!! Registraos ya!!!
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032499102&Culture=es-ES

Como novedad os podemos contar que habrán algunos regalos, Controles de desarrollo de Telerik, Cursos de Pluralshigth y…… algún que otro móvil con Windows Phone 7.

Os esperamos a todos…
http://msdn.microsoft.com/es-es/windowsphone/hh475625?ocid=eml-n-es-loc-WP7-Roadshow

SharePoint 2010: Cómo publicar código Javascript desde la interfaz web con un Content Editor Web Part

En este artículo quiero comentar cómo insertar código Javascript en nuestra página de un sitio de SharePoint desde la interfaz web de usuario, es decir, sin tener que editar el propio código de nuestra página.

Escenario:

Supongamos que creamos una página en nuestro sitio de SharePoint (del tipo que sea) y, el autor de contenidos encargado de esa página, quiere poder añadir, eliminar, modificar cierto código Javascript de una forma totalmente autónoma sin necesidad de tener que llamar al desarrollador para que haga las modificaciones en el código HTML de la página.

 

Solución:

Paso 1:

Lo primero que debemos hacer es insertar un Content Editor Web Part en la página, para que el usuario pueda interactuar con él.

Para ello, deberemos tener al menos una Zona de Web Parts o un Campo de Texto Enriquecido.

    • Zona de Web Parts: Editamos la página y, en la Zona de Web Parts, seleccionamos “Insertar Web Part” con lo que se abrirá la ventana para seleccionar el Web Part que queremos insertar.
    • Campo de Texto Enriquecido: Seleccionamos el campo y, en la Ribbon seleccionamos Insertar > Web Part

 

Una vez seguidas las instrucciones anteriores, deberíamos ver el siguiente bloque en la cabecera de la página.

Paso 2:

Seguidamente, seleccionamos el Content Editor WebPart, que hemos insertado en la página, como si fuéramos a escribir texto, pero, en vez de eso, seleccionamos HTML > Edit HTML Source, con lo que se nos abrirá una ventana emergente en la que podremos ver el código HTML que se ha generado para el contenido del Content Editor WebPart.

 

Paso 3:

Por último, debemos insertar el código Javascript que queremos que se ejecute en nuestra página, evidentemente, dentro de las etiquetas <script type=”text/javascript”>…</script>

En este caso, pondré un “alert” para mostrar una ventana emergente con el texto “Demostración de cómo insertar Javascript en el contenido de una página”

 

 

Resultado:

Como resultado de este proceso, obtendremos la ventana emergente que muestro a continuación.

Community Day 2011: Visión de un novato

Hola a todos.

Este fin de semana he estado en Fuengirola (Málaga) en el Community Day 2011 gracias a la invitación de Microsoft. La verdad es que la invitación fue una gran sorpresa la invitación, más aún cuando apenas (o nada) conocía el evento. Es por eso, que mi visión del evento es la de un auténtico novato que fue a aprender.

 

En un principio, fui con una idea (equivocada) del evento. Creía que sería una reunión más de informáticos en las que primarían los juegos en red y demás cosas frikys que asumimos gustosamente pero, nada más lejos de la realidad. Desde el primer minuto en el hotel, y mientras esperaba la llegada de mi compañero y MVP de SharePoint Alberto Díaz Martín, me llevé una sorpresa al ver que las conversaciones eran acerca de tendencias, opiniones sobre plataformas o tecnologías, sharing de conocimientos,… y el ambiente era más familiar de lo que hubiese podido imaginar. La primera impresión, la que cuenta, fue muy buena y dio paso a un fin de semana sublime.

 

El viernes me sirvió para entrar en contacto con el grupo de usuarios de SharePoint (SUGES) y, así poder conocer en persona a sus integrantes. Me tengo que quitar el sombrero con ellos. Fue un día muy intenso con muchas charlas interesantes, de las que aprendí mucho y que me despertaron el ánimo de la curiosidad. Ya por la noche, pude ver el bautizo de MVP’s de primer año mediante una tradición muy divertida que debería permanecer siempre.

 

El sábado pasamos a lo práctico con el Hack-A-Thon. Algunas instrucciones y a programar y diseñar! Se vieron situaciones muy curiosas como dos personas a las que se les ocurrió la misma idea, gente pidiendo alguna, … pero sobre todo, el ambiente era distendido, divertido y se podía apreciar cómo la gente disfrutaba muchísimo de esta parte del Community Day. Todo esto me permitió conocer a otros asistentes de Bilbao, Barcelona y, sobre todo, a un compatriota chicharrero Josué Yeray con el que pasamos un rato más que agradable y cuya conversación era muy enriquecedora.

 

Ya el domingo me tocó presentar en público la aplicación en la que colaboré con Alberto Díaz Martín, compitiendo así con otras 26 aplicaciones más por uno de los 4 Nokia Lumia que se sorteaban. Lamentablemente, no pudimos ser ganadores pero, la experiencia que vivimos valió la pena.

 

En resumen, un gran fin de semana que me gustaría repetir todos los años porque merece la pena, no sólo por lo aprendido, sino también por lo compartido y, sobre todo, por la gente que conocí.

Finalmente, sólo me queda dar las gracias a Microsoft y a los organizadores del evento por invitarme y a todas las personas que conocí por hacerme pasar un fin de semana tan bueno.

WebCast (Vídeo y Presentación): ¿Cómo se hizo www.suges.es con SharePoint 2010?

Para los que estuvieron presentes en el WebCast, espero que os haya gustado mi primera aparición. Me queda mucho que mejorar ;o). Para los que no estuvieron y se perdieron mi “bautizo” a manos de mi maestro Jedi Alberto, decirles que espero poder presentar alguno más en el futuro y, sobre todo, que guste y sea útil.

Para todos, aquí les dejo el enlace desde el que podrán descargarse el vídeo del WebCast y la presentación que utilizamos Alberto y yo.

https://skydrive.live.com/redir.aspx?cid=c73428e7e886dc8a&resid=C73428E7E886DC8A!863

Windows Phone 7 ( WP7 ): Panorama con una Lista Horizontal

Hola. Éste es mi primer artículo sobre desarrollo de aplicaciones para Windows Phone 7 (WP7). 

En esta ocasión quiero contaros cómo mostrar una lista (ListBox) horizontal.

 

Escenario:

Queremos crear una aplicación que muestre una lista con los elementos dispuestos horizontalmente como muestra la imagen.

 

Solución:

La solución la encontré gracias al control “WrapPanel” del Toolkit para WP7.

<controls:PanoramaItem Width="960" Orientation="Horizontal">

    <StackPanel Margin="0,0,0,8">

        <ListBox x:Name="listHorizontal" ItemsSource="{Binding Items}" Margin="0" Height="460" BorderThickness="0" VerticalAlignment="Top">

            <ListBox.ItemsPanel>

                <ItemsPanelTemplate>

                    <toolkit:WrapPanel />

                </ItemsPanelTemplate>

            </ListBox.ItemsPanel>

            <ListBox.ItemTemplate>

                <DataTemplate>

                    <Border Margin="5" Width="220" Height="220" BorderBrush="Azure" BorderThickness="2">

                        <Button Template="{StaticResource myButtomTemplate}" />

                    </Border>

                </DataTemplate>

            </ListBox.ItemTemplate>

        </ListBox>

    </StackPanel>

</controls:PanoramaItem>

 

Como se puede apreciar, para mostrar el elemento, he usado un “Button” al que le asigno una plantilla.

<ControlTemplate x:Key="myButtonTemplate" TargetType="Button">

    <Grid Width="220" Height="220" Background="#4CFFFFFF">

        <TextBlock Margin="5,5,49,0" TextWrapping="NoWrap" Text="{Binding LineOne}" VerticalAlignment="Top" FontFamily="Segoe WP Semibold" Foreground="White" FontWeight="Bold" FontSize="26.667" />

    </Grid>

</ControlTemplate>

 

 

Explicación:

El código es bastante sencillo:

  1. Creo un PanoramaItem dentro del Panorama con Orientation=”Horizontal” y un ancho correspondiente a los elementos que quiero mostrar, en este caso, quiero mostrar 8 elementos de «220» de ancho y unos márgenes entre ellos de «5», es por ello que establezco el ancho del PanoramaItem a «960»
  2. Pongo, como contenedor,  un StackPanel.
  3. Dentro del StackPanel, pongo el ListBox y lo enlazo con los datos de prueba que vienen por defecto al crear el proyecto “Aplicación Panorama para Windows Phone”
  4. Defino la propiedad ListBox.ItemsPanel y a la plantilla que se le asigna, le incluyo el control toolkit:WrapPanel
  5. En la propiedad ListBox.ItemTemplate, establezco el DataTemplate, en el que incluyo un control Border y, dentro de él nuestro Button con la plantilla correspondiente.
  6. En la platilla del Button, únicamente defino un Grid para posicionar un TextBlock que está enlazado con el campo LineOne correspondiente al Binding realizado en el ListBox.

SharePoint 2010: Personalizar XsltListView WebPart

En estos días, hemos necesitado personalizar un XsltListView WebPart correspondiente a una lista. La solución la encontramos en un artículo en inglés y quería compartirlo traducido para aquellos a los que les cueste encontrar soluciones en inglés.

Pasos a seguir:

  1. Crear una nueva página de WebParts.
  2. Añadir WebPart de lista correspondiente a la que quieras personalizar.
  3. Salir de la edición.
  4. Editar WebPart para añadir las columnas específicas que desees ver como resultado.
  5. Abrir la página con SharePoint Designer 2010.
  6. Seleccionar el WebPart, con lo que en la Ribbon aparecerá el tab “Design” (Diseño).
  7. Seleccionar ‘Customize Xslt’ > ‘Customize Entire View’.
  8. Cambiar a la vista de código, con lo que se verá un nuevo nodo con el código Xslt añadido al WebPart.
  9. Buscar ‘mode="Item"’. Esta es la plantilla principal que gestiona la renderización de cada fila.
  10. En esta plantilla, buscar <xsl:for-each select="$Fields">. Este bucle se encarga de hacer las llamadas a las plantillas que necesarias para renderizar los campos de cada fila.
  11. Eliminar u Ocultar el bucle y añadir el HTML personalizado antes del mismo.
  12. Recordar verificar los cambios en el navegador.
  13. Al tiempo que nos hemos desecho del bucle Xslt For-each, también podemos eliminar las plantillas correspondientes a los campos, pero como puede resultar engorroso… no pasa nada por dejarlas.
  14. Una vez tengamos la visualización deseada, hay que copiar el código xslt en un nuevo fichero, por ejemplo “mylistview.xslt” y guardarla en un lugar adecuado.
  15. Ahora, podremos crear una nueva página y añadir el Web Part de lista tal y como hicimos en el paso 2.
  16. Editar el WebPart y en la y enlazar el fichero “mylistview.xslt” desde el XSL Link de la sección Miscellaneous.
  17. Guardar cambios y… ¡Listo! ya tenemos nuestro XsltListView WebPart personalizado.

 

Fuente Sandeep K Nahta

Webcast: ¿Cómo se hizo www.suges.es con SharePoint 2010?

Una vez incorporados al trabajo después del veranito… toca comenzar con la temporada de Webcasts. En esta ocasión, realizaré mi primer Webcast con la ayuda de Alberto Díaz Martín (MVP de SharePoint).

Recientemente en SUGES, y gracias a la colaboración de General de Software de Canarias y el Centro de Innovación en Integración de Cantabria (CIIN), hemos realizado un cambio de imagen a www.suges.es y queremos explicaros como lo hemos realizado. Veremos las características de los Sitios de Publicación, las páginas maestras y las hojas de estilos que se han utilizado y como aplicarlas. Este Webcast abordará un caso práctico de personalización de un sitio público de SharePoint 2010 utilizando para ello los elementos disponibles en la plataforma y las herramientas habitualmente utilizadas para ello.

El enlace para registrarse en el Webcast es el siguiente https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032495322&Culture=es-ES

 

Datos sobre los ponentes:

Santiago J. Porras Rodríguez
Desarrollador SharePoint

Trayectoria: Desarrollador y diseñador web, experto en gestores de contenido. Lleva desarrollando en SharePoint desde su versión 2010 y, como comenta en su blog, ha sentido un flechazo con él.
Blog: http://geeks.ms/blogs/santypr
Twitter: http://twitter.com/saintwukong

Alberto Díaz Martín
Responsable de Proyectos y MVP SharePoint Server

Trayectoria: Responsable de Proyectos de sistemas de Colaboración empresarial, sistemas de búsquedas corporativos, procesos empresariales y Business Intelligence y productos Microsoft en General de Software.
Blog: http://geeks.ms/blogs/adiazmartin
Twitter: http://twitter.com/adiazcan

SUGES: Nuevo diseño de la página del Grupo de Usuarios de SharePoint de España

El Grupo de Usuarios de SharePoint de España, SUGES ya dispone de un nuevo diseño en su sitio web más intuitivo y organizado. Este nuevo diseño se ha montado sobre un Sitio de Publicación de SharePoint 2010 gracias a la colaboración entre el Centro de Innovación en Integración de Cantabria (CIIN) y General de Software S.A .

 

En este sitio web se podrá encontrar documentación, recursos, información sobre eventos, presentaciones, etc… que los MVP’s de SharePoint en España comparten con todos nosotros.

Un lugar de obligada visita para todos los que trabajamos con SharePoint