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

El próximo miércoles 2 de noviembre, a las 15:00 (GMT), tendré el placer de acompañar a Santiago Porras en su primer Webcast. Hablaremos sobre las características de publicación en SharePoint 2010 y presentaremos el paso a paso del desarrollo de la nueva imagen de www.suges.es

www.suges.es

Aprovechando el nuevo logo del grupo de usuarios y a la colaboración de Centro de Innovación en Integración de Cantabria (CIIN) y de General de Software, hemos utilizado a Santy, diseñador de UX en General de Software, para que adaptara esta nueva imagen a la web del grupo.

 

Esperamos verlos a todos, os dejo la url de registro https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032495322&Culture=es-ES

SharePoint 2010. Sin resultados de búsqueda para el contexto “Este sitio”.

Cuando configuramos el servicio de búsqueda de SharePoint debemos comprobar que los orígenes de contenido tienen las URL correctas de nuestros sitios para que se pueda realizar el rastreo del contenido y que se devuelvan los resultados de las búsquedas a los usuarios. Si no es así, cuando realizamos una consulta utilizando el ámbito Este sitio, no devolverá ningún resultado.

Las rutas contextuales de sitio son muy útiles porque permite, a los usuarios, realizar búsquedas desde un sitio y que los resultados se ajusten al contexto de este sitio. Para configurar esta característica, tenemos una opción en la Administración de la colección de sitios que nos permite establecer el comportamiento del cuadro de búsqueda que aparece en todos los sitios de nuestro colección de sitios.

SharePoint2010-search-sitecontext-2

Algunas de las opciones que tenemos son:

  • No mostrar la lista desplegable de ámbitos, y establecer como predeterminado el ámbito contextual. Esto permite que las búsquedas se filtren utilizando el ámbito actual de nivel de sitio.
  • No mostrar el cuadro desplegable de ámbitos y volver a la página de resultados objetivos. Se realiza la consulta sin ningún filtro de ámbito.
  • Mostrar cuadro desplegable de ámbitos. Junto al cuadro de búsqueda, nos permite seleccionar el ámbito de la consulta, Todos los sitios, Este sitio, Personas, o cualquier otro ámbito que tengamos configurado.

Como todos sabemos, SharePoint permite, mediante la configuración de rutas de acceso alternativas, hasta 5 direcciones URL para cada aplicación web, esto es, podemos tener la URL http://intranet.midominio.com para el acceso Predeterminado y la URL http://extranet.midominio.com para el acceso desde Internet.

SharePoint2010-search-sitecontext-1

El origen de contenido de SharePoint tiene que ser configurado para que utilice la URL Predeterminada, para que cuando se realicen las búsquedas contextuales de sitio, pueda devolver resultados.

Nos tenemos que asegurar que el los orígenes de contenido, del servicio de búsqueda, tenemos esta URL para que la usa para rastrear el contenido.

SharePoint2010-search-sitecontext-3

SharePoint2010-search-sitecontext-4

 

Saludos a todos…

WP7. Utilizando la cámara.

Ahora que ya tenemos Windows Phone 7.5 (Mango) y con el SDK 7.1, se nos abren más posibilidades de desarrollo de aplicaciones. Aprovechamos estas nuevas funcionalidades para actualizar la aplicación mUbiquo y ofrecer la posibilidad de guardar el contacto en el People Hub y, tarea que intentaré explicar en este post, mejorar la captura del código utilizando el nuevo API para la Cámara, PhotoCamera. Este API nos permite controlar la cámara del dispositivo y sus funciones como enfoque, captura de imagen, etc.

Conociendo estas capacidades, la idea es eliminar la necesidad de utilizar la tarea de obtener una foto por un formulario que escanee automáticamente el código, usando este API.

Lo primero es lo primero y tenemos que crearnos un formulario, que contenga un control, por ejemplo Rectangle, al que le podamos aplicar un relleno de tipo Video.

<Rectangle x:Name="_previewRect" Margin="0" Height="800" Width="600" HorizontalAlignment="Center" VerticalAlignment="Center">

    <Rectangle.Fill>

        <VideoBrush x:Name="_previewVideo">

            <VideoBrush.RelativeTransform>

                <CompositeTransform x:Name="_previewTransform" CenterX=".5" CenterY=".5" />

            </VideoBrush.RelativeTransform>

        </VideoBrush>

    </Rectangle.Fill>

</Rectangle>

Vamos a necesitar inicializar la cámara y establecer el origen del VideoBrush con este para que se previsualice el video, esto lo podemos hacer en el evento OnNavigatedTo de la página XAML.

photoCamera = new PhotoCamera();

photoCamera.Initialized += OnPhotoCameraInitialized;

_previewVideo.SetSource(photoCamera);

Ahora que tenemos enlazada la cámara, vamos a necesitar un temporizador, que cada cierta frecuencia procese la imagen y muestre la información, en el caso de que tenga un código reconocible.

public CameraPage()

{

    InitializeComponent();

 

    timer = new DispatcherTimer {Interval = TimeSpan.FromMilliseconds(250)};

    timer.Tick += (o, arg) => ScanPreviewBuffer();

}

Aprovechamos que la cámara se tiene que inicializar, para arrancar el temporizador.

private void OnPhotoCameraInitialized(object sender, CameraOperationCompletedEventArgs e)

{

    //Esto es para el lector de código QR

    int width = Convert.ToInt32(photoCamera.PreviewResolution.Width);

    int height = Convert.ToInt32(photoCamera.PreviewResolution.Height);

    luminance = new PhotoCameraLuminanceSource(width, height);

    reader = new QRCodeReader();

 

    //Aquí iniciamos el temporizador

    Dispatcher.BeginInvoke(() =>

    {

        _previewTransform.Rotation = photoCamera.Orientation;

        timer.Start();

    });

}

Sólo nos queda procesar la imagen cada vez que se ejecuta el temporizador.

private void ScanPreviewBuffer()

{

    // Obtenemos el buffer de la imagen de la cámara

    photoCamera.GetPreviewBufferY(luminance.PreviewBufferY);

    

    // La transformamos en un Bitmap para procesar el código QR

    var binarizer = new HybridBinarizer(luminance);

    var binBitmap = new BinaryBitmap(binarizer);

    var resultText = reader.decode(binBitmap);

    Dispatcher.BeginInvoke(() => BarcodeResults(resultText.Text));

}

El resto del código se encargaría de mostrar la información escaneada y de las acciones predefinidas para cada tipo de código.

Windows Phone 7 es una plataforma que va creciendo y ahora con el SDK 7.1 hemos dado un gran paso que nos permitirá desarrollar grandes aplicaciones.

 

Saludos a todos…

CompartiMOSS. Número 9 disponible para leer

Otro número más y seguimos colaborando con la revista de SharePoint de habla hispana, CompartiMOSS. Gracias al trabajo de Fabián Imaz, Juan Carlos González y Gustavo Vélez podemos leer estos artículos sobre el servidor y todos sus entresijos. Es un placer colaborar con todos ellos y formar parte de la revista.

En este número contamos con los siguientes colaboradores:

Así que todos a leer este último número que ya estamos pensando en el siguiente.

 

Saludos a todos….