Instalación
Pasos para instalar y configurar la aplicación Remote Signature en OpenKM v7.1:
- Detenga Tomcat
- Descargue la aplicación desde el centro de descargas de OpenKM
- Esta aplicación necesita compartir la base de datos con OpenKM, así que no necesita crear una nueva
- Copie el fichero remote-signature.properties en Tomcat y modifique los parámetros de configuración
# Logging configlogging.file=${catalina.home}/logs/remote-signature.loglogging.level.org.springframework.security=INFOlogging.level.org.hibernate.sql = INFOlogging.level.com.openkm=INFO#logging.level.web=DEBUG
# Enable debugging for Spring Boot autoconfiguration#debug=true
# OpenKM Hibernate configuration valuesspring.datasource.driver-class-name=org.mariadb.jdbc.Driverspring.datasource.url=jdbc:mariadb://localhost:3306/remote-signature?useUnicode=true&characterEncoding=UTF8&serverTimezone=CET&nullNamePatternMatchesAll=truespring.datasource.username=openkmspring.datasource.password=openkm
# JPAspring.jpa.show-sql=falsespring.jpa.hibernate.ddl-auto=updatespring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDB103Dialectspring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImplspring.jpa.properties.hibernate.jdbc.batch_size=50spring.jpa.properties.hibernate.order_inserts=truespring.jpa.properties.hibernate.order_updates=truespring.jpa.properties.hibernate.batch_versioned_data=true
# Base URLbase.url=http://localhost:8080/remote-signature
# OpenKMopenkm.url.preview=http://localhost:8080/openkmopenkm.url=http://localhost:8080/openkm
# OpenKM anonymous useropenkm.anonymous.user=okmAdminopenkm.anonymous.password=admin
# OpenKM admin useropenkm.admin.user=okmAdminopenkm.admin.password=admin
# Languagelanguages=es-ES#Español,en-GB#Englishdefault.language=en-GB
# Default cron trigger (by default every 15 minutes)cron.expression=0 0/15 * * * *
mail.from=
tenant.list=tenant.users=tenant.users.password=- Inicie Tomcat
- Inicie sesión en OpenKM
- Vaya a Administration > Utilities > Database query y ejecute estas sentencias SQL para crear las propiedades de configuración necesarias:
INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject.es-ES', 'string', 'Un documento requiere de su firma');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject.en-GB', 'string', 'This document needs to be signed');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body.en-GB', 'html', '<p>You have a pending document to be signed <a href="${docURL}">${docName}</a></p>');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body.es-ES', 'html', '<p>Tiene un documento pendiente de firmar <a href="${docURL}">${docName}</a></p>');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject-signed.es-ES', 'string', 'El documento se ha firmado');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body-signed.es-ES', 'html', '<p>El documento <a href="${docURL}">${docName}</a> se ha firmado </p>');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject-signed.en-GB', 'string', 'The document has been signed');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body-signed.en-GB', 'html', '<p>The document <a href="${docURL}">${docName}</a> has been signed </p>');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject-verify.es-ES', 'string', 'Remote Signature: Código de verificación');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body-verify.es-ES', 'html', '<p>Su pin de verificación para el documento ${docName} es ${pin}</p>');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject-verify.en-GB', 'string', 'Remote Signature: Verification pin');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body-verify.en-GB', 'html', '<p>Your verification pin for the document ${docName} is ${pin} </p>');-
Establezca las propiedades de configuración según su uso:
- rs.subject.es-ES: El asunto del correo.
- rs.subject.en-GB: El asunto del correo.
- rs.body.es-ES: El cuerpo del correo.
- rs.body.en-GB: El cuerpo del correo.
- rs.subject-signed.es-ES: El asunto del correo.
- rs.subject-signed.en-GB: El asunto del correo.
- rs.body-signed.es-ES: El cuerpo del correo.
- rs.body-signed.en-GB: El cuerpo del correo.
- rs.subject-verify.es-ES: El asunto del correo.
- rs.subject-verify.en-GB: El asunto del correo.
- rs.body-verify.es-ES: El cuerpo del correo.
- rs.body-verify.en-GB: El cuerpo del correo.
-
Una vez configurada la aplicación, puede iniciar sesión en http://server.ip:8080/remote-signature con el administrador por defecto o con un usuario con el rol ROLE_REMOTE_SIGNATURE
Parámetros de configuración
Sección titulada «Parámetros de configuración»| Parámetro | Descripción |
|---|---|
| rs.subject.es-ES | Asunto del correo enviado para firmar, en español |
| rs.subject.en-GB | Asunto del correo enviado para firmar, en inglés |
| rs.body.es-ES | Cuerpo del correo enviado para firmar, en español |
| rs.body.en-GB | Cuerpo del correo enviado para firmar, en inglés |
| rs.subject-signed.es-ES | Asunto del correo enviado cuando un documento se ha firmado, en español |
| rs.subject-signed.en-GB | Asunto del correo enviado cuando un documento se ha firmado, en inglés |
| rs.body-signed.es-ES | Cuerpo del correo enviado cuando un documento se ha firmado, en español |
| rs.body-signed.en-GB | Cuerpo del correo enviado cuando un documento se ha firmado, en inglés |
| rs.subject-verify.es-ES | Asunto del correo enviado cuando se necesita verificación por PIN, en español |
| rs.body-verify.es-ES | Cuerpo del correo enviado cuando se necesita verificación por PIN, en español |
| rs.subject-verify.en-GB | Asunto del correo enviado cuando se necesita verificación por PIN, en inglés |
| rs.body-verify.en-GB | Cuerpo del correo enviado cuando se necesita verificación por PIN, en inglés |
| rs.subject-error.es-ES | Asunto del correo enviado cuando se produce un error, en español |
| rs.subject-error.en-GB | Asunto del correo enviado cuando se produce un error, en inglés |
| rs.body-error.es-ES | Cuerpo del correo enviado cuando se produce un error, en español |
| rs.body-error.en-GB | Cuerpo del correo enviado cuando se produce un error, en inglés |
Parámetros de configuración que se pueden usar en el cuerpo
Sección titulada «Parámetros de configuración que se pueden usar en el cuerpo»Los siguientes parámetros de notificación se pueden usar en el mensaje del cuerpo:
| Parámetro | Descripción |
|---|---|
| ${docURL} | El enlace al documento que se va a firmar |
| ${docName} | El nombre del documento que se va a firmar |
| ${pin} | PIN de verificación |
Crear el rol ROLE_REMOTE_SIGNATURE
Sección titulada «Crear el rol ROLE_REMOTE_SIGNATURE»Vaya a Administration > Roles > New Role. En el parámetro id, establezca ROLE_REMOTE_SIGNATURE y marque la casilla Active como true.
Añadir traducciones
Sección titulada «Añadir traducciones»Vaya a Administration > Utilities > Database query. En la parte inferior derecha, elija la opción JDBC. Copie el script SQL y, por último, haga clic en el botón execute de la parte inferior derecha.
DELETE FROM OKM_TRANSLATION WHERE TR_LANGUAGE='en-GB' and TR_MODULE='rs';INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'send.emails', 'Send e-mails', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'emails.sent', 'E-mails sent', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'home', 'Home', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'admin', 'Admin', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'logout', 'Logout', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'login', 'Login', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'sign', 'Sign', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'undo', 'Undo', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'clear', 'Clear', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'document.signed', 'Document signed successfully!', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'no.signature', 'There is no signature', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'take.home', 'Take me home.', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'no.exist', 'This page does not exist.', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'no.lost', 'You are lost.', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'signature.needed', 'This document needs to be signed', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'title', 'Remote Signature', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'close', 'Close', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'document.is.signed', '"<strong>{name}</strong>" has already been signed', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'error.occurred', 'An error has occurred', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'back', 'Back', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'next', 'Next', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'enter.pin', 'Enter pin', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'enter.valid.pin', 'Please enter a 6-digit pin.', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'submit', 'Submit', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'request', 'Request pin', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'pin.sent', 'Requested pin sent!', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'invalid.pin', 'Invalid Pin!', 'en-GB');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject-error.en-GB', 'string', 'Error signing a document');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body-error.en-GB', 'html', '<p>Error in the process of signing the document document <a href="${docURL}">${docName}</a></p>');DELETE FROM OKM_TRANSLATION WHERE TR_LANGUAGE='es-ES' and TR_MODULE='rs';INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'send.emails', 'Enviar correos', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'emails.sent', 'Correos enviados', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'home', 'Inicio', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'admin', 'Administración', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'logout', 'Salir', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'login', 'Login', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'sign', 'Firma', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'undo', 'Deshacer', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'clear', 'Limpiar', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'document.signed', 'Documento firmado correctamente', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'no.signature', 'Es necesario dibujar la firma', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'take.home', 'Llévame al inicio', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'no.exist', 'Esta página no existe.', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'no.lost', 'Usted está perdido', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'signature.needed', 'Un documento requiere de su firma', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'title', 'Remote Signature', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'close', 'Cerrar', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'document.is.signed', '"<strong>{name}</strong>" ya ha sido firmado', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'error.occurred', 'Se ha producido un error', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'back', 'Atrás', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'next', 'Siguiente', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'enter.pin', 'Introducir pin', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'enter.valid.pin', 'Porfavor introduzca un numero de 6 cifras', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'submit', 'Enviar', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'request', 'Solicitar código', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'request.sent', 'El código de verificación ha sido enviado!', 'es-ES');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs', 'invalid.pin', 'Pin incorrecto!', 'es-ES');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.subject-error.es-ES', 'string', 'Error firmando un documento');INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('rs.body-error.es-ES', 'html', '<p>Error en el proceso de firmar el documento <a href="${docURL}">${docName}</a></p>');Traducciones por tenant
Sección titulada «Traducciones por tenant»Si tiene varios módulos de remote signature configurados para trabajar con su OpenKM, puede que le interese tener traducciones distintas por tenant.
Establezca un nuevo nombre de módulo de traducciones en el fichero openkm.properties
translation.module=rs2A continuación se muestra un ejemplo de cómo registrar traducciones renombrando el módulo:
-- Take the original translations and update the module from rs to rsXDELETE FROM OKM_TRANSLATION WHERE TR_LANGUAGE='en-GB' and TR_MODULE='rs2';INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('rs2', 'send.emails', 'Send e-mails', 'en-GB');...Parámetro from del correo por tenant
Sección titulada «Parámetro from del correo por tenant»Si desea configurar el parámetro from de los correos que se envían, modifique el parámetro de configuración mail-from en su openkm.properties con una cuenta de correo existente.
mail.from=sample@example.comHabilitar la extensión de estampado (stamp)
Sección titulada «Habilitar la extensión de estampado (stamp)»Asegúrese de que la extensión de estampado esté habilitada; si no lo está, habilítela. Para habilitar extensiones, consulte Enable extensions
- Cree las imágenes de estampado que se usarán para estampar la firma en el documento. El id de estos estampados será el valor de las opciones del parámetro okp:remotesignature.location. Use dummy.png como imagen:
- Estos son algunos ejemplos para configurar las ubicaciones de estampado:
- NorthEast Location
- Image: dummy.png
- Expr. X: PAGE_WIDTH
- Expr. Y: PAGE_HEIGHT
- North Location
- Image: dummy.png
- Expr. X: PAGE_CENTER - IMAGE_WIDTH / 2
- Expr. Y: PAGE_HEIGHT
- NorthWest Location
- Image: dummy.png
- Expr. X: 0
- Expr. Y: PAGE_HEIGHT
- East Location
- Image: dummy.png
- Expr. X: PAGE_WIDTH
- Expr. Y: PAGE_MIDDLE - IMAGE_HEIGHT / 2
- Center Location
- Image: dummy.png
- Expr. X: PAGE_CENTER - IMAGE_WIDTH / 2
- Expr. Y: PAGE_MIDDLE - IMAGE_HEIGHT / 2
- West Location
- Image: dummy.png
- Expr. X: 0
- Expr. Y: PAGE_MIDDLE - IMAGE_HEIGHT / 2
- SouthEast Location
- Image: dummy.png
- Expr. X: PAGE_WIDTH
- Expr. Y: 0
- South Location
- Image: dummy.png
- Expr. X: PAGE_CENTER - IMAGE_WIDTH / 2
- Expr. Y: 0
- SouthWest Location
- Image: dummy.png
- Expr. X: 0
- Expr. Y: 0
- NorthEast Location
Añadir campos de metadatos adicionales
Sección titulada «Añadir campos de metadatos adicionales»Se pueden añadir campos de metadatos de tipo input para recopilar datos del usuario cuando un documento necesita ser firmado. Es necesario añadir los campos input al final del grupo de metadatos; este es un ejemplo de dos campos de metadatos de texto.
<input label="DNI" type="text" name="okp:remotesignature.dni" readonly="true"></input><input label="Name" type="text" name="okp:remotesignature.name" readonly="true"></input>También puede que tenga que añadir una opción en el select extra por cada input creado, con el nombre del input seguido del orden de visualización deseado como valor. Ejemplo:
<select label="Extra" name="okp:remotesignature.extra" type="multiple"> <option label="DNI" value="okp:remotesignature.dni.1"/> <option label="Name" value="okp:remotesignature.name.2"/></select>Configuración
Sección titulada «Configuración»Crear este grupo de propiedades
Sección titulada «Crear este grupo de propiedades»Cree un nuevo grupo de metadatos y asígnelo a los documentos PDF que necesiten ser firmados.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 3.10//EN" "http://www.openkm.com/dtd/property-groups-3.10.dtd"><property-groups> <property-group label="Remote Signature" name="okg:remotesignature"> <select label="Status" name="okp:remotesignature.status" type="simple" readonly="true"> <option label="Pending to send" value="pendingToSend" selected="true"/> <option label="Pending to sign" value="pendingToSign"/> <option label="Signed" value="signed" /> <option label="Error" value="error" /> </select> <input label="Mail to notify" type="text" name="okp:remotesignature.mail"> <validator type="req"/> </input> <checkbox label="Request Pin" name="okp:remotesignature.pin" /> <select label="Sign Location" name="okp:remotesignature.location" type="simple"> <option label="NorthWest" value="1"/> <option label="North" value="2"/> <option label="NorthEast" value="3" /> <option label="West" value="4"/> <option label="Center" value="5"/> <option label="East" value="6" /> <option label="SouthWest" value="7"/> <option label="South" value="8"/> <option label="SouthEast" value="9" /> <validator type="req"/> </select> <select label="Language" name="okp:remotesignature.lang" type="simple"> <option label="English" value="en-GB"/> <option label="Español" value="es-ES"/> <validator type="req"/> </select> <select label="Extra" name="okp:remotesignature.extra" type="multiple"> <option label="DNI" value="okp:remotesignature.dni.1"/> <option label="Name" value="okp:remotesignature.name.2"/> <option label="Checkbox" value="okp:remotesignature.checkbox.3"/> <option label="Select" value="okp:remotesignature.select.4"/> <option label="Select Multiple" value="okp:remotesignature.selectmultiple.2"/> </select> <input label="DNI" type="text" name="okp:remotesignature.dni" readonly="true"> </input> <input label="Name" type="text" name="okp:remotesignature.name" readonly="true"> </input> <input label="Page" type="text" name="okp:remotesignature.page"> </input> <input label="Send Date" type="date" name="okp:remotesignature.sendDate" timeFormat="hm" readonly="true"/> <input label="Sign Date" type="date" name="okp:remotesignature.signDate" timeFormat="hm" readonly="true"/> <input label="Signature Device IP" type="text" name="okp:remotesignature.ip" readonly="true"/> <textarea label="Error Message" name="okp:remotesignature.errorMessage" width="200px" readonly="true" dbColumnSize="512"/> </property-group></property-groups>Configuración multitenant
Sección titulada «Configuración multitenant»Para añadir la funcionalidad multitenant, debe establecer los valores de tenant.list, tenant.users y tenant.users.password. Los valores deben ser listas separadas por comas con los nombres de los tenants, los usuarios administradores de cada tenant y las contraseñas de esos usuarios. Aquí tiene un ejemplo:
tenant.list=Tenant1,Tenant2,Tenant3tenant.users=rSign,rSign2,rSign3tenant.users.password=rsign,rsign2,rsign3