BULK IMPORT

BULK IMPORT


https://doc.nuxeo.com/nxdoc/nuxeo-bulk-document-importer/



Requiere la instalación del paquete de Nuxeo "nuxeo-plataform-importer".

Su funcionalidad es importar gran cantidad de información, ya sea metadatos y/o ficheros, a una instancia.

Este sistema usa dos funcionalidades diferentes:

FileWithMetadataSourceNode


La idea es asociar un fichero "metadata.properties" en cada carpeta. En ese fichero se encontrarán los metadatos que se vayan a usar en ese directorio.

├── CARPETA-A
   ├── file1.pdf
   ├── file2.pdf
   ├── metadata.properties
   ├── CARPETA-A1
   │   ├── file1.pdf
   │   ├── file2.pdf
   │   └── metadata.properties
   ├── CARPETA-A2
   │   ├── file1.pdf
   │   ├── file2.pdf
   │   └── metadata.properties
   └── CARPETA-A3
   ├── file1.pdf
   ├── file2.pdf
   └── metadata.properties

El formato de los ficheros "metadata.properties" será el siguiente:



dc\:description=some desscription

dc\:source=some source

dc\:subjects=subject4|subject5

ecm\:primaryType=DesignArt

dc\:description=Created by the bulk-importer

da\:batch_import_id=123456

da\:author=John Doe

Podemos observar que se usará "ecm\:primaryType" para asignar el tipo de tipo documental al que se hace referencia.

FileWithIndividualMetadasSourceNode

En este caso la tipología es la siguiente. Se añadirá un fichero "metadata.properties" por cada fichero que se añada al sistema.

├── DIRECTORIO-A
│   ├── DIRECTORIO-A1
│   │   ├── hello11.pdf
│   │   └── hello11.properties
│   ├── hello1.pdf
│   └── hello1.properties
├── hello.pdf
└── hello.properties

Para usar esta tipología se necesita redefinir ciertos ficheros de importación. Abría que crear "importer-config.xml" en "nxserver/config", o añadir en Nuxeo Studio un fichero XML.

  • Usando "importer-config.xml":



     <?xml version="1.0"?>

     <component name="customImporter">

     <require>org.nuxeo.ecm.platform.importer.service.jaxrs.contrib</require>

 

     <extension target="org.nuxeo.ecm.platform.importer.service.DefaultImporterComponent" point="importerConfiguration">

         <importerConfig sourceNodeClass ="org.nuxeo.ecm.platform.importer.source.FileWithIndividualMetadasSourceNode" >

             <documentModelFactory leafType="File" folderishType="Folder" documentModelFactoryClass="org.nuxeo.ecm.platform.importer.factories.DefaultDocumentModelFactory" />

         </importerConfig>

     </extension>

     </component>

  • A través de Studio:

  1. Advanced Settings> XML Extensions

  2. Nueva extension (Por ejemplo, "ConfigureBulkImporter")

  3. Añadir el código anterior excepto las etiquetas "<?xml version="1.0"> , <component ...> and </component>" que las añade Studio por defecto.



FUNCIONAMIENTO

Su funcionamiento se realizará a través de un REST Cliente. En los enlaces siguientes se activará el log y se añadirá la carpeta "/path/to/import" en el directorio "default-domain/workspaces/some-workspace" de la instancia de Nuxeo,





Se debe tener en cuenta la cantidad de memoria que se pretende transferir, que se controlará mediante el archivo "nuxeo.cont" con la variable JAVA_OPTS (por ejemplo, -Xmx4g pondrá un máximo de 4Gbytes).

REST API



Fuente URL

Descripción

Salida

Fuente URL

Descripción

Salida

GET nuxeo/site/randomImporter/run

Generador de texto aleatorio para pruebas

text/plain; charset=UTF-8

GET nuxeo/site/fileImporter/run

Importa archivos por defecto

text/plain; charset=UTF-8

GET nuxeo/site/fileImporter/log

Log de contenido

text/plain; charset=UTF-8

GET nuxeo/site/fileImporter/logActivate

Activa log

text/plain; charset=UTF-8

GET nuxeo/site/fileImporter/logDesactivate

Desactiva log

text/plain; charset=UTF-8

GET nuxeo/site/fileImporter/status

Estado de importación (threads)

text/plain; charset=UTF-8

"Running" or "Not Running"

GET nuxeo/site/fileImporter/kill

Parar la importación

text/plain; charset=UTF-8

GET nuxeo/site/fileImporter

Interfaz de usuario para para establecer parámetros

(html)

fileImporter/run



Parámettros

Valores por defecto

Descripción

Parámettros

Valores por defecto

Descripción

leafType

null

Tipo leaf usado por documentModelFactory para importar

folderishType

null

Tipo fichero usado por documentModelFactory para importar

inputPath

N/A

Camino raíz para importar (local a servidor)

targetPath

N/A

Camino destino en Nuxeo

skipRootContainerCreation

false

Si es verdadero el directorio no será creado

batchSize

5

Número de documentos que se creará antes de hacer un commit

nbThreads

5

Número máximo de thrads que pueden ser permitidas

interactive

false



transactionTimeout

600

Timeout de transición (segundos)

N/A no es un valor por defecto, es un parámetro requerido.



randomImporter/run



Parámetros

Valores por defecto

Descripción

Parámetros

Valores por defecto

Descripción

targetPath

N/A

Camino destino en Nuxeo

skipRootContainerCreation





batchSize



Número de documentos que se creará antes de hacer un commit

nbThreads



Número máximo de threads que se puede asignar

interactive





nbNodes

N/A

Número de nodos a crear

fileSizeKB





onlyText

true



blockSyncPostCommitProcessing





blockAsyncProcessing





bulkMode

true