Error en ubicación de seguridad al editar un archivo con el editor de Excel desde Sharepoint


Si en alguna ocasión nos aparece este error al intentar editar o visualizar un archivo Excel con el editor que incorpora Sharepoint 2010 (Office Web Apps):

Es porque en nuestra configuración de Excel Services a nivel de Granja no tenemos configurada la ubicación de la lista de documentos en que tenemos el archivo.

Para configurarla, seguir estos pasos:

Abrir la Administración Central de Sharepoint y seleccionar “Administrar aplicaciones de servicio”:

En la lista de aplicaciones, seleccionar Excel Services Application:

Seleccionar Ubicaciones de Confianza:

Seleccionar Agregar Ubicaciones de Confianza:

 

Incluir aquí la ruta de nuestra librería de archivos:

Y pulsar en Aceptar. A partir de aquí, ya podemos leer archivos de esta ubicación. Explora el resto de opciones de esta vista, verás que hay alguna realmente interesante…

Google
Visita mi perfil en Google Plus

Anuncios

Error “Validación de Datos” al abrir una hoja Excel con el editor o visor de Excel del navegador


El editor de archivos Excel en el navegador, tiene algunas restricciones. Por ejemplo, no es capaz de editar, ni siquiera visualizar, archivos que contengan “Validación de Campos”.

¿Qué es la validación de campos?
Pues algo tan sencillo como que configuremos una casilla para que contenga un valor definido de una lista de otras casillas. Por ejemplo, si queremos que una casilla sólo contenga Sí o No, introducimos en otras coordenadas estos valores:
Lista de Valores
Y después configuramos la celda en la que queremos estos valores:
Paso 1:
Validación de datos

Paso 2:
Validación de datos2
Paso 3:
Validación de datos3
Y a partir de aquí, cuando introduzcamos datos en este campo, nos aparece un desplegable con el contenido de la lista que hemos seleccionado:
Validación de datos4
Esto, que es muy práctico de usar, hace que el editor en el navegador que incorpora Sharepoint no sea compatible con nuestro archivo y que, para poder editarlo, tengamos que hacerlo con la aplicación de escritorio de Excel.
Para realizar esta edición, seleccionar la opción desde el menú desplegable:
Editar En Excel
De este modo evitamos el error siguiente:
Error

Espero que os sea de utilidad esta información.

Google
Visita mi perfil en Google Plus

Instalación de servidores en equipos de desarrollo


Hay que entender que este post está dedicado a desarrolladores, no hay nunca que usar un equipo de desarrollo como servidor de producción.

Bien, pues para tener nuestro equipo de desarrollo con nuestro Windows7 y, además, tener instalado, por ejemplo SharePoint 2010, Office Web Apps, Project Server, …, en fin, cualquiera de los servidores de Microsoft, es relativamente sencillo.

Lo primero hay que extraer el programa de instalación del ejecutable en que está encapsulado con el modificador Extract. Para ello, seguimos los siguientes pasos:

1º Crear una carpeta para incorporarle el contenido del archivo SETUP.EXE (o el que sea, p.ej. SharepointFoundation.exe). En nuestro ejemplo la carpeta se llamará “c:\carpeta”, para ser originales.

2º Copiamos dentro de nuestra carpeta el archivo de instalación.

3º Ejecutar el instalador con el modificador /Extract. Sería algo así:

c:\carpeta\setup.exe /EXTRACT:c:\carpeta

Una vez hecho esto, tendremos en la carpeta “carpeta” el instalador separado por archivos. Tenemos que localizar, en la carpeta “Files\Setup” el archivo “CONFIG.XML” y abrirlo para edición.

Añadimos a este archivo de configuración el siguiente Setting:

<Setting Id="AllowWindowsClientInstall" Value="True"/>

Guardamos el archivo y, de este modo conseguimos que la instalación pase del primer punto de control.

Es posible que nos indique que hay que instalar los pre-requisitos del servidor en cuestión que estemos instalando (en este tema no entro, hay mucha documentación al respecto), bien pues, instalarlos.

El otro escollo importante al instalar, es un mensaje maldito que dice:

“Windows Server Features or Role Services required by this product are not enabled. For a complete list, click on the link below.”

Bien, esto sucede porque el instalador está buscando el programa “ServerManagerCmd” y no lo tenemos instalado. Hay muchas maneras de solucionarlo, pero para mi gusto, la más rápida, es crear este programa.

Sencillamente abrimos Visual Studio 2010, creamos una aplicación de consola y le ponemos el siguiente código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimulateServerManagerCmd
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Environment.ExitCode = 1003;
        }
    }
}

Compilamos y copiamos el archivo (previo cambio de nombre  a ServerManagerCmd) en c:\windows\system32.

Ahora ya nos deja seguir con la instalación. Sencillamente le estamos dando al instalador lo que está pidiendo.

Según mi experiencia, este post es válido para SharePoint Foundation  2010, SharePoint Server 2010, Office Web Apps y Project Server 2010, pero supongo que será válido para más servidores..

Hasta otra!!.

Google
Visita mi perfil en Google Plus

Cacheando Sharepoint 2010


Para hacer un poco más rápido el tiempo de respuesta de las aplicaciones web, lo normal es mantener en la memoria caché los recursos que no suelen cambiar, pues, para el IIS, es más rápido acceder a ellos desde la memoria o desde el disco duro, que hacer la petición a un servidor SQL.

Sharepoint tiene su propia gestión de caché. En este post, vamos a explicar muy rápidamente cómo habilitar el caché BLOB. En este caché, Sharepoint guardará archivos de diferentes tipos, como imágenes, js o css.

Por defecto esta opción viene deshabilitada, así que, sencillamente, vamos a habilitarla.

Por lo profundo en la estructura de disco que está el archivo Web.Config del site de Sharepoint que queramos optimizar, un camino más rápido para llegar a él es a través del IIS. Así que lo primero, abrimos el IIS. Desplegamos Sites y hacemos click con el botón derecho en el site de Sharepoint para seleccionar Browse.

En la carpeta que se abrirá, buscamos el archivo Web.Config y lo editamos con, por ejemplo, el Notepad.

Buscamos el tag BlobCache y veremos que es algo como esto:

<BlobCache location=”” path=”\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$” maxSize=”10″ enabled=”false” />

Las opciones que tiene son:

location: Aquí especificaremos la carpeta que queremos usar para guardar el caché. Podemos modificarla por, por ejemplo: c:\temp\SPCache

path: Es evidente que son los tipos de archivo a cachear.

maxSize: Tamaño de la caché en Gb. Por defecto está en 10.

enabled: Si lo dejamos como está, pues el caché está desactivado, para activarlo, ponerlo en True.

Y ya está, esta es la configuración base que podemos gastar para configurar el caché de blobs.

Hasta pronto.

Google
Visita mi perfil en Google Plus

Migrar lista de Sharepoint 2007 a lista de Sharepoint 2010


Recientemente me he visto en la obligación de tener que migrar una lista con datos sensibles de una instalación en Sharepoint 2007 a una instalación nueva en Sharepoint 2010.

Bien, primero un poco de teoría, después explicaré en profundidad y con detalle la práctica.

Después de dar muchas vueltas por Internet y no encontrar información al respecto, he descubierto las siguientes verdades a medida que he intentado métodos para pasar los datos:

Las exportaciones de listas (*.STP) de SP2007 no son compatibles con SP2010. Es decir, no se puede importar y exportar y listo.

El SPMetal de SP2010 no genera las clases de un site de SP2007. Es decir, no se puede utilizar LINQ desde VS2010 para hacer un proceso o un webpart que haga la importación.

Sí se puede conectar al WebService de SP2007 (http://TuServidor/sites/TuSubSite/_vti_bin/Lists.asmx) desde VS2010 y utilizar los métodos de que dispone el servicio para obtener los datos, guardarlos en colecciones y después subirlos, o bien con las clases que sí tenemos disponibles para SP2010 (SPList, SPListItem) o bien conectar al WebService de SP2010 para utilizar REST y guardar los datos.

Cuando llevaba un buen rato implementando este sistema, no sé por qué, he pensado en la manía de Microsoft en cambiar las extensiones de los archivos (p.ej. los docx en realidad son .zip, los swp en realidad son .cab, etc) y he mirado, por curiosidad, el stp que he exportado de SP2007: ¡Eureka! También es un .cab.

Bien, pues resulta que, al descomprimirlo, sólo contiene un archivo y se llama “manifest.xml”. Pues lo he mirado por dentro y tiene un tag bastante indicativo:

<ProductVersion>3</ProductVersion>

Y digo, bueno, ¿realmente sería suficiente con cambiar la versión para que lo lea SP2010? Pues sí, efectivamente. He cambiado la versión, he vuelto a empaquetarlo como .cab y le he cambiado la extensión otra vez a .stp y esta vez sí me ha permitido SP2010 importarlo.

¿Fácil no? Bueno, pues sí, el resultado final es muy fácil.

Vamos con la práctica completa:

1.- Exportar la lista de SP2007.

Entrar en la edición de la lista de Sharepoint 2007 y buscar la opción “Save document library as template”:

Aparecerá la siguiente pantalla. En ella, recordar CHEQUEAR la opción de incluir contenido, si no, el trabajo no sirve de nada:

Al archivo generado, digamos, “wikipages.stp”, cambiarle la extensión por “.cab”:

Ahora podemos extraer el contenido del archivo con, por ejemplo Winrar:

Una vez descomprimido, ya podemos editar el archivo extraido con, por ejemplo, el Notepad:

Donde decía

<ProductVersion>3</ProductVersion>

Lo modificamos y ponemos

<ProductVersion>4</ProductVersion>

y lo guardamos.

Por cierto, ¿¿¿veis que pone <Language>1033</Language>??? Bien, pues nos dice que la lista se ha creado en inglés EEUU. Si el idioma base del site donde intenteis importarlo no es el mismo, seguramente tendreis problemas.

Bueno, pues ya tenemos casi todo hecho. El siguiente paso es volver a crear el .cab, lo hacemos con la utilidad del S.O. para ello:

Después lo renombramos a la extensión .stp:

Y ya podemos irnos a SP2010 a importar la plantilla, para ello entramos en las opciones del Site:

Y vamos a la opción List templates:

Y, en la opción del Ribbon “Documents”, seleccionamos a través de Upload Document, el archivo WikiPages2010.stp.

Nos aparecerá en la lista y sólo nos queda seleccionarlo y activarlo.

Ya está. Sí, seguro, ya está. Ya podemos crear nuestra lista basada en este Template List y nos la creará con todo el contenido.

 

Y eso es todo amigos. Por hoy no tengo nada más que añadir.

 

victorxata!!

Google
Visita mi perfil en Google Plus

¡Don’t make the programmer think!


Tras cierto tiempo programando en Delphi (+10 años), en Softeng nos hemos tenido que certificar en SharePoint 2010. Del mundo que vengo, la programación de escritorio con Delphi, mucha gente decide compartir sus conocimientos en blogs, páginas técnicas, etc. Esto nos ha servido a muchos programadores durante muchos años para conocer mejor el API, la VCL de Delphi, técnicas para mejorar procesos, etc.

Acostumbrado a esto, he aterrizado en el mundo Sharepoint. Cuál está siendo mi sorpresa viendo este mismo tipo de blogs, páginas técnicas, etc. El hiperespacio está forrado de gente que escribe artículos no basados en su propia experiencia y conocimiento, sino basados en el propio MSDN y sus ejemplos. Hasta que me he dado cuenta de esto, he perdido mucho tiempo implementando una y otra vez los mismos ejemplos (muchas veces para SP2007). Encontrando una y otra vez los mismos fallos. Descubriendo una y otra vez que, los ejemplos de Microsoft, son básicos. No he encontrado (no muchas) páginas escritas por profesionales que se han encontrado con los mismos requerimientos que yo haciendo “algo”.

Intentaré que esta página sea eso. Lo que otras pretenden y no son. Intentaré que los post que aquí haya, estén con los pies en el suelo. Los ejemplos que ponga no serán básicos (pues el mundo real nunca lo es).

Este es mi compromiso y aquí comienza mi blog.

Bienvenidos!!!

Google
Visita mi perfil en Google Plus