...
ttphttps://doc.nuxeo.com/display/ADMINDOC/Bulk+Document+Importer
nxdoc/nuxeo-bulk-document-importer/
Requiere la instalación del paquete de Nuxeo "nuxeo-plataform-importer".
...
├── 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
...
- 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:
- Advanced Settings> XML Extensions
- Nueva extension (Por ejemplo, "
ConfigureBulkImporter
") - 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,
GET http://localhost:8080/nuxeo/site/fileImporter/logActivate
GET http://localhost:8080/nuxeo/site/fileImporter/run?targetPath=/default-domain/workspaces/some-workspace&inputPath=/path/to/import&batchSize=10&interactive=false&nbThreads
GET http://localhost:8080/nuxeo/site/fileImporter/log
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 |
---|---|---|
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 |
---|---|---|
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) |
| N/A | Camino destino en Nuxeo |
| false | Si es verdadero el directorio no será creado |
| 5 | Número de documentos que se creará antes de hacer un commit |
| 5 | Número máximo de thrads que pueden ser permitidas |
| 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 |
---|---|---|
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 | |
|
nbNodes | N/A | Número de nodos a crear |
fileSizeKB |
onlyText | true |
blockSyncPostCommitProcessing |
blockAsyncProcessing |
bulkMode | true |