SharePoint 2013. ¿Cómo descargo SkyDrive Pro?

Hace unos días en adejetec, un evento de tecnología en Tenerife, hablábamos sobre las nuevas y viejas características de Office 365. Entre todas, destacó SkyDrive Pro, una vieja necesidad para SharePoint que en la última versión se ha hecho realidad.

La duda surgió cuando nos fuimos a SkyDrive en un SharePoint y no teníamos la opción de sincronizar, ¿no debería de haber salido un asistente de instalación de SkyDrive Pro? Pues al parecer no, SkyDrive Pro, de momento, hay que instalarlo antes de poder sincronizar desde SharePoint.

Nos ponemos a la búsqueda y no encontrábamos el cliente de SkyDrive Pro por ningún sitio en Microsoft.com, y lo dimos por perdido, conociendo que la instalación se realiza con el despliegue de Office 2013, pero ¿qué pasa si mi suscripción de Office 365 no tiene la licencia de Office?

Seguimos buscando en el portal de Office 365, en el software a descargar y tampoco, no aparece por ningún lado. Tuvimos que desistir, aunque parece que nos han escuchado. Ayer se publicó la instalación stand-alone del cliente de SkyDrive Pro, para aquellos que no tienen licencia de Office 2013 y quieren sincronizar SharePoint.

Resumiendo, dos métodos para instalar SkyDrive Pro:

 

Saludos a todos…

SharePoint App. Aplicaciones multi-idioma

Ahora que estamos pensando en publicar nuestras Apps en la tienda de SharePoint, es muy importante tener en cuenta la globalización de la tienda y que nuestra App debería de soportar múltiples idiomas. La idea es que podamos llegar a un mayor número de usuarios-empresas y por eso esta recomendación.

Básicamente, tenemos que localizar con recursos los tres elementos básicos que podemos implementar, Elementos de SharePoint (listas, tipos de contenido, App Parts, etc), el HTML y JavaScript, y nuestro code-behind, si lo tuviésemos.

Elementos de SharePoint

Primero nos toca definir, en el AppManifest, los idiomas soportados. Aquí hay que tener en cuenta los idiomas soportados en la tienda, por ejemplo, Spanish (es) no está soportado, hay que usar Spanish-Spain (es-ES).

 

Automáticamente, se nos creará en nuestro proyecto, los ficheros de recursos necesarios para la localización de los literales que necesitemos, y al igual que en un proyecto de SharePoint tradicional, si queremos localizar el título de la definición de una lista, haremos lo siguiente:

<?xml version="1.0" encoding="utf-8"?>


<Elements xmlns="http://schemas.microsoft.com/sharepoint/">


<ListInstance


Title="$Resources:ClientesList_Title"


OnQuickLaunch="TRUE"


TemplateType="10000"


Url="Lists/Clientes"


Description="$Resources:ClientesList_Description">


</ListInstance>


</Elements>


 

HTML y JavaScript

Aquí podemos trabajar con diversas técnicas que nos permita la localización, como de una aplicación normal se tratara, de los contenidos. Principalmente, hay que tener en cuenta, que en el querystring de nuestra App, tenemos una variable, SPLanguage, que nos define el idioma del usuario en SharePoint. Lo ideal sería leer esa variable y añadir el fichero de recursos que le corresponda a ese idioma. Os recomiendo este artículo de Olivier Carpentier que os muestra cómo hacerlo, más o menos como sigue:


var defaultLanguage = ‘en-us’;
var languagesArray = [‘en-us’, ‘fr-fr’];

// Función para leer las querystring de la url.
function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf(‘?’) + 1).split(‘&’);
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split(‘=’);
        vars.push(hash[0]);
        vars[hash[0]] = decodeURIComponent(hash[1]);
    }
    return vars;
}

// Obtenemos la variable SPLanguage
var queryString = getUrlVars();
var language = queryString[«SPLanguage»];
if (language == null)
{
    language = defaultLanguage;
}
else
{
    language = language.toLowerCase();
    var langExists = false;

    //Comprobamos si existe en los disponibles
    for (var i = 0; i < languagesArray.length; i++) {
        var testedLang = languagesArray[i];
        if (testedLang == language) {
            langExists = true;
            break;
        }
    }

    //Obtenemos el idioma de la región
    if (langExists == false) {
        var regionalLng = language.substring(0, 2);
        for (var i = 0; i < languagesArray.length; i++) {
            var testedLang = languagesArray[i].substring(0, 2);
            if (testedLang == regionalLng) {
                langExists = true;
                language = languagesArray[i];
                break;
            }
        }
    }

    //Si no existe, usamos el idioma definido por defecto
    if (langExists == false) {
        language = defaultLanguage;
    }
}
// Insertamos el script correspondiente al idioma
var resourcesFile = ‘../Scripts/Resources.’ + language + ‘.js’;
document.writeln(«<script src=«« + resourcesFile + «« type=«text/javascript« language=«javascript«></script>»)

Con esto, sólo tenemos que usar jQuery para poner la localización adecuada en cada caso.

Code-Behind

En este caso, vamos a poder usar cualquier tipo de localización que nos permite el lenguaje de desarrollo que usemos, ya que podemos usar este método para la Provider-hosted como para las Autohosted. Por ejemplo, si tenemos una Autohosted, lo normal es usar ficheros de recursos en ASP.NET y que cambiemos la cultura actual de la ejecución por la que nos viene en la querystring.

protected override void InitializeCulture()

{

if (Request.QueryString[«SPLanguage»] != null)

{

string selectedLanguage = Request.QueryString[«SPLanguage»];

UICulture = selectedLanguage;

Culture = selectedLanguage;

 

Thread.CurrentThread.CurrentCulture =

CultureInfo.CreateSpecificCulture(selectedLanguage);

Thread.CurrentThread.CurrentUICulture = new

CultureInfo(selectedLanguage);

}

base.InitializeCulture();

}

Para probar en múltiples idiomas, os recomiendo crearos un sitio de desarrollo en el idioma a probar y listo, depuramos o desplegamos nuestra App en este.

Tenéis más información sobre localización de SharePoint Apps en la MSDN

Si cuando desarrollamos una App para Windows Phone o Windows Store, os recomendamos localizarla a todos los idiomas posibles, o como mínimo, a español e inglés, con las SharePoint Apps es aún más importante. Pensemos en la cantidad de usuarios-empresas repartidos por el mundo que pueden ver nuestra App en la tienda y que son susceptibles de adquirirla si la entienden y está en un idioma conocido.

 

Saludos a todos…