GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

STSADM, importar y exportar Librerías de Documentos o Listas y Carpetas de MOSS con las extensiones de Gary Lapointe


STSADM incluye operaciones para mover Colecciones de Sitios completas (STSADM -o backup y STSADM -restore) y operaciones para mover Subsidios o Web Sites (STSADM -export y STSADM -import), en ambos casos con sus particularidades. Sin embargo, STSADM no incluye operaciones para mover Listas de MOSS ni carpetas, algo de gran utilidad para automatizar despliegues de aplicaciones MOSS y como técnica de recuperación de documentos. ¿Cómo podemos cubrir esta necesidad? ¿Podemos utilizar las extensiones de Gary Lapointe? ¿Qué son las extensiones de Gary Lapointe? ¿Cómo instalar las extensiones de Gary Lapointe?

Una posible solución (que no la única) a este problema es utilizar las extensiones de Gary Lapointe (MVP - Most Valuable Professional en SharePoint). Pero ¿Qué son las extensiones de Gary Lapointe? Las extensiones de Gary Lapoint son una solución de MOSS, que una vez instalada (o desplegada, también podríamos decir) en nuestra Granja MOSS, incluye nuevas operaciones del comando STSADM (de hecho, añade un montón de nuevas operaciones que empiezan por gl-). Para el caso particular de importar y exportar Listas de SharePoint (MOSS), nos van a interesar las operaciones gl-exportlist, gl-importlist, gl-copylist, y quizás gl-getlistschemaxml. Las operaciones gl-exportlist, gl-importlist y gl-copylist utilizan internamente la API de Content Deployment.

También es importante advertir, que la utilización de las extensiones de Gary Lapointe debe realizarse bajo la cuenta y riesgo de cada uno. Esto puede causar rechazo en su utilización, al tratarse de un método no soportado, pero también es importante ser consciente de que las extensiones de Gary Lapointe son ampliamente utilizadas en Granjas MOSS por todo el mundo. Véase el caso de Systernals, finalmente adquirido por Microsoft.

Es importante comentar que como ventaja de utilizar las extensiones de Gary Lapointe para exportar e importar listas de MOSS, existe la posibilidad de mantener los identificadores de objetos, algo que NO es posible con STSADM -o export y STSADM -o import (en todo caso, podríamos con gl-import2, que también es parte de las extensiones de Gary Lapointe, y siempre teniendo en cuenta las limitaciones propias de gl-import2).

Del mismo modo, es importante tener en cuenta al utilizar gl-exportlist/gl-importlist/gl-copylist, que una lista o librería de documentos sólo podrá ser importada con el mismo nombre, ya sea en el mismo Sitio (Web Site) de origen, o en un Sitio (Web Site) diferente. Es decir, la lista /DocumentosProyecto la podremos importar en el Sitio (Web Site) que queramos, pero siempre como /DocumentosProyecto, y jamás bajo otro nombre.

Otro detalle a tener en cuenta al trabajar con gl-exportlist/gl-importlist/gl-copylist, es que sólo funcionan con una Lista o Librería de Documentos completa, es decir, si deseamos exportar e importar sólo una carpeta de una Lista o Librería de Documentos, no podremos hacerlo con gl-exportlist/gl-importlist/gl-copylist. Para esto, existen otros comandos dentro de las extensiones de Gary Lapointe, de tal modo que para conseguir este objetivo deberíamos utilizar gl-exportlistfolder y gl-importlistfolder (comando muy similares a gl-exportlist y gl-importlist).

¿Cómo instalar las extensiones de Gary Lapointe?

Pues muy fácil. Deberemos descargar primero el fichero WSP correspondiente a las extensiones de Gary Lapointe, algo que podemos hacer desde la página de descarga del Blog de Gary Lapointe. Yo me descargué el MOSS Only STSADM Extensions (x86, x64), en la sección STSADM Extension WSP Files. Después copiaremos el fichero WSP de las extensiones de Gary Lapointe a uno de los frontales (por ejemplo, al directorio C:\Temp), para seguidamente, instalar las extensiones de Gary Lapoint utilizando el comando STSADM. A continuación se muestra un ejemplo de los tres comandos STSADM ejecutados (addsolution para copiar la solución al almacén de soluciones de MOSS, y deploysolution y execadmsvcjobs para implementar/desplegar la solución de inmediato) para instalar las extensiones de Gary Lapointe, incluyendo la salida producida por la ejecución de los mismos (en mi caso, una Granja MOSS 2007 SP1).

C:\temp>stsadm -o addsolution -filename Lapointe.SharePoint.STSADM.Commands.wsp

Operation completed successfully.

C:\temp>stsadm -o deploysolution -name Lapointe.SharePoint.STSADM.Commands.wsp -immediate -allowgacdeployment

Timer job successfully created.

C:\temp>stsadm -o execadmsvcjobs

Executing .
Operation completed successfully.

Si deseamos comprobar con la Consola de Administración Central de MOSS, si las extensiones de Gary Lapointe están instaladas en nuestra Granja MOSS, es suficiente con seleccionar la pestaña Operaciones (Operations), y seguidamente click en la opción Administración de soluciones (Solution management) de la sección Configuración Global (Global Configuration). Así, en la página Administración de soluciones (Solution management), deberemos poder comprobar si la solución lapointe.sharepoint.stsadm.commands.wsp existe y está implementada.

STSADM -o gl-exportlist

Este comando es muy similar al comando STSADM -o export, con la particularidad de que deberemos especificar la URL de la librería de documentos o lista que deseemos exportar. A continuación se muestra la salida de STSADM -help gl-exportlist, con un resumen de todos los parámetros de gl-exportlist.

stsadm -o gl-exportlist

Exports a list.

Parameters:
   -url <list view url>
   -filename <export file name>
   [-overwrite]
   [-includeusersecurity]
   [-haltonwarning]
   [-haltonfatalerror]
   [-nologfile]
   [-versions <1-4>
    1 - Last major version for files and list items
    2 - The current version, either the last major or the last minor
    3 - Last major and last minor version for files and list items
    4 - All versions for files and list items (default)]
   [-cabsize <integer from 1-1024 megabytes> (default: 25)]
   [-nofilecompression]
   [-includedescendants <All | Content | None>]
   [-excludedependencies (Specifies whether to exclude dependencies from the export package when exporting objects of type SPFile or SPListItem)]
   [-quiet]

Copyright 2008 Gary Lapointe
   > For more information on this command and others:
   > http://stsadm.blogspot.com/
   > Use of this command is at your own risk.
   > Gary Lapointe assumes no liability.

Es importante especificar correctamente la URL, en particular, la parte correspondiente a la Aplicación Web. Por ejemplo, para mi Aplicación Web http://moss.guillesql.local, es necesario utilizar dicha URL (o algún otro Acceso Alternativo valido) al especificar la URL de la Librería de Documentos o Lista a exportar con STSADM -o gl-exportlist. Si en vez de utilizar la URL de la Aplicación Web, se utiliza otra URL que tampoco esté definida como Acceso Alternativo (ej: http://vmoss01mob.guillesql.local) se obtendrá el siguiente error:

The Web application at http://vmoss01mob.guillesql.local/Documentos%20Versionados/Forms/AllItems.html could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.

A continuación se muestra un ejemplo de utilización de STSADM -o gl-exportlist, que realizará una exportación de la lista sin compresión (creará un directorio z:\temp\exportlist que almacenará todos los ficheros generados durante la exportación de la lista, incluyendo todas las versiones y la seguridad):

stsadm -o gl-exportlist -url "http://moss.guillesql.local/Documents/Forms/AllItems.html" -filename "z:\temp\exportlist" -includeusersecurity -versions 4 -nofilecompression

Un parámetro que puede resultar de gran utilidad es el parámetro -nofilecompression para decirle a STSADM que genere los ficheros de la exportación en un directorio y ya está. En este caso, los ficheros de la exportación se generan directamente sobre la ubicación de destino deseada (en vez de sobre un directorio temporal previo a la compresión), ahorrando tiempo de exportación (es decir, la exportación será más rápida al no ser necesario realizar la compresión, liberando recursos de disco y de CPU).

STSADM -o gl-importlist

Este comando es muy similar al comando STSADM -o import. Sin embargo, gl-importlist nos va a permitir importar sólo una lista o librería de documentos, exportada previamente con STSADM -o gl-exportlist.

Un detalle muy importante al utilizar gl-importlist, es que deberemos especificar el Sitio (Web Site) de destino empleando el parámetro -url, es decir, gl-importlist nos va a permitir importar una lista sobre el Sitio (Web Site) deseado con el mismo nombre, pero NO nos va a permitir importar sobre una lista con nombre diferente, ni en el mismo Sitio (Web Site) ni sobre un Sitio (Web Site) distinto al de origen.

A continuación se muestra la salida de STSADM -help gl-importlist, con un resumen de todos los parámetros de gl-importlist.

stsadm -o gl-importlist

Imports a list.

Parameters:
   -url <url of a web site to import to>
   -filename <import file name>
   [-includeusersecurity]
   [-haltonwarning]
   [-haltonfatalerror]
   [-nologfile]
   [-updateversions <1-3>
    1 - Add new versions to the current file (default)
    2 - Overwrite the file and all its versions (delete then insert)
    3 - Ignore the file if it exists on the destination]
   [-nofilecompression]
   [-quiet]
   [-retargetlinks (resets links pointing to the source to now point to the target)]
   [-sourceurl <url to a view of the original list> (use if retargetlinks)]
   [-retainobjectidentity]
   [-suppressafterevents (disable the firing of "After" events when creating or modifying list items)]
   [-copysecuritysettings (must provide sourceurl and includeusersecurity)]
Copyright 2008 Gary Lapointe
   > For more information on this command and others:
   > http://stsadm.blogspot.com/
   > Use of this command is at your own risk.
   > Gary Lapointe assumes no liability.

A continuación se muestra un ejemplo de utilización de STSADM -o gl-importlist, que realizará una importación de una lista sin compresión (desde un directorio z:\temp\exportlist que almacenará todos los ficheros generados durante la exportación de la lista original) sobre un Sitio (Web Site) creado como Sitio de Restauración:

stsadm -o gl-importlist -url "http://moss.guillesql.local/RestoreSite" -filename "z:\temp\exportlist" -includeusersecurity -updateversions 2 -nofilecompression -retargetlinks -sourceurl "http://moss.guillesql.local/Documents/Forms/AllItems.html"

Un parámetro muy útil en importaciones con gl-importlist, es el parámetro -retainobjectidentity, que permite mantener los identificadores de objeto originales.

STSADM -o gl-copylist

El comando gl-copylist no aporta gran cosa, pues realmente se limita a realizar un gl-exportlist seguido de un gl-importlist, pero empleando un único comando: gl-copylist. Por lo tanto, no va aportar grandes funcionalidades que no sean ya aportadas por los comandos gl-exportlist o gl-importlist.

A continuación se muestra la salida de STSADM -help gl-copylist, con un resumen de todos los parámetros de gl-copylist.

stsadm -o gl-copylist

Copies a list to a new web.

Parameters:
   -sourceurl <list view url to copy>
   -targeturl <url of a web site to copy to>
   [-includeusersecurity]
   [-haltonwarning]
   [-haltonfatalerror]
   [-nologfile]
   [-versions <1-4>
    1 - Last major version for files and list items
    2 - The current version, either the last major or the last minor
    3 - Last major and last minor version for files and list items     4 - All versions for files and list items (default)]
   [-updateversions <1-3>
    1 - Add new versions to the current file (default)
    2 - Overwrite the file and all its versions (delete then insert)
    3 - Ignore the file if it exists on the destination]
   [-quiet]
   [-retargetlinks (resets links pointing to the source to now point to the target)]
   [-deletesource]
   [-temppath <temporary folder path for storing of export files>]
   [-includedescendants <All | Content | None>]
   [-excludedependencies (Specifies whether to exclude dependencies from the export package when exporting objects of type SPFile or SPListItem)]
   [-nofilecompression]
   [-suppressafterevents (disable the firing of "After" events when creating or modifying list items)]

Copyright 2008 Gary Lapointe
   > For more information on this command and others:
   > http://stsadm.blogspot.com/
   > Use of this command is at your own risk.
   > Gary Lapointe assumes no liability.

A continuación se muestra un ejemplo de utilización de STSADM -o gl-copylist, que realizará una exportación e importación de una lista sobre un Sitio (Web Site) creado como Sitio de Restauración:

stsadm -o gl-copylist -sourceurl "http://moss.guillesql.local/Documents/Forms/AllItems.html" -targeturl "http://moss.guillesql.local/RestoreSite" -includeusersecurity -updateversions 2 -versions 4 -retargetlinks

Un parámetro que puede resultar útil al utilizar gl-copylist, es el parámetro -deletesource, que permite eliminar la lista origen una vez importada en el destino, consiguiendo un comportamiento similar a un hipotético gl-movelist.

STSADM -o gl-getlistschemaxml

Para acabar, queda comentar el comando gl-getlistschemaxml, que si bien no nos va a servir para exportar e importar listas, nos puede ayudar en la depuración de errores. Su cometido, es devolvernos un XML a modo de resumen de configuración de la lista especificada, con el objetivo de poder analizar dicho XML, poder compararlo y utilizarlo de línea base, etc.

A continuación se muestra la salida de STSADM -help gl-getlistschemaxml, con un resumen de todos los parámetros de gl-getlistschemaxml.

stsadm -o gl-getlistschemaxml

Returns the XML schema for a list.

Parameters:
   -url <list view url>

Copyright 2008 Gary Lapointe
   > For more information on this command and others:
   > http://stsadm.blogspot.com/
   > Use of this command is at your own risk.
   > Gary Lapointe assumes no liability.

A continuación se muestra un ejemplo de utilización de STSADM -o gl-getlistschemaxml:

stsadm -o gl-getlistschemaxml -url "http://moss.guillesql.local/Documents/Forms/AllItems.html" > fichero.xml

Exportar e Importar carpetas MOSS con gl-exportlistfolder y gl-importlistfolder

Para finalizar, vamos a comentar otros dos comandos STSADM de las extensiones de Gary Lapointe de gran utilidad, que nos van a permitir exportar e importar carpetas de MOSS, con lo que podremos por fin copiar y mover carpetas MOSS.

A continuación se muestra la salida de STSADM -help gl-exportlistfolder, con un resumen de todos los parámetros de gl-exportlistfolder.

stsadm -o gl-exportlistfolder

Exports a list.

Parameters:
   -url <folder url>
   -filename <export file name>
   [-overwrite]
   [-includeusersecurity]
   [-haltonwarning]
   [-haltonfatalerror]
   [-nologfile]
   [-versions <1-4>
    1 - Last major version for files and list items
    2 - The current version, either the last major or the last minor
    3 - Last major and last minor version for files and list items
    4 - All versions for files and list items (default)]
   [-cabsize <integer from 1-1024 megabytes> (default: 25)]
   [-nofilecompression]
   [-includedescendants <All | Content | None>]
   [-excludedependencies (Specifies whether to exclude dependencies from the export package when exporting objects of type SPFile or SPListItem)]
   [-quiet]

Copyright 2008 Gary Lapointe
   > For more information on this command and others:
   > http://stsadm.blogspot.com/
   > Use of this command is at your own risk.
   > Gary Lapointe assumes no liability.

A continuación se muestra la salida de STSADM -help gl-importlistfolder, con un resumen de todos los parámetros de gl-importlistfolder.

stsadm -o gl-importlistfolder

Imports a list item or items.

Parameters:
   -url <url of list folder to import to>
   -filename <import file name>
   [-includeusersecurity]
   [-haltonwarning]
   [-haltonfatalerror]
   [-nologfile]
   [-updateversions <1-3>
    1 - Add new versions to the current file (default)
    2 - Overwrite the file and all its versions (delete then insert)
    3 - Ignore the file if it exists on the destination]
   [-nofilecompression]
   [-quiet]
   [-retargetlinks (resets links pointing to the source to now point to the target)]
   [-sourceurl <url to original source folder> (use if retargetlinks)]
   [-suppressafterevents (disable the firing of "After" events when creating or modifying list items)]
   [-retainobjectidentity]

Copyright 2008 Gary Lapointe
   > For more information on this command and others:
   > http://stsadm.blogspot.com/
   > Use of this command is at your own risk.
   > Gary Lapointe assumes no liability.

A continuación se incluye un ejemplo de gl-exportlistfolder y gl-importlistfolder, en el cual se exporta la carpeta /MisDocumentos/MiCarpeta, que seguidamente se importará en /MisDocumentos/RestoreFolder/MiCarpeta.

stsadm -o gl-exportlistfolder -url http://moss.guillesql.local/MisDocumentos/MiCarpeta -filename c:\temp\folder -includedescendants all

stsadm -o gl-importlistfolder -url http://moss.guillesql.local/MisDocumentos/RestoreFolder -filename c:\temp\folder.cmp




Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.