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

Anuncios

16 comentarios en “Migrar lista de Sharepoint 2007 a lista de Sharepoint 2010

  1. estimado, otra consulta…..el numero del xml que denota el idioma 1033
    se puede modificar para cambiar al español y cual numero seria???? muy agradecida saludos

  2. Hola gracias por el post esta muy claro, pero mi tema es el siguiente.
    pude subir el archivo spt, activarlo y aparece en la lista, pero como este mismo lo puedo subir a un sitio de un proyecto.
    el stp que tengo lo saque de otra sitio que esta en ingles SP2010 y este contiene todos los documentos que tengo en el sitio del proyecto, este lo quiero pasar a otro sitio pero que esta en español y tambien es un SP2010.
    me explico?
    lamentablemente no se pueden adjuntar imagenes para que puedas entender mejor

    • Te contesto lo mismo que a Claudia. Cambiar el idioma no es recomendable, dudo mucho que funcione. ¿Por qué no creas el site en inglés? Después añades la traducción al español y el efecto final es el mismo…

  3. lamentablemente ya lo crearon en español y ya tenemos cargado mas de 60 proyectos.
    existe alguna herramienta que me pueda convertir el idioma a español.
    probe con el KwizCom, pero no funciona.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s