Cambiar la ubicación del repositorio
Por defecto, el repositorio se encuentra en “$TOMCAT_HOME/repository”, pero puede cambiarlo a otra ubicación.
Entender el contenido de las carpetas del repositorio
Sección titulada «Entender el contenido de las carpetas del repositorio»En “$TOMCAT_HOME/repository” hay cuatro carpetas: tmp, index, cache y datastore.
| Carpeta | Copia de seguridad | Descripción |
|---|---|---|
| tmp | No | Esta carpeta contiene algunos ficheros temporales que se comparten entre varias instancias de OpenKM en clúster. |
| index | No | La carpeta que contiene los índices del motor de búsqueda Lucene. El contenido de esa carpeta se puede reconstruir. Aunque no es obligatorio hacer copia de seguridad de esta carpeta, se recomienda hacerlo. |
| cache | No | La carpeta que contiene los ficheros en caché de la aplicación. Por ejemplo, para previsualizar documentos, a veces es necesario transformar el documento original a otro formato. La conversión consume muchos recursos de hardware; por ello la aplicación almacena estos ficheros convertidos para reutilizarlos más tarde. El contenido de esa carpeta se puede vaciar sin mayores problemas. Aunque no es obligatorio hacer copia de seguridad de esta carpeta, se recomienda hacerlo. |
| datastore | Sí | La carpeta que contiene todos los datos binarios de los documentos. Es obligatorio hacer copia de seguridad de esta carpeta; de lo contrario, los datos binarios de los documentos podrían perderse si falla el hardware del servidor. |
| extraction | Sí | Esta carpeta contiene el texto extraído de los documentos almacenados en OpenKM. No es realmente necesaria una copia de seguridad, pero puede ahorrar tiempo. |
| ocr_templates | Sí | Esta carpeta contiene los datos binarios de las plantillas OCR. |
Mover la ubicación completa del repositorio
Sección titulada «Mover la ubicación completa del repositorio»- Detenga la aplicación
- Mueva “$TOMCAT_HOME/repository” a otra ubicación.
- Edite el fichero “$TOMCAT_HOME/openkm.properties” y añada la propiedad “repository.home”.
- Inicie la aplicación
Ejemplo 1
Sección titulada «Ejemplo 1»Windows
Sección titulada «Windows»repository.home=C:/okmreporepository.home=/mnt/okmrepoMover las carpetas del repositorio individualmente
Sección titulada «Mover las carpetas del repositorio individualmente»Tabla de propiedades:
| Carpeta | Propiedad | Por defecto |
|---|---|---|
| index | spring.jpa.properties.hibernate.search.backend.directory.root | ${catalina.home}/repository/index |
| tmp | repository.temp.home | ${repository.home}/tmp |
| cache | repository.cache.home | ${repository.home}/${tenant.id}/cache |
| datastore | repository.datastore.home | ${repository.home}/${tenant.id}/datastore |
| extraction | repository.extraction.home | ${repository.home}/${tenant.id}/extraction |
| ocr template | repository.ocr.template.home | ${repository.home}/${tenant.id}/ocr_template |
- Detenga la aplicación
- Mueva “$TOMCAT_HOME/repository/{folder}” a otra ubicación.
- Edite el fichero “$TOMCAT_HOME/openkm.properties” y añada la propiedad correspondiente.
- Inicie la aplicación
Ejemplo
Sección titulada «Ejemplo»Windows
Sección titulada «Windows»spring.jpa.properties.hibernate.search.backend.directory.root=C:/lucene/indexrepository.datastore.home=D:/okm/${repository.home}/datastorerepository.cache.home=D:/okm/${repository.home}/cacherepository.temp.home=D:/okm/${repository.home}/tmprepository.ocr.template.home=D:/okm/${repository.home}/cacherepository.temp.home=D:/okm/${repository.home}/ocr_templatespring.jpa.properties.hibernate.search.backend.directory.root=/mnt/lucene/indexrepository.datastore.home=/mnt/okm/${repository.home}/datastorerepository.cache.home=/mnt/okm/${repository.home}/cacherepository.temp.home=/mnt/okm/${repository.home}/tmprepository.ocr.template.home=/mnt/okm/${repository.home}/cacherepository.temp.home=/mnt/okm/${repository.home}/ocr_templateUsar un backend compatible con S3
Sección titulada «Usar un backend compatible con S3»Cada carpeta del repositorio que tiene su propia propiedad “type” (datastore, cache, extraction, ocr template) se puede almacenar en Amazon S3 (o un servicio compatible con S3, por ejemplo MinIO) en vez de en el sistema de ficheros local, elegido de forma independiente para cada una.
| Carpeta | Propiedad de tipo | Valores |
|---|---|---|
| datastore | repository.datastore.type | filesystem (por defecto), s3 |
| cache | repository.cache.type | filesystem (por defecto), s3 |
| extraction | repository.extraction.type | filesystem (por defecto), s3 |
| ocr template | repository.ocr.template.type | filesystem (por defecto), s3 |
Cuando el tipo de una carpeta se establece en “s3”, las siguientes propiedades configuran la conexión. “repository.s3.*” actúa como valor por defecto global; “repository.{folder}.s3.*” (por ejemplo, “repository.datastore.s3.bucket”) lo sobrescribe solo para esa carpeta, de modo que distintas carpetas puedan usar buckets/credenciales diferentes si es necesario.
| Propiedad (global / por carpeta) | Descripción |
|---|---|
| repository.s3.bucket / repository.{folder}.s3.bucket | Nombre del bucket de S3. |
| repository.s3.region / repository.{folder}.s3.region | Región de AWS, por ejemplo eu-west-1. Déjelo vacío para usar el valor por defecto del SDK de AWS. |
| repository.s3.endpoint / repository.{folder}.s3.endpoint | URL del endpoint personalizado. Solo necesario para almacenamiento local compatible con S3 (por ejemplo, MinIO); déjelo vacío para AWS S3 real. |
| repository.s3.path-style-access / repository.{folder}.s3.path-style-access | Booleano. Habilítelo para servicios compatibles con S3 que requieran acceso de estilo path en vez de direccionamiento de estilo virtual-hosted. false |
| repository.s3.access-key / repository.{folder}.s3.access-key | Access key de AWS. Puede cifrarse con Jasypt ENC(…). Si tanto la global como la de la carpeta se dejan vacías, se usa en su lugar la cadena de proveedores de credenciales por defecto de AWS (rol IAM, variables de entorno, etc.). |
| repository.s3.secret-key / repository.{folder}.s3.secret-key | Secret key de AWS. Puede cifrarse con Jasypt ENC(…). |
| repository.{folder}.s3.key-prefix | Prefijo de clave usado para construir la clave S3 de cada objeto, por ejemplo “tenant_1/shard_1/datastore/…”. Sin valor global por defecto (cada carpeta necesita su propio nombre de directorio literal). Admite los mismos marcadores “${tenant.id}”/“${shard.id}” que las propiedades “*.home” del sistema de ficheros anteriores, pero por lo demás es independiente de ellas — cambiar “repository.{folder}.home” no afecta al prefijo de clave S3, y viceversa. ${tenant.id}/${shard.id}/ |
Todo lo anterior se establece en “$TOMCAT_HOME/openkm.properties” y requiere un reinicio para que surta efecto.
Solución de problemas
Sección titulada «Solución de problemas»La unidad de red mapeada de Windows no funciona
Sección titulada «La unidad de red mapeada de Windows no funciona»Parece haber restricciones al usar una unidad de red (mapeada con el comando “net use”) y ejecutar la aplicación como servicio. Para solucionarlo, es necesario crear un enlace entre la ruta UNC y el sistema de ficheros.
MKLINK /D C:\okm-repository \\192.168.1.36\eDocuments\okm-repository