Pasión por la tecnología…

mayo 19, 2013

SharePoint 2013: Como cambiar el idioma de un sitio (I)!

Archivado en: SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 21:06

En SharePoint 2013, como sucedía con su predecesor, podemos configurar un sitio para qué se pueda mostrar en diferentes idiomas. Sin embargo, hay una diferencia fundamental: mientras en SharePoint 2010 el usuario tenía la opción de cambiar el idioma, en SharePoint 2013 esto ya no es así y depende de la cultura del navegador para que el usuario vea el sitio en un idioma o en otro. En este artículo se expone claramente esta nueva forma de soportar varios idiomas en sitios de tipo Intranet en SharePoint 2013: http://olafd.wordpress.com/2012/11/02/switch-language-in-sharepoint-2013/

SharePoint 2013: Como cambiar el idioma de un sitio (I)!

Archivado en: SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 21:05

En SharePoint 2013, como sucedía con su predecesor, podemos configurar un sitio para qué se pueda mostrar en diferentes idiomas. Sin embargo, hay una diferencia fundamental: mientras en SharePoint 2010 el usuario tenía la opción de cambiar el idioma, en SharePoint 2013 esto ya no es así y depende de la cultura del navegador para que el usuario vea el sitio en un idioma o en otro. En este artículo se expone claramente esta nueva forma de soportar varios idiomas en sitios de tipo Intranet en SharePoint 2013: http://olafd.wordpress.com/2012/11/02/switch-language-in-sharepoint-2013/

mayo 10, 2013

SharePoint Online: Como invitar a usuarios externos a colaborar (II)!

Archivado en: SharePoint Online — Juan Carlos González Martín @ 21:51

En este artículo os comentaba el funcionamiento del mecanismo de invitación a usuarios externos para colaborar en sitios de SharePoint Online. El caso, es qué el otro día preparando una formación al realizar una invitación a un usuario externo a una de mis colecciones de sitios, me daba continuamente un aviso de error indicando qué no se podía compartir el sitio con usuarios externos por lo que me puse a indagar qué me faltaba en esa colección de sitios para tener esta funcionalidad disponible:

  • Lo primero que hay que hacer es comprobar a nivel del tenant de Office 365 qué tenemos habilitada la funcionalidad de “Uso compartido externo”. Por defecto, está habilitada como podéis ver en la correspondiente captura de pantalla.
  • Pero tener habilitada esta funcionalidad no es suficiente, porque si tratáis de compartir una colección de sitios que no sea la qué se crea por defecto veréis que se muestra el mensaje de marras indicando qué no se puede compartir el sitio con usuarios externos.
  • Tras investigar un poco, la clave está en qué es necesario indicar de forma explícita que la colección de sitios se puede compartir para poder compartir elementos de la misma. Para poder realizar esta configuración, tenemos que navegar a la administración e nuestro tenant de Office 365. En la misma, disponemos de la opción “Uso compartido” qué es la clave de todo.
image image image
  • Seleccionamos la colección de sitios en la que queremos activar el uso compartido de manera que se muestra la correspondiente ventana de configuración. Marcamos una de las dos opciones que habilita el uso compartido y pulsamos “Guardar”. Un punto importante aquí, es que el cambio no es automático, hay que darle unos minutos para que se propague.
  • Y a partir de aquí, ya podemos compartir la colección o elementos de la misma con usuarios externos.
image image

Referencias:

mayo 9, 2013

SharePoint 2013 & SharePoint Online: ¿Cómo veo los usuarios con los que he compartido un sitio?

Archivado en: SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 20:33

Si quieres ver los usuarios con los que has compartido un sitio u otro elemento de SharePoint (como un simple documento), tienes que seguir los siguientes pasos:

  • Para el caso de un sitio, simplemente pulsa la opción “Compartir” disponible en la parte superior de cualquier página del sitio.
  • En la ventana que se abre, si tu sitio ha compartido podrás ver que bajo el título “Compartir <Nombre del Sitio>” se muestra la siguiente información: “Compartido con muchas personas” qué contiene un vínculo.
  • Si haces clic sobre ese vínculo, se muestra el listado de personas con las que se ha compartido el sitio. En el caso del ejemplo, se trata de un sitio de SharePoint Online en Office 365 por lo que el listado puede contener usuarios de nuestro tenant de Office 365 o bien usuarios externos (de otro tenant o con un LiveID).
image image image

mayo 6, 2013

SharePoint Online: Usando el MO en Cliente de búsquedas desde una aplicación creada con NAPA!

Archivado en: SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 21:46

En este artículo vamos a ver como podemos hacer uso del Modelo de Objetos en Cliente de búsquedas (sabor ECMAScript) en una aplicación SharePoint-Hosted creada con la herramienta NAPA desde un sitio de SharePoint Online en Office 365:

  • En primer lugar accedemos al entorno de desarrollo de NAPA y creamos un nuevo proyecto.
  • Como tipo de proyecto, elegimos App for SharePoint.
  • Modificamos de forma conveniente la página Default.aspx para qué permita hacer uso del MO en Cliente de búsquedas:
    • Añadimos una referencia a la librería JavaScript de búsquedas:

<script type="text/javascript" src="/_layouts/15/sp.search.js"></script>

    • Añadimos el código HTML necesario para poder realizar búsquedas y mostrar resultados en la página de la aplicación.
image image image
  • En el archivo App.js añadimos la lógica necesaria para poder hacer uso del Modelo de Objetos en Cliente de búsquedas. En este caso, os remito a las referencias qué he seguido en el artículo y que contienen el código.
  • A nivel de configuración del manifiesto de la aplicación, nos aseguramos de darle permisos a la aplicación para que pueda hacer búsquedas. Para ello, en la ventana de propiedades del proyecto en NAPA nos vamos a “Permissions” y en la sección “Services” indicamos que la aplicación necesita el permiso “Query” necesario para poder realizar búsquedas.
  • Desplegamos la aplicación desde NAPA usando el correspondiente asistente.
image image image
  • Antes de probar la aplicación, verificamos qué tenemos información disponible para buscar.
  • De vuelta en el proceso de despliegue de la aplicación, antes de poder instalarla se nos preguntará si confiamos en la aplicación a la qué se le va a dar permisos para realizar consultas de búsqueda.
  • Finalmente, comprobamos que la aplicación funciona como se espera.
image image image

 

Referencias:

mayo 5, 2013

SharePoint 2013: Cambios en el modelo de licenciamiento (II)!

Archivado en: SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 20:52

Hace unos meses, comentaba en este blog una novedad importante a nivel de licenciamiento en SharePoint 2013: la desaparición de las licencias de tipo SharePoint For Internet Sites (FIS) lo que en la práctica convierte a nuestro servidor favorito en una opción muy atractiva para crear sitios públicos a un coste razonable y no sobrecargado como sucedía con las versiones SharePoint 2007 y 2010. En este artículo nuevo de la serie quería dejar un resumen de como es el modelo de licenciamiento en SharePoint 2013 (incluyendo SharePoint Online). Básicamente:

  • Partimos de la base de qué tenemos cuatro versiones del producto:
    • SharePoint Foundation 2013: Gratuito.
    • SharePoint Online en Office 365, en el que se aplica el concepto de pago por uso.
    • SharePoint Server Estándar, licenciado por instancia de servidor y CAL de usuario.
    • SharePoint Server Empresarial, licenciado por instancia de servidor y CAL de usuario (CALSs de SharePoint Server 2013 Estándar + CALs de SharePoint Server 2013 Empresarial).
  • Como comentaba, con SharePoint 2013 el modelo de licenciamiento cambia para “abaratar” la creación de sitios Internet…desaparecen las versiones FIS de manera que para implementar sitios públicos necesitamos una licencia Estándar o Enterprise + las CALs de acceso necesarias (para usuarios autenticados).

Si nos centramos en cada producto comentado (dejando fuera SharePoint Foundation, que es gratuito):

SharePoint Online en Office 365

Su modelo de licenciamiento tiene las siguientes características:

  • No existe el concepto de licencia, sino que se habla de subscripción ó Concepto de pago por uso.
  • Se puede comprar de dos formas:
    • Como un plan “standalone” (planes P1 y P2).
    • Como parte de un plan de Office 365: Small Business Small Business Premium MidSize Business Enterprise (Varios planes, incluyendo Educación y Gobierno).

SharePoint Server 2013 OnPremise

En este caso, el modelo de licenciamiento tiene las siguientes características:

  • Los sitios Intranet se licencian mediante el modelo de CALs:
    • Se requiere una instancia de SharePoint Server 2013 por cada instancia del SW qué se esté ejecutando.
    • Se requiere una CAL por cada persona/dispositivo que acceda.
    • Las CAL son aditivas: para acceder a características “Empresariales” se necesitan tanto las CAL de SharePoint Estándar como las de SharePoint Empresarial.
  • Para escenarios Extranet e Internet, no se requieren CALs para usuarios externos.

Usuario Externo: Aquel usuario qué no forman parte de la organización dónde se está desplegando SharePoint ni de terceros “OnSite” en la organización

Fuente:  http://technet.microsoft.com/en-US/library/jj819267.aspx#bkmk_Featurecomparison

mayo 1, 2013

SharePoint: Recopilatorio de enlaces interesantes (X)!

Un mes más, aquí os dejo el recopilatorio de enlaces y recursos interesantes sobre SharePoint aparecidos durante el mes de abril de 2013. Como siempre, espero que los enlaces recopilados sean de vuestro interés.

SharePoint 2013

Capacidades

Desarrollo

IT

Office 365

SharePoint 2010

Capacidades

Desarrollo

IT

Office 365

abril 26, 2013

SharePoint Online: ¿Cómo quito aplicaciones qué he agregado en mi tenant?

Archivado en: SharePoint Online — Juan Carlos González Martín @ 21:14

Si se ha agregado una aplicación del Office Store en una colección de sitios del tenant de Office 365, esta aplicación podrá ser agregada en cualquier otra colección de sitios del tenant. Si queremos que una cierta aplicación, una vez quitada de todas las colecciones, no se pueda agregar más tendremos qué realizar los siguientes pasos en la Administración de SharePoint Online en Office 365:

  • Acceder a la sección Aplicaciones y hacer clic sobre “Administrar aplicaciones”.
  • A continuación se muestra el listado de aplicaciones disponibles. Pulsamos sobre la aplicación que queremos quitar.
  • En la página de detalle de la aplicación, simplemente desplegamos las opciones disponibles en ACCIONES y pulsamos sobre “Quitar esta licencia” de manera que automáticamente la aplicación deja de estar disponible para agregar en las Colecciones de Sitios de SharePoint Online en Office 365.
image image image

abril 25, 2013

SharePoint 2013: Políticas de validación de aplicaciones enviadas al Office Store!

Archivado en: Office 2013,Office 365,SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 08:31

Una duda qué tendrá todo aquel que quiera publicar aplicaciones para Office y SharePoint en el Office Store es la relativa a aquellos aspectos que Microsoft va a tener en cuenta a la hora de validar si una aplicación está lista para publicar o no. Para conocer estos aspectos, o más bien políticas de validación, os recomiendo revisar los siguientes enlaces:

image

abril 24, 2013

SharePoint 2013: Novedades en manejadores de eventos (II)!

Archivado en: SharePoint 2013,SharePoint Foundation 2013,SharePoint Online — Juan Carlos González Martín @ 19:24

Como continuación del post qué escribí hace tiempo en relación a las novedades en manejadores de eventos para SharePoint 2013, en este nuevo artículo quería explicar como quedaría el trabajo con dichos manejadores tanto para SharePoint 2013 RTM como para SharePoint Online en Office 365. Al lío pues:

using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Net;

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

  • A continuación, procederemos a codificar los dos métodos del servicio qué nos permiten responder a eventos de naturaleza síncrona (ing) y asíncrona(ed). Para los eventos síncronos, tenemos que codificar el método ProcessEvent siguiendo por ejemplo el primer post de la serie.
  • En cambio, para los eventos asíncronos tendremos que codificar el método ProcessOneWayEvent de acuerdo al siguiente fragmento de código:
            HttpRequestMessageProperty requestProperty =
                (HttpRequestMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpRequestMessageProperty.Name];
            string contextTokenString = 
                requestProperty.Headers["X-SP-ContextToken"];
 
            // If there is a valid token, continue. 
            if (contextTokenString != null)
            {
                SharePointContextToken contextToken =
                    TokenHelper.ReadAndValidateContextToken(
                        contextTokenString, requestProperty.Headers[HttpRequestHeader.Host]);
                Uri sharepointUrl =
                new Uri(properties.ItemEventProperties.WebUrl);
                string accessToken =
                TokenHelper.GetAccessToken(contextToken, sharepointUrl.Authority).AccessToken;
                using (ClientContext ctx = 
                    TokenHelper.GetClientContextWithAccessToken(sharepointUrl.ToString(), accessToken))
                {
                    if (properties.EventType == SPRemoteEventType.ItemAdded)
                    {
                        List lList =
                            ctx.Web.Lists.GetByTitle(
                                properties.ItemEventProperties.ListTitle);
                        ctx.Load(lList);
                        ListItem liItem =
                            lList.GetItemById(
                                properties.ItemEventProperties.ListItemId);
                        ctx.Load(liItem);
                        ctx.ExecuteQuery();
                        liItem["Title"] +=
                            " - Elemento Añadido";
 
                        liItem.Update();
                        ctx.ExecuteQuery();
                    }
                }
            }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

  • Cómo veis, frente al primer artículo de la serie basado en la versión Preview de SharePoint 2013, en este caso hacemos uso de la clase TokenHelper proporcionada al crear el proyecto de aplicación qué nos da las clases y métodos necesarios para poder interactuar de vuelta con SharePoint mediante OAuth dado qué en este caso estamos actualizando información del elemento de lista que se ha añadido. Fijaros en la mecánica a seguir:
    • En primer lugar, al realizar una petición a SharePoint desde una aplicación (en este caso desde el servicio WCF qué implementa la lógica del manejador de eventos remoto), necesitamos disponer de un Token de Contexto qué es generado por ACS (Azure Token Service).
    • Con el Token de contexto disponible, estamos en disposición de poder hacer operaciones “de vuelta” (callback) contra SharePoint para lo que necesitamos disponer de un Token de Acceso. Fijaros en como este Token de Acceso es obtenido por la aplicación partiendo del Token de Contexto y de nuevo a través de ACS.
    • Con el Token de Acceso, ya podemos crear una instancia de ClientContext y empezar a interactuar con SharePoint.
  • Dicho esto, ya sólo queda comenzar a probar el manejador de eventos remoto y verificar que funciona de forma correcta.

image

Referencia: http://code.msdn.microsoft.com/office/SharePoint-2013-Use-event-8b5a551f/sourcecode?fileId=72211&pathId=989899932

Página siguiente »

Tema Rubric. Blog de WordPress.com.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.