Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Descripción

Requisito mínimo (10 Tiendas)

Memoria RAM libre

16 GB

JVM (Java Virtual Machine)

jdk-8u25-windows-x64 o superior

Procesador

8 x 2.5 GHz

Capacidad del disco rígido (libres)

200 GB

Sistema Operativo

Windows Server 2008 R2, Windows 7 64-bit

Servidor de base de datos

MongoDB 4.4


Aviso
titleIMPORTANTE

Los requisitos dependen del uso de funciones y carga esperada.  Entonces se requiere una estimación y estudio de cada caso para realizar un ajuste en los recursos requeridos.


Informações
titleNOTA

El uso de máquinas virtuales agrega un overhead que puede afectar la performance o escalabilidad. 


Aviso
titleIMPORTANTE

Adicionalmente se deberá agregar el JDK a la variable de entorno %PATH%. (ver 8 Apendice B: Variables de Entorno)

Ejecución del Instalador (Windows)

Deberá ejecutarse como administrador desde modo comando el Instalador "promo-console-installer-7.2.2.SNAPSHOT.jar" para proceder a la instalación y configuración de la consola y motor de simulación de PROMO. Para esto deberá ejecutarse el comando java –jar promo-console-installer-7.2.2.SNAPSHOT.jar
También se instalarán los siguientes componentes indispensables para el correcto funcionamiento de la aplicación:

...

Se solicitará indicar el directorio donde se instalará Wildfly, para que el motor se instale como servicio.

En caso de no existir el directorio, se solicitara autorización para la creación del mismo.

...

  • synthesis\promo\images: directorio de las imágenes
  • \synthesis\promo\images\profile
  • \synthesis\promo\images\barcode: contiene las imágenes de códigos de barras asociados a cupones emitidos.
  • \synthesis\promo\images\promotion: contiene las imágenes que se asocien a las promociones
  • \synthesis\promo\logs: información sobre las trazas de ejecución de la aplicación, incluyendo información técnica ante cualquier falla.
  • \synthesis\promo\backup: backups de la base de datos MongoDB
  • \synthesis\promo\import: directorio donde deberán alojarse los mapas para la importación de promociones.
  • \synthesis\promo\mdb: aquí se encuentran las funciones utilizadas en la base de datos.
  • \synthesis\promo\engine: el motor de promociones que utiliza la consola para la simulación de las mismas.
  • \synthesis\promo\catalogs: directorio donde se alojaran los archivos de catálogo (.catalogs) que se importaran al iniciar la aplicación. Deberán generarse de manera manual las carpetas correspondientes a cada compañía, indicando en el nombre del directorio el ID de la compañía. (Ej.: \synthesis\promo\catalogs\22 donde 22 corresponde al ID de la nueva Ccia)
  • \synthesis\promo\export: (a partir de Promo v7.1 en adelante) en este directorio se van a bajar los archivos que se exportan con el botón "Exportación Masiva" que se encuentra en los informes. Este directorio se crea automáticamente al realizar la instalación de Promo. Pero debe tenerse en cuenta que si se hace una actualización en lugar de una instalación desde cero, debe crear a mano este directorio.


Âncora
_Toc472761279
_Toc472761279
Âncora
_Toc473099930
_Toc473099930
Âncora
_Toc513638201
_Toc513638201
Instalación Linux (CentOS 7)

...

404 – ERROR (al iniciar la aplicación WEB)
Este error pude producirse porque no está levantado el servicio WildFly. Deberá revisarse en los servicios del sistema que el servicio WildFly este en ejecución. De no estarlo, iniciarlo y refrescar la página del navegado y volver a probar
Otro de los motivos por los cuales pueda darse este error es que no se haya descomprimido correctamente el aplicativo, para corroborarlo habrá que chequear en el directorio de instalación synthesis\promo\appserver\standalone\deployments si hay un archivo llamada "promo.war.failed". De encontrarse este archivo, indicara que se ha producido un error en la inicialización de la aplicación. Contactar al administrador del sistema para su solución.

...

Como se mencionó en el punto anterior, el motor de promociones es el componente de PROMO encargado de recibir tickets directamente desde el punto de venta, luego procesarlos, y, finalmente, informar las promociones que participaron y los artículos afectados.
La instalación del motor de promociones se realiza conjuntamente con la instalación de la consola de Promo, al ejecutarse el instalador de la aplicación. La comunicación se establece a través de mensajes XML enviados mediante TCP/IP, REST o Pipes (IBM 4690).

Âncora
_Toc513638213
_Toc513638213
Pre-Requisitos del sistema

...

Descripción

Requisito Mínimo (5 Puntos de Venta)

Memoria RAM libre (con HD)

1024 MB

JVM (Java Virtual Machine)

Versión 1.8

Velocidad de procesador

4 x 2 GHz

Capacidad de disco rígido (libres)

1 GB

Sistema Operativo

Según requisitos.


Aviso
titleIMPORTANTE

Los requisitos dependen del uso de funciones y carga esperada.  Entonces se requiere una estimación y estudio de cada caso para realizar un ajuste en los recursos requeridos.

Âncora
_Toc472761292
_Toc472761292
Âncora
_Toc473099943
_Toc473099943
Âncora
_Toc513638214
_Toc513638214
Instalación (Linux/Windows)

...

Se provee un archivo promo-gengine-installer-X.X.X.jar donde X.X.X es la versión del motor que se está instalando (7.2.3.SNAPSHOTX).
Se deberá ejecutar como administrador, en modo comando el instalador del Motor de PROMO (java –jar promo-gengine-installer-X7.X2.Xx.jar)

Al ejecutarse el instalador aparecerá la siguiente ventana:

Image Added


Image RemovedImage Added

Presionar "Siguiente" para continuar.


Se deberán aceptar los términos y condiciones para continuar con la instalación del motor de PROMO.


Presionar en "Aceptar" para continuar.


Luego de aceptados los términos y condiciones, se solicitara que se identifique el nombre del usuario y el e-mail de quien (empresa o persona) está realizando la instalación.


Presionar "Siguiente" para continuar.


A continuación se deberá indicar la ruta de acceso a Java (JDK) y el directorio donde se realizara la instalación del motor de PROMO. Por default se propone "c:\synthesisnapse\gengine". 

Se podrá indicar aquí, por medio del check "Instalar Servidor REST (Default TCP/IP)", para que se instale el motor como SERVIDOR REST sino se instalara por default en modo TCP/IP.


Aviso
Importante: Verificar de No instalar el motor donde se instalo previamente el motor de simulacion de la consola  (el motor de simulación se instala por default en \synthesisnapse\promo\engine) de ocurrir eso no funcionará correctamente.


Image RemovedImage Added

Presionar "Siguiente" para continuar.


Si se desea instalar el motor como aplicación, se debe tildar el cheeckbox checkbox en la siguiente pantalla:

Image Removed

Luego de presionar el botón Siguiente, debe indicarse la ruta donde está la carpeta webapps de la instalación de apache TomEE.

Image Removed

Image Added

Expandir
titleSeleccionar TomEE

Si se tildo el checkbox, se observará la pantalla siguiente; donde se deberá seleccionar el directorio donde estará alojado el servidor de aplicaciones de TomEE

Image Added

En el siguiente Pop-UP se deberá indicar la URL de acceso a "Director" para futuras actualizaciones y el código de tienda que tomará el motor. 

Image RemovedImage Added


Luego de presionar "Siguiente", debe completar los parámetros solicitados:

Image RemovedImage Added

Presionar "Siguiente" para continuar.


En la siguiente pantalla que se presente, habrá que presionar el botón "Instalar" a fin de dar comienzo al proceso de instalación del motor de PROMO y sus componentes.

Image RemovedImage Added

Image RemovedImage Added


Finalizada la instalación se mostrará la siguiente ventana donde se informará la correcta instalación del motor de PROMO. Se solicitará dar Clic en "Aceptar" y luego en "Salir" para terminar con el proceso. 

Image RemovedImage Added 


Terminado el proceso de instalación del motor de promociones podrá chequearse en los servicios del sistema la existencia de dos nuevos servicios correspondientes al motor de promociones y al agente Director que ya estarán ejecutándose de manera atómica, hecho que marcará la correcta instalación y puesta en funcionamiento del nuevo motor de PROMO.

...

  • Guardar en dicha carpeta el archivo instalador del motor de la versión que se desea instalar.

Image RemovedImage Added

  • Abrir en modo Administrador una ventana de comandos

  • Se abre la ventana cmd.

Image RemovedImage Added

  • Ir a la carpeta donde tenemos guardo el instalador, y copiar la ruta.

...

  • Obtendremos la siguiente respuesta:

Image RemovedImage Added

Y veremos esta imagen:

...

  • Luego se debe seleccionar Enter para ver la licencia.

Image Added


  • Se muestra la Licencia y se nos consulta si deseamos aceptar la licencia, como el valor por defecto es si (yes), presionamos Enter.

...

  • A continuación, nos pide indicar la ruta donde se encuentra instalado el jdk.

Buscamos la carpeta donde tenemos instalado java, seleccionamos la ruta y la copiamos.

Image Added


  • Paso siguiente, nos pide que ingresemos el directorio donde queremos hacer la instalación.

Image Modified

Para ello primero creamos una carpeta para la versión 7.y dentro de ella una carpeta engine para el motor.

...

  • En el siguiente paso debemos ingresar el puerto SOCKET, como vamos a dejar el valor por defecto de 3000, presionamos Enter.

Image Modified

  • Luego nos pide ingresar el puerto REST, como vamos a dejar el valor por defecto 8888 presionamos Enter.

...

Tag/ParámetroDescripciónValor por defecto
simulationIndica si el motor opera para simulaciones desde la consola o no. Valor por defecto "False" (No simulación)false
compatibilityModeindica si el motor opera en modo compatible con el antiguo motor (Integraciones 4690) agrupando o no los beneficios en la respuestas dadas por el motor. Por default el parámetro viene definido en "False" (No compatble) por lo que en este modo agrupara los beneficios (motor nuevo). En caso de definir el beneficio en "True", no se agruparan los beneficios (compatibilidad con antiguo motor).false
mapIdentifiers identificaran las carpetas por las cuales el motor irá en búsqueda del mapa para evaluar la promoción. Deberán definirse en una lista separada por comas.companyId
ticketIdentifiersindicara por qué atributo se identificara al ticket cuando el motor opere como multiempresa.store, terminal
disableLoyaltyEl valor por default de este parámetro será "false" indicando que el motor mantiene una comunicación con PROMO central para la gestión de elementos de Fidelidad. En caso de configurar en "true" este parámetro, se deshabilitara la comunicación con PROMO central, por lo que un status de Finish, commit, rollback, etc etc se evaluara como un status "sales" (método de evaluación previo a Fidelidad).false
disablePricesEl valor por default de este parámetro será "false" indicando que el motor utiliza preciadores, esto habilitara la funcionalidad de precios (desde la consola se generan listas de precios y seran distribuidos al motor) y se disponibilizara el status de prices y en caso de utlizar utilizar en los tickets items con ítems con unitPrice=0 los buscara los precios de los preciadores (listas de precios). En caso de configurar en "true" este parámetro indica que NO esta habilitada esta funcionalidad.false
engineId identificador único del motor. Deberá configurarse cuando se desee que el motor reporte su mapa activo a la consola de PROMO.0
engineNameNombre único del motor.Junto con el "EnginerId" deberá configurarse cuando se desee que el motor reporte su mapa activo a la consola de PROMO.
stores
Reservado
promotionCacheModeActiva el modo de trabajo "Cache de Promociones" del motor.  Reservado para SOLO este modo de trabajo particular.false
useExactLimitValueOtorgamiento de beneficio con límites: true otorga el saldo(default), false no otorga beneficio si el apply supera el saldotrue
negativeDiscountPermite o no que los descuentos otorgados superen el valor del productotrue
adjustCalculatedCoupon

Limita (cuando esta en true) dentro de un mismo paso que un cupon no de mas del 100% de un producto, (descuentosMonetarios + valor del cupon > xprice) recorta el valor del cupon para que no supere el 100% (a partir de

7.1)

false
fetchLimitsSyncIndica si los limites se actualizarán de modo sincrónico o asincrónico.  Esto modifica los tiempos de respuesta al iniciar una transacción y al realizar un loyaltyValidation de cliente.true

...

Tag/ParámetroDescripciónValor por defecto
directoryIndica el directorio local donde se descargaran los archivos de lista de precios en caso de contingencia.  Estos archivos se pueden generar en consola y enviarlos por algun algún medio alternativo (por ej. mail) para ser descargado en los motoresprices
checkIntervalo de tiempo en segundos en que el motor verificará si existen archivos nuevos en el mencionado directorio.10

...

Tag/ParámetroDescripciónValor por defecto
directoryDirectorio local donde se descargarán los mapas.sales
checkIntervalo de tiempo en segundos en los cuales el motor verifica la existencia de nuevos mapas.  Parámetro check de los motores: El estatus de los motores se informa en el mismo tiempo en que se chequean los mapas. El motor que por ejemplo tiene configurados 600 segundos, cada 10 minuto vas a tener un estatus del motor.600
daysUntilRemovalDias transcurridos desde el vencimiento de un mapa para su remoción fisicafísica.  Este periodo desde el vencimiento normalmente es el tiempo en que puede llegar a requerirse el mapa nuevamente con motivo de una devolución que requiera regenerar el escenario original100
removeSimulatedMapsIndica si los mapas de simulación deben ser removidos al llegar a simulatedMapsThresholdtrue
simulatedMapsMaxCantidad maxima de mapas de simulación a mantener luego que son removidos basados en la propiedad anterior10
simulatedMapsThresholdCantidad de mapas que, una vez alcanzada, inicia el proceso de remoción de mapas.30
removeNonSimMapsIndica que el  proceso de remoción de mapas también aplica a los mapas productivos y no solo al modo simulaciónfalse
compiledSe se activa los mapas trabajarán en modo "precompilado"false
compiledDirectoryDirectorio donde se almacenarán los mapas compiladoscompiled
enablePosControlHabilita/deshabilita comandos de control enviados por el POStrue
pauseMapLoadOnStartEn true detiene la carga de mapas al iniciar el motor, luego el inicio de carga de mapas se controla por comando del POS o hasta la hora definidatrue
resumeMapLoadTimeHorario (formato hh:mm:ss) de reinicio de carga de mapas, si fueron pausados por pauseMapLoadOnStart o por comando del POS04:00:00

...

Tag/ParámetroDescripciónValor por defecto
roundDecimalsIndica la cantidad de decimales a utilizar en las cantidades decimales.  Esto es: magnitud y montos como precio unitario2
roundCountablesIndica la cantidad de decimales a utilizar en las cantidades contables.  Esto es: cantidad3
roundPointsIndica la cantidad de decimales a utilizar en la cantidad informada de puntos.2
roundPointsMethodMetodo de redondeo para acotar los valores de puntos segun según la cantidad de decimales configurada.  Los valores posibles son roundDown o roundMathroundDown
roundPointsTotalOnlyIndica que el redondeo de Puntos se aplique solo en el total del beneficio y no en los detalle de aplicaciónfalse
roundPointsTotalCalcDecimalsIndica la cantidad de decimales a utilizar cuando se informa la cantidad de puntos totales en el beneficio2

...

Tag/ParámetroDescripciónValor por defecto
urlDirección donde se encuentra la consola de promohttp://localhost:8080/promo
userusuario para realizar el login OAUTH2 de la consolasender
passwordClave para realizar el login OAUTH2 de la consolamate
timeout

Define el timeout en segundos de comunicacion comunicación con la consola central si se especifica este aplica en general y anula a los otros dos.

-
connectionTimeoutDefine el timeout en segundos de conneccion con la consola Central.-
communicationTimeoutDefine el timeout en segundos de comunicacion comunicación con la consola Central.-
companyId

Descomentar en el caso que la mensajeria mensajería no lo implemente y se requiere el envio de un valor fijo

-

...

Los parámetros de configuración de la sección Extensions afectan la definicion definición y entidades que manejará el motor.  Los parámetros son:

...

En este archivo podrán configurarse los niveles de logueo de la consola, siendo el nivel SEVERE el nivel por default y ALL el nivel de logueo para debug.

...

languagexml
themeRDark

Para más información sobre los diferentes niveles de logueo en Consola consultar el siguiente link: https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html

Para más información sobre los diferentes niveles de logueo en Motor consltar el siguiente link: https://logging.apache.org/log4j/2.x/javadoc/log4j-api/org/apache/logging/log4j/Level.html

Bloco de código
languagexml
themeRDark
# Agregar -Djava.util.logging.config.file=logging.properties como parametro a la JVM 
 _# http://www.javapractices.com/topic/TopicAction.do?Id=143_
handlers = java.util.logging.ConsoleHandler java.util.logging.FileHandler 
 
 .level = SEVERE 
 # File Logging 
 java.util.logging.FileHandler.pattern = ./logs/gengine.log 
 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter 
 java.util.logging.FileHandler.level = SEVERE 
 #java.util.logging.FileHandler.limit = 10000000
 #java.util.logging.FileHandler.count = 10

 # Console Logging 
 java.util.logging.ConsoleHandler.level = SEVERE

...

MóduloClaveValorDescripción
Promooperative.systemwindowsSistema operativo
Promosoap.urlhttp://10.4.13.108:8280/bridge/services/bridgeCoreSOAP?wsdlDirección de web service de bridge.
Negociolanges_AR (Argentina)General: idioma de la aplicación (etiquetas)
NegociobackupDirectoryC:/synthesis/promo/backupGeneral: de backup
NegociomongoDBDirectoryC:/synthesis/promo/mdb/binGeneral: directorio base de datos
NegociomongoDBHostnamelocalhost

Host de la base de datos.  En caso de poseer una configuración en replicaset el formato de configuración es: "replicaName/node1:port1,node2:port2"

Se destaca que deberá de definirse el campo mongoDBPort vacío cuando se utilice la función de Backup en Clusters

NegociomongoDBPort27017Puerto de la base de datos.  En caso de replicaset este parámetro es ignorado.
GeneralauditDateCleaner30Eliminar Existe un proceso que elimina registros de las tablas de importaciónauditoría. Se puede configurar el valor que desee pero tener en cuenta que esos registros ocupan lugar en el disco.
GeneralimportReceiptDateCleaner30Eliminar registros de las tablas de importación.
GeneralticketGeneratorSeconds2DEMO: cantidad de segundos de generación de ticket para demos
NegociocharsMaximumAlphabetical 20Cantidad máxima de caracteres alfabéticos
NegociocharsMaximumNumerical 20Cantidad máxima de caracteres numéricos
NegociocharsMaximumQuantity 20Cantidad máxima de caracteres totales
NegociocharsMaximumSpecial 20Cantidad máxima de caracteres especiales
NegociocharsMinimumQuantity 7Cantidad mínima de caracteres totales
1NegociocharsMinimumUser 3Cantidad mínima de caracteres en el nombre de usuario
NegociomaximumLoginFailedCount 3Cantidad máxima de reintentos de login fallidos sucesivos
NegocionumberQuantity 1Cantidad mínima de caracteres numéricos
NegociopasswordExpirationDays 30Días de expiración de la contraseña del usuario
NegociospecialCharsQuantity 0Cantidad mínima de caracteres especiales
NegociostringQuantity 1Cantidad mínima de caracteres alfabéticos
NegociouserBlockDays 90Bloqueo de usuario - días de inactividad
NegociouserLockTime 30Periodo de bloqueo de la cuenta de usuario (en minutos)
PromoengineSalesPathC:/synthesis/promo/engine/sales/Directorio de Mapas del Motor

...

ModuloClaveValorDescripción
CuponesbarcodePathC:/napse/promo72/images/barcode/Directorio imágenes de códigos de barra
CuponesbarcodeUrlhttp://localhost:8080/promo/assets/barcode/Url imágenes de códigos de barra
CuponesrabbitMQ.couponHistory.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos de tipo CouponHistory
CuponesCODE128PPPSSSTTTnnnnnnnnnnnnnnnnnnFormato de código de barras CODE128. Más detalle ver en:   _Formato_de_Código
CuponesEAN13PPPSSSTTTnnncFormato de código de barras EAN13. Más detalle ver en:   _Formato_de_Código
CuponesUPCAPPPSSSTTTnncFormato de código de barras UPCA. Más detalle ver en:_Formato_de_Código
Cuponesmax.qty999Cantidad máxima de generación Masiva de Cupones por transacción
Cuponesprefix.activetrueUtilizar prefijo numérico incremental para tipos de cupón
CuponesisEditableCouponTypeDistributedfalseHabilita la edición de tipos de cupones en estado "Distribuidos"
CuponesvisibleDigits
Cantidad de dígitos visibles del código de cliente que se verán en los cupones
CuponesamountFormat%.02fFormato en el que se imprimen los montos de los cupones
CuponesnameInfoPos0IndistintoDescripción de las opciones para el POS
CuponesnameInfoPos1Campo 1Descripción de las opciones para el POS
CuponesnameInfoPos2Campo 2Descripción de las opciones para el POS
CuponesexternalAmountAttributeCodeOfitemAddcalCouponValAtributo que se utilizará en la etiqueta item-add para indicar el monto externo del cupón
Cuponesdefault.from[email protected]Email por defecto con el que se enviaran los correos
Cuponesdefault.insertImagesfalseIndica si acepta o no barcodes
Cuponesdefault.subjectPromo Test MailAsunto por default
Cuponeshostsmtp.gmail.comHost del proveedor de email
Cuponespassword**************Contraseña de la cuenta de email
Cuponesport
Puerto de conexión
Cuponessmtp.authtrueHabilitar Auth SMTP
Cuponessmtp.port587Puerto SMTP
Cuponessmtp.socketFactory.classjavax.net.ssl.SSLSocketFactorynombre de la clase SSLSocketFactory
Cuponessmtp.socketFactory.fallbackfalseFallback de socketFactory
Cuponessmtp.socketFactory.port465Puerto SMTP de socketFactory
Cuponessmtp.starttls.enabletrueHabilitar Start TLS
Cuponessmtp.ssl.trust*Nombre de host de certif de confianza (* todos)
Cuponesusername[email protected]Usuario o nombre de la cuenta de email
Elementos de fidelidadmax.qty999Cantidad máxima de elementos de fidelidad a generar por cada operación de alta masiva.
Elementos de fidelidadisEditableAfterCardsGenerationfalsePermitir la edición del tipo de elemento de fidelidad luego de haber generado una tarjeta activa
Elementos de fidelidadprefix.activefalseUtilizar prefijo numérico incremental para tipos de elementos de fidelidad.
Elementos de fidelidadcode.activefalse

Utilizar código numérico incremental para tipos de elemento de fidelidad.

Elementos de fidelidadcard.nominated.default.optionNo

Tipo de elementos de fidelidad: Crear por defecto nominadas (default: false = no)

Elementos de fidelidadcontinueOnErrortruePermitir continuar la importación de catálogo de elementos de fidelidad ante un error
Elementos de fidelidadinsertionOptionINSERT_OR_UPDATEDescribe la opción de inserción para la importación del catálogo de elementos de fidelidad
Lista Elementos de preciosfidelidadpriceList.distribution.force.offlinefalseHabilita la acción descargar contingencia en todo changeAmount.limit(por default vacío) ej. con valor: 500Limita el monto a ser ingresado por pantalla desde "Modificar saldo" (a partir de Promo 7.2.9)
Lista de preciospriceList.distribution.force.offlinefalse

Habilita la acción descargar contingencia en todo momento

Lista de preciospriceList.job.cleanPriceListSchedule.time90Cantidad de días a mantener los ítems en la lista de precios pendientes de impresión
Lista de preciospriceList.lockForUpate15Minutos para poder desbloquear Lista cero en el proceso rest
Lista de preciospriceList.mongo.bulk.insertOrUpdate200Cantidad de registros a insertar por lote en el proceso rest
Lista de preciospriceList.distribution.print.beforetrue

Requiere Impresión previa para poder distribuir Precios.

Lista de preciospriceList.requiresActivationfalseParámetro para configurar si requiere activación de listas de precios
NegociomoneySymbol$Símbolo de moneda
Negociocompetitors.images.pathC:\synthesis\promo\images\custom\competitors\Directorio para almacenamiento de imágenes de competidores
NegociocompetitorsPricesItems.images.pathC:\synthesis\promo\images\custom\competitorsPricesItems\Directorio para almacenamiento de imagenes de precios publicados de competidores
NegociocharsMaximumAlphabetical 20Cantidad máxima de caracteres alfabéticos
NegociocharsMaximumNumerical 20Cantidad máxima de caracteres numéricos
NegociocharsMaximumQuantity 20Cantidad máxima de caracteres totales
NegociocharsMaximumSpecial 20Cantidad máxima de caracteres especiales
NegociocharsMinimumQuantity 7Cantidad mínima de caracteres totales
NegociocharsMinimumUser 3Cantidad mínima de caracteres en el nombre de usuario
NegociomaximumLoginFailedCount 3Cantidad máxima de reintentos de login fallidos sucesivos
NegocionumberQuantity 1Cantidad mínima de caracteres numéricos
NegociopasswordExpirationDays 30Días de expiración de la contraseña del usuario
NegociopublishedDays 7Cantidad de días de antigüedad de precios publicados de competidores
NegociospecialCharsQuantity 0Cantidad mínima de caracteres especiales
NegociostringQuantity 1Cantidad mínima de caracteres alfabéticos
NegociouserBlockDays 90Bloqueo de usuario - días de inactividad
NegociouserLockTime 30Periodo de bloqueo de la cuenta de usuario (en minutos)
PromofileDirectoryC:/napse/promo72/catalogs/2\Importación de catálogo: directorio donde estarán los archivos
PromodecimalSeparator.Separador de decimales, solo para Lista de precios y para PromoLite. Para el resto lo toma de la configuración de la máquina.

Promo


groupingSeparator

,

Separador de miles, solo para Lista de precios y para PromoLite. Para el resto lo toma de la configuración de la máquina.

Promo

mapFunctionMaxDiscount

false

Agrupar promociones en el mapa dentro de una funcion con Maximo Descuento para PromoLite.

Promo

storesLimit

4

Límite de tiendas activas disponibles para PromoLite

Promo

userLimit

4

Límite de usuarios activos disponibles para PromoLite

Promo

additionalProvider1FieldName


Sobreescribe el nombre del campo del proveedor adicional 1 del beneficio

Promo

additionalProvider2FieldName


Sobreescribe el nombre del campo del proveedor adicional 2 del beneficio.
PromoapplicationMethodresumePromociones: valor por defecto en el método de aplicación
PromodivisionMethodproportionalPromociones: valor por defecto en el método de división
PromodivisionPricebenefited-pricePromociones: valor por defecto el tipo de precio beneficiado
PromorequiredBothSupplierstruePromociones: valor por defecto si requiere ambos proveedores del beneficio
PromofileList.txt.Separator,Importación de catálogo: separador
PromofileList.xls.ColStart0Importación de catálogo: columna de comienzo de la importación de catálogo
PromofileList.xls.DirectionverticalImportación de catálogo: forma de importación
PromofileList.xls.RowStart0Importación de catálogo: fila de comienzo de la importación de catálogo
Promoseparator|Importación de catálogo: separador de columnas
PromoupdateSize100Importación de catálogo: tamaño de subida
Promovalidate.autocomplete.existing falseValida que los campos autocomplete de catálogos SOLO permita valores existentes
PromovalidateRelatedEntitiestrueValidar catálogos relacionados al catálogo de clientes
Promoattribute.relationship.validation.requiredfalseRequiere validación de datos de atributos de ítem en la condición de promociones
Promocustomer.requiredfalse

La promoción requiere condición de Cliente para considerarse completa

PromodateTime.requiredfalse

La promoción requiere condición de Fecha con hora para considerarse completa

Promotransaction.requiredfalseLa promoción requiere condición de Transacción para considerarse completa
Promovalid.date.couponTypefalseValida si la vigencia de la promoción esta contemplada dentro de la vigencia del cupón
PromodistributionThreadPool

10

Cantidad de hilos creados para la distribución simultánea
Promopromocache.enabled

false

Habilita la generación de cache de ítems participantes en promociones
Promopromocache.engineHost

localhost

Servidor en el que corre el motor de cache de promociones
Promopromocache.enginePort

3002

Puerto en el que corre el motor de cache de promociones
Promopromocache.engineRetries

2

Reintentos de conexión al motor de cache de promociones
Promopromocache.engineTimeout8000Timeout de conexión al motor de cache de promociones
Promopromocache.imagesURL

http://localhost:8080/promo/assets/images/

PromoCache: URL Imágenes Promociones
Promopromocache.salesPath

C:/napse/promo72/cache/sales/

Directorio de mapas del motor de cache de promociones
Promopromocache.tasksQuantity

10

Cantidad de hilos de ejecución del cache de promociones
Promoscheduled.enabledfalseGeneración y distribución programada de mapas
Promoscheduled.filter.enablefalse

Filtrar promociones por tienda para la distribución programada

Promoscheduled.mapVersiontrue

Incrementar la versión del mapa para la distribución programada

Promodate.UTC.enabledtruePropiedad que indica si están habilitadas las conversiones de fecha al formato UTC en las interfaces de exportación.
Promomicrosoft.crm.clientId
Identificador del cliente de Microsoft Dynamics CRM
Promomicrosoft.crm.clientSecret
Client Secret de Microsoft Dynamics CRM
Promomicrosoft.crm.coupon.batch.size1000Cantidad de Cupones a enviar por lote a Microsoft Dynamics CRM (Máximo 1000)
Promomicrosoft.crm.coupon.endpoint
Endpoint de cupones de Microsoft Dynamics CRM
Promomicrosoft.crm.enabledfalseHabilita la funcionalidad de exportación a Microsoft Dynamics CRM
Promomicrosoft.crm.host
Url de host de Microsoft Dynamics CRM
Promomicrosoft.crm.tentantId
TenantId de Microsoft Dynamics CRM
Promomicrosoft.crm.urlAuth
Url de autenticación de Microsoft Dynamics CRM
PromopathC:/napse/promo72/import/Directorio para la importación de Mapas de Promociones.
Promobenefit.activefalseUtilizar campo numérico incremental para beneficios
Promopromotion.code.activefalseUtilizar campo numérico incremental para promociones
PromoredeemedPoints0

Determina el mínimo de puntos para beneficios de redención

Promouse.item.catalogtrueMapas: algoritmo de cálculo de colisiones
PromocleanEngineStatusHistory7Tiempo en días que la consola mantendrá el historial de estados del motor
PromodateEditableIfActivetrueHabilita la edición de la fecha de inicio de vigencia de la promoción
PromodefeatedEditable.enabled
true

Habilita la edición de promociones vencidas

PromodeployedEditable.enabledfalseHabilita la edición de promoción con el estado Deployed.
PromoengineLog.FileDirectory
Engine Log: Directorio donde estarán los archivos.
Promofile.xls.header.rowStart1Alta masiva de promociones: número de fila donde se va a ubicar la cabecera de la plantilla de promoción.
Promomessage.printer.maxLength
Recortar mensaje para la impresora.
Promopromo.name.codefalseIndica si el código de una promoción, debe ser concatenado al nombre de la misma.
Promopromotion.codeKeyfalseCampo código de promoción clave.
Promopromotion.enginestatus.communication600Tiempo que transcurre desde el último informe de estatus del motor o consola, para considerarlo offline. Si en ese tiempo no informó se lo considera offline.
Promopromotion.images.height250Promociones: alto default de las imagenes
Promopromotion.images.pathC:/napse/promo72/images/promotion/Promociones: directorio para almacenamiento de imágenes
Promopromotion.images.width250Promociones: ancho default de las imagenes
PromorabbitMQ.SSL.enabledtrueActivar SSL
PromorabbitMQ.cardhistory.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos de tipo CardHistory
PromorabbitMQ.enabledfalsePropiedad que indica si está habilitado rabbitMQ
PromorabbitMQ.endpointName
Nombre de la cola de rabbitMQ
PromorabbitMQ.enginestatus.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos de tipo EngineStatus
PromorabbitMQ.host
Dirección (host) del RabbitMQ server
PromorabbitMQ.limitstatus.endpointName

Nombre de la cola de RabbitMQ para el posteo de datos de tipo LimitStatus

PromorabbitMQ.loyaltyType.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos para el tipo de cupones/Elementos de Fidelidad
PromorabbitMQ.password

Password para acceder al rabbitMQ

PromorabbitMQ.port

Puerto del server rabbitMQ

PromorabbitMQ.producer.SSL.enabledtrue

Activar SSL para el posteo de datos

PromorabbitMQ.producer.enabledfalse

Propiedad que indica si esta habilitado rabbitMQ para el posteo de datos.

PromorabbitMQ.producer.host
Dirección (host) de RabbitMQ server para el posteo de datos.
PromorabbitMQ.producer.manual.promotion.enabledfalseHabilitar el posteo manual de datos desde la promoción.
PromorabbitMQ.producer.password
Password para acceder al RabbitMQ server para el posteo de datos.
PromorabbitMQ.producer.port
Puerto del RabbitMQ server para el posteo de datos
PromorabbitMQ.producer.uri

URI de conexión completa RabbitMQ server para el posteo de datos

PromorabbitMQ.producer.username

Usuario para acceder a RabbitMQ server para el posteo de datos

PromorabbitMQ.producer.virtualHost

Virtual Host RabbitMQ server para el posteo de datos

PromorabbitMQ.promotion.endpointName

Nombre de la cola de RabbitMQ para el posteo de datos de tipo Promotion

PromorabbitMQ.promotionsCache.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos de tipo PromotionsCache
PromorabbitMQ.segments.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos de segmentos
PromorabbitMQ.transaction.endpointName
Nombre de la cola de RabbitMQ para el posteo de datos de transacciones
PromorabbitMQ.uri

URI de conexión completa rabbitMQ

PromorabbitMQ.username

Usuario para acceder al rabbitMQ

PromorabbitMQ.virtualHost

virtual Host al rabbitMQ

PromoreportParticipantsfalsePromociones: valor global que determina si la promoción informa participantes
PromoreportParticipantsVisibletrueDetermina si se visualiza o no, la opción reportar participantes
Promovtol.url
Url para obtener los planes de pago de Vtol
PromobankRefundBenefit.method.of.payment

NOTHING= No calcular promociones por medio de pagos.

ON_ITEMS_PAID= Calcular promociones sobre ítems pagados

ON_PAYMENT_MADE=Calcular promociones sobre pago realizado

Reintegro bancario: Opciones de cálculo de reintegro
PromobankRefundBenefit.method.of.payment.onItemsPaid.classcom.synthesis.promo.engine.partialPayment.hardcoded.promotion.BankRefundPartialPaymentGSPromotion

Reintegro bancario: Clase de la promoción basada en ítems.

PromobankRefundBenefit.method.of.payment.onItemsPaid.namePromociones basadas en ítems - Reintegro bancario

Reintegro bancario: Nombre de la promoción basada en ítems.

PromobankRefundBenefit.method.of.payment.onItemsPaid.tenderMethodPropertyKey

promo.configuration.tenderMethod.itemMethod

Reintegro bancario: Propiedad basada en ítems a utilizar.

PromobankRefundBenefit.method.of.payment.onPaymentMade.classcom.synthesis.promo.engine.partialPayment.hardcoded.promotion.BankRefundPartialPaymentSSPromotion

Reintegro bancario: Clase de la promoción basada en pagos.

PromobankRefundBenefit.method.of.payment.onPaymentMade.namePromociones basadas en pagos - Reintegro bancario

Reintegro bancario: Nombre de la promoción basada en pagos

PromobankRefundBenefit.method.of.payment.onPaymentMade.tenderMethodPropertyKeypromo.configuration.tenderMethod.paymentMethod

Reintegro bancario: Propiedad basada en pagos a utilizar.

Promomethod.of.payment

NOTHING= No calcular promociones por medios de pago.

ON_ITEMS_PAID = calcular promociones sobre ítems pagados.

ON_PAYMENT_MADE = Calcular promociones sobre pago realizado.

Promoción Codificada: NOTHING, ON_ITEMS_PAID, ON_PAYMENT_MADE.
Promomethod.of.payment.onItemsPaid.classcom.synthesis.promo.engine.partialPayment.hardcoded.promotion.PartialPaymentsGSPromotionPromoción Codificada: nombre de la promoción por medio de pago basada en ítems.
Promomethod.of.payment.onItemsPaid.namePromociones basadas en ítems

Promoción Codificada: nombre de la promoción por medio de pago basada en ítems.

Promomethod.of.payment.onItemsPaid.tenderMethodPropertyKeypromo.configuration.tenderMethod.itemMethod

Promoción Codificada: nombre de la promoción por medio de pago basada en ítems.

Promomethod.of.payment.onPaymentMade.classcom.synthesis.promo.engine.partialPayment.hardcoded.promotion.PartialPaymentsSSPromotion

Promoción Codificada: nombre de la promoción por medio de pago basada en ítems.

Promomethod.of.payment.onPaymentMade.namePromociones basadas en pagos

Promoción Codificada: nombre de la promoción por medio de pago basada en ítems.

Promomethod.of.payment.onPaymentMade.tenderMethodPropertyKeypromo.configuration.tenderMethod.paymentMethod

Promocion Codificada: nombre de la promoción por medio de pago basada en ítems.

PromoldapAuthenticationfalse

Determina si se autentica contra un Directory Service.

PromoldapAuthentication.autheticationModeDIGEST-MD5Es el modo de seguridad que se autentica, usar "DIGEST-MD5" como valor default dado que este modo encripta la información contra el Directory Service.
PromoldapAuthentication.urlServer
URL del server contra el que se autentica.
PromotestEngineADDRlocalhost

Simulación: Dirección del motor para simulación.

PromotestEnginePORT3001Simulación: puerto en el que corre el motor para simulación
PromotestEngineRetries2

Simulación: reintentos de conexión al motor

PromotestEngineSalesPathC:/napse/promo72/engine/sales/

Simulación: ruta del motor.

PromotestEngineTimeout8000Simulación: timeout de conexión al motor.
PromocontinueOnErrortruePermitir continuar la importación de catálogo de marcas ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de categorías ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de canales ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de compañia crediticia ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de clientes ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de tipos de clientes ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de transacciones ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de tipos de transacción ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de tipos de familia ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de formatos ante un error
PromocontinueOnErrortruePermitir continuar la importación del catálogo de información financiera de lista de precios ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de items ante un error
PromocontinueOnErrortruePermitir continuar la importación del catálogo de stock ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de tipos de Departamento ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de bancos ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de pagos (Código) ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de prefijos ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de tipos de pagos ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de códigos de barra ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de código de productos ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de perfil de cliente ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de Canje de Puntos por Catalogo ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de tiendas ante un errorPromocontinueOnErrortruePermitir continuar la importación de catálogo de cadenas ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de sub categorías ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de subzonas ante un error
PromocontinueOnErrortruePermitir continuar la importación de catálogo de proveedores ante un error.
PromocontinueOnErrortruePermitir continuar la importación de catálogo de zonas ante un error.
Redes socialesfacebook.appId
Id de la aplicación de facebook
Redes socialesfacebook.permissions[pages_show_list, pages_read_engagement, pages_manage_posts]Permisos de la aplicación de facebook
Redes socialesfacebook.secret
Clave secreta de la aplicación de facebook
Redes socialesfacebook.secure
Protocolo de conexión segura a la aplicación de facebook
Redes socialestwitter.accessToken
Token de acceso a twitter
Redes socialestwitter.accessTokenSecret
Token secreto de acceso a twitter
Redes socialestwitter.consumerKey
Clave consumer key de twitter
Redes socialestwitter.consumerSecret
Clave consumer secret de twitter
TransaccionescleanTransactions90Cantidad de días que permanecerán los registros de transacciones ( y sus asociados)  y promociones en la base de datos. Las promociones permanecerán durante un año en una tabla temporal.

Podrán existir cambios correspondientes a:

...

El programa toma como ingreso a la clave a encriptar y devuelve la clave encriptada que se debe situar en el archivo promoplus.properties en una entrada llamada grails.mongodb.encryptedPassword (por ej. grails.mongodb.encriptedPasswordencryptedPassword=lYYBAfxLR40=).

En caso de utilizar grails.mongodb.encryptedPassword se debe considerar comentar o eliminar la anterior grails.mongodb.password ya que en caso de existir ambas siempre utilizará grails.mongodb.password. En caso de que el archivo promoplus.properties no exista, se tomará, como valor por defecto, a v9vbhV.

...

  • Identificador de la app: Sera requerido en Promo para poder configurar los datos de conexión a la app de Facebook (Los datos mostrados en las imágenes son de carácter ilustrativo y no son validospara la configuracion de configuración de ninguna app)
  • Clave secreta de la app: Sera requerido en Promo para poder configurar los datos de conexión a la app de Facebook. La clave se mostrará enmascarada y se solicitara la clave de usuario de FB para mostrarla.
  • Nombre para mostrar: Sera el nombre de al app que se mostrara a los usuarios de FB.
  • Dominio de la app: Deberá indicarse el dominio donde se encuentra Promo.
  • Correo electrónico de contacto: Deberá indicarse el mail de contacto para la app.
  • URL de la Política de privacidad: Deberá indicarse la política de privacidad de la compañía que desea publicar en FB desde Promo.

...


Una vez generada la pagina e ingresados los datos de configuracion configuración aportados por la aplicación generada, se podrá proceder a la publicación de las promociones en la red social. (ver Manual de usuario Promo 7 - "Distribución">> "Redes Sociales")

Informações
titleNOTA

Se deberá ser administrador tanto de la pagina como de la aplicación generada en Facebook para poder realizar las publicaciones desde PROMO. 


Aviso
titleIMPORTANTE

Https obligatorio para la publicacion en Facebbok

Facebook sólo se integra con sistemas que funcionen con https. Promo tendrá que tener configurado su wildfly con https


Para la cunfiguracion de configuración de wildfly con https sera necesario será necesario editar el archivo "standalone.xml" ubicado en ...\synthesis\promo\appserver\standalone\configuration


Alli sera requerido agregar los siguientes tags en:


<security-realm name="ApplicationRealm"/>

Bloco de código
languagexml
themeEmacs
titlePara Promo sobre Wildfly 9
<security-realm name="ApplicationRealm">
   <server-identities>
      <ssl>
         <keystore path="server.keystore" relative-to="jboss.server.config.dir" keystore-password="Promo2020" alias="jbossWildFly" key-password="Promo2020" />
      </ssl>
...
</server-identities>



Bloco de código
languagexml
themeEmacs
titlePara Promo sobre Wildfly 12
<security-realm name="ApplicationRealm">
   <server-identities>
      <ssl>
         <keystore path="server.keystore" relative-to="jboss.server.config.dir" keystore-password="Promo2020" alias="jbossWildFly" key-password="Promo2020" generate-self-signed-certificate-host="localhost"/>
      </ssl>
...
</server-identities>



<server name="default-server"/>


Bloco de código
languagexml
themeEmacs
    
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>

También sera será necesario generar y colocar el archivo "server.keystore" en el directorio ...\synthesis\promo\appserver\standalone\configuration. ( Como son claves de encriptación, tienen que ser generadas dentro del ambiente de instalación. Desde Napse se utilizó la herramienta de pruebas "keytool" de Java para la generación del mismo)

Una vez guardados los cambios en el standalone.xml y colocado el archivo "server.keystore.txt" en el directorio indicado, deberá de reiniciarse el wildfly para que los cambios sean tomados correctamente.

...

Una vez ingresados los datos de configuracion configuración aportados por la aplicación generada, se podrá proceder a la publicación de las promociones en la red social. (ver ver Manual de usuario Promo 7 - "Distribución">> "Redes Sociales")

Aviso
titleIMPORTANTE

No podrán subirse a las redes sociales imágenes con tamaños motor a 1 MB.



Integración con Syslog/QRADAR

...

ParámetroValor por defectoDescripción
promo.general.cvvOnlyForConsumefalseVer Ver Validar CVV solo cuando se realiza un consumo en una Tarjeta de Fidelidad
promo.delimitersspaceVer Ver Configuración Atributos con espacios en Condiciones Simples
promo.allowNonExistingCustomersfalseVer Ver Alta de cliente durante la transacción
promo.transaction.batch.size1000Cantidad maxima de transacciones que se procesarán cada vez que se ejecute la tarea programada (default 30 segs.).  Este parámetro puede afectar la performance del sistema.

promo.general.pauseQuartz

falseEn ambientes multinodo, permite desactiva la ejecución de las tareas programadas en alguno de dichos nodos.  Esta opción permite que nodos con poca capacidad de procesamiento ejecuten tareas que requieran mayor cantidad de recursos.
promo.lv.enableUpsertCustomerstruePermite la creación o actualización de clientes durante el LoyaltyValidation.  Esto es, cuando se envia a validar un cliente y se especifican datos clave, se intentara crear o actualizar dicho cliente.
promo.lv.returnCustCardstrueIndica que la respuesta a un loyaltyValidation de cliente debe retornar las tarjetas asociadas al mismo.
promo.lv.returnCustCouponstrueIndica que la respuesta a un loyaltyValidation de cliente debe retornar los cupones asociados al mismo.
promo.lv.returnSegmentstrueIndica que la respuesta a un loyaltyValidation de cliente debe retornar los segmentos asociados al mismo.
promo.lv.returnContractstrueIndica que la respuesta a un loyaltyValidation de cliente debe retornar los contratos asociados al mismo.
promo.backupOptions--gzipindica que el backup va a ser comprimido a nivel colección. Si tiene un valor diferente la base no va a comprimir a nivel colección.
promo.card.customersNonNominatedtruePermite que al validar que se considere al CPF como si fuera una tarjeta nominada.
catalogBase.catalogOverridecomentada y en falseSe utiliza sólo para importación de catálogos por archivos. Con la configuración comentada borra los registros de la compañía del catálogo correspondiente antes de importar. Con valor false mantiene los registros previamente importados.
promo.transaction.flatten.batch.size250Indica la cantidad de transacciones a aplanar por cada corrida del job aplanado

...

Se disponibiliza la posibilidad de poder indicar por configuracion configuración que el CVV de una tarjeta de Fidelidad solo sea validado cuando se realiza un consumo de saldos en ella.

...

Bloco de código
themeEmacs
<?xml version="1.0" encoding="UTF-8"?>
<message companyId="napse" store="1" terminal="1" date-time="2020-11-03 11:11:22" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" map-version="2" tckpath="Y" suggest="true">
<customer-add seq="1" id="47001517" identifier="47001517" type="test" name="bruno" lastName="Lopez" identifierType="cpf" email="[email protected]" />
</message>


Nota: Para mas informacion ver información ver "Manual de Integracion 7.2 - Motor" - LoyaltyValidation.

...

Información de Director

A partir de 7.2.3, se va a utilizar la versión de Director 2.0 que no es compatible con la versión 1.

...

Reverso de actualizaciones ante problemas en el proceso

Ante algun algún problema durante la actualizacion actualización de una version versión de consola o motor, debera deberá de bajarse los servicios involucrados y colocar el archivo .war o .jar anterior,  segun según se trate de una actualizacion actualización de consola o motor respectivamente y volver a subir los servicios.

Luego de reesablecido reestablecido el sistema contactar a Sericios Servicios de Atencion Atención al Cliente para poner en conocimiento de lo sucedido con el proceso de actualizacionactualización


...

Apéndice A: Autenticación de Usuarios Externos (SAML2)

...

Aviso
titleIMPORTANTE

Al utilizar un sistema de autenticación externos los usuarios dados de alta en la consola no deberán poseer ningún tipo de configuración de políticas de seguridad de PROMO.


Para que promo utilice saml2, se deberá agregar, en el directorio donde permanecen los .properties\appserver\modules\system\layers\base\com\synthesis\configuration\main\ , los archivos properties correspondientes. Éstos Estos son:

  1. saml.properties - Archivo principal de configuraciones.
  2. saml-keymanager-passwords.properties
  3. saml-metadata-providers.properties - Archivo correspondiente a la configuración del proveedor de identidad.
  4. saml-metadata-sp-defaults.properties - Archivo correspondiente a la configuración que utilizará PROMO para generar su archivo xml de metadatos.

...

Informações
titleNOTA

La operación en consola sucede al iniciar o cerrar sesión. Al usar saml, el inicio de sesión de PROMO se reemplaza por el inicio de sesión del proveedor de identidad.


Consideraciones de

...

las pruebas de Integración

...


Informações
titleIMPORTANTE

ESTE ES SOLO UN EJEMPLO REALIZADO CON UNA HERRAMIENTA (github) QUE EXISTÍA PARA REALIZAR ESTAS PRUEBAS.



  1. Alta de usuarios en la consola de PROMO por medio del servicio rest correspondiente (createOrUpdateUsers), . También podrán darse de alta manualmente desde la consola. En ambos casos deberá de tenerse en cuenta que los usuarios no deberán tener asignadas ninguna restricción en cuanto a políticas de seguridad propias de PROMO.
  2. Obtener

    su

    el xml de metadatos

    en el menú idp metadata (https://capriza.github.io/samling/samling.html#) y guardarlos en un archivo xml (preferiblemente idp.xml). Debe apuntarse al mismo desde la configuración por properties.

    del sistema saml proveedor de identidad, del cliente. La ruta donde estará este archivo deberá tener especificada en la configuración properties. Para simplificar se puede renombrar como idp.xml.

  3. Guardar el archivo idp.xml en C:\synthesis\promo\idp.xml
  4. Editar el archivo archivo saml-metadata-providers.properties especificando allí la ruta absoluta donde se colocó el archivo idp.xml
  5. Iniciar PROMO (Wildfly) con los cuatro properties correspondientes a saml.
  6. Generar el xml de PROMO accediendo a http://localhost:8080/promo/saml/metadata, guardarlo en un xml (preferiblemente sp.xml).
  7. Se guardó

    Guardar sp.xml

    en 

    en C:\synthesis\promo\sp.xml.

  8. Editar el archivo archivo saml.properties especificando allí la especificando allí la ruta absoluta donde se colocó el archivo archivo sp.xml
  9. Editar el archivo saml-metadata-sp-defaults.properties especificando la ruta de promo (por ej. http://localhost:8080/promo).

  10. Detener PROMO (wildfly)
  11. Borrar los directorios \temp y \data que se encuentran en el directorio \standalone de la instalacion instalación de PROMO.
  12. Iniciar PROMO(wildfy)
  13. Al acceder a la consola de PROMO en lugar de la pantalla de inicio de sesión aparecerá la pantalla de

    samling. Esta pantalla permite configurar qué se desea enviar al proveedor de servicios, que en este caso es PROMO. Sólo modificar, dentro de "Saml Response Properties" el campo "Name Identifier" con el nombre de usuario con el que se desea acceder a PROMO.Presionar "NEXT"
    Image Removed
    En la siguiente pantalla que se presenta presionar "Post Response"
    Image Removed
    Se presentara

    inicio de sesión del proveedor de identidad. 

  14. Luego de ingresar usuario y clave en el proveedor de identidad, se presentará la consola de PROMO, logueada con el usuario ingresado:, en la página de inicio correspondiente al rol que tiene asignado.                                                                                                                                  

Si el usuario no corresponde a ningún usuario dado de alta en PROMO el login fallará, y se volverá a la pantalla del punto 13 para volver a intentar a ingresar un usuario valido y poder iniciar sesión en PROMO.

Si el usuario es uno existente iniciará sesión en PROMO sin problemas, presentándose la pantalla de Gestión de Promociones.

Aviso
titleIMPORTANTE

Saml2 funciona con la primer empresa existente y no principal. Todo usuario se verificará con dicha empresa. Para el caso del acceso con la empresa Synthesis, se reservó el usuario synthesis, es decir, si se necesita acceder a la compañía principal se debe utilizar el usuario synthesis. El cliente deberá dar de alta en su proveedor de identidad a este usuario previamente.crea promoAdmin. Este war sólo tiene la finalidad de acceder con synthesis para entornos test/productivos con saml activo.


Properties:

  • saml.properties, debe mantener la ruta absoluta al archivo de metadatos del proveedor de servicios.

    Bloco de código
    languagexml
    themeRDark
    #
    # Configuraciones para la utilización de SAML2
    # Más info en https://sphoortia.github.io/grails-spring-security-saml/docs/guide/configuration.html
    #
    grails.plugin.springsecurity.saml.userGroupAttribute = memberOf
    grails.plugin.springsecurity.saml.metadata.sp.file = C:\\synthesis\\promo\\sp.xml
    grails.plugin.springsecurity.saml.metadata.sp.alias = promo_saml
    grails.plugin.springsecurity.saml.responseSkew = 60
    grails.plugin.springsecurity.saml.idpSelectionPath = /
    grails.plugin.springsecurity.saml.loginFormUrl = /saml/login



  • saml-metadata-providers.properties, clave ping, debe mantener la ruta absoluta al archivo de metadatos del proveedor de identidad.

    Bloco de código
    languagexml
    themeRDark
    ping=C:\\synthesis\\promo\\idp.xml



  • saml-metadata-sp-defaults.properties, clave entityBaseURL, debe mantener la ruta de promo.

    Bloco de código
    languagexml
    themeRDark
    local=true
    alias=promo_saml
    entityBaseURL=http://localhost:8080/promo
    securityProfile=metaiop
    signingKey=ping
    encryptionKey=ping
    tlsKey=ping
    requireArtifactResolveSigned=false
    requireLogoutRequestSigned=false
    requireLogoutResponseSigned=false
    idpDiscoveryEnabled=false



  • saml-keymanager-passwords.properties


    Bloco de código
    languagexml
    themeRDark
    #apollo = nalle123


Informações
titleNOTA

Para volver al sistema de logueo habitual, sin utilizacion utilización de SAML2 solo deberan deberán eliminarse los 4 archivos .propertis del directorio \main y reiniciar PROMO (Wildfly).

...

  • Revisar y Copiar los siguientes archivos:   Modifcar  Modificar el  config.xml (…promo/engine/conf) para especificar las rutas correctas:

...

  1. Bajar el servicio de Wildfly (acceder a la sección de servicios del sistema y detener Wildfly)
  2. Acceder al directorio donde este instalada la consola de PROMO (por default en C:\synthesis\promo)
  3. Ingresar al directorio C:\synthesis\promo\appserver\standalone y eliminar los directorios "data" y "tmp"
  4. Ingresar al directorio C:\synthesis\promo\appserver\standalone\deployments y reemplazar el archivo promo.war existente por el enviado por el personal de Synthesis.
  5. Hecho esto, iniciar nuevamente el servicio wilfly.


Informações
titleNOTA

Una vez iniciado el servicio luego del reemplazo del archivo promo.war, en el directorio C:\synthesis\promo\appserver\standalone\deployments se generara un archivo llamado promo.war.isdeploying, indicando que se están descomprimiendo los archivos de la actualización.


En caso de terminar satisfactoriamente el proceso, este archivo será renombrado como promo.war.deployed.
De presentarse algún error durante la descompresión de la actualización, se generara un archivo llamado promo.war.failed el cual deberá ser enviado al personal de soporte para su análisis y posterior resolución del inconveniente a fin de iniciar correctamente la consola.

...