Versões comparadas

Chave

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





MANUAL DE INSTALACIÓN


PROMO 7.0







Índice

Índice

...

  • Wildfly 9.
  • PromoSimEngine x.x (motor de simulación)
  • MongoDB 34.62



Los servicios de MongoDB, Wildfly y PromoSinEngine quedaran instalados y podrá optarse al momento de la instalación si se ejecutan al terminar el proceso de instalación o bien si se iniciaran a mano, en caso de ser necesario realizar configuraciones previas el inicio de los servicios. 
Respecto del servicio Wildfly, inicialmente vendrá configurado por defecto el directorio sugerido, ocupando el puerto 8080
Al finalizar el instalador se crearán todos los servicios y directorios correspondientes.

...

  • 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)


Es requisito que antes de realizar la instalación de la consola estén instaladas los siguientes componentes:

  • MongoDB 34.62
  • JDK 1.8.0_25


Junto con la consola de PROMO, durante el proceso se instalarán el motor de simulación y Wildfly.

Âncora
_Toc441587758
_Toc441587758
Âncora
_Toc472761280
_Toc472761280
Âncora
_Toc473099931
_Toc473099931
Âncora
_Toc513638202
_Toc513638202
Instalación MongoDB

...

4.

...

2


Se pueden seguir los pasos en la documentación de instalación online de Mongo.

Linux: https://docs.mongodb.com/v3v4.42/tutorial/install-mongodb-on-red-hat/

...

Bloco de código
languagexml
themeRDark
<!--Directorio de trabajo del cache de datos interno utilizado por el motor, en caso de no especificarse el motor usa "./data" -->
<cachedata>
 <directory>data</directory>
</cachedata>


Optimización de carga de mapas en motor

...

(a partir de Promo v7.1)

Esta mejora consiste en habilitar la utilización de mapas pre-compilados, significa que el motor, luego de procesar un mapa xml generado por consola, guardará archivos compilados de mapas, promociones e indices en el directorio indicado, para que en caso de reiniciar el motor, cargar los mapas compilados en vez de cargarlos desde el xml, lográndose con esto un mejora de tiempo sustancial en mapas grandes.

...


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

Host de la base de datos

7NegociomongoDBPort27017Puerto de la base de datos

.  En caso de poseer una configuracion en replicaset el formtao de configuracion 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

7NegociomongoDBPort27017Puerto de la base de datos.  En caso de replicaset este parametro es ignorado.
8GeneralauditDateCleaner30Eliminar registros de las tablas de importación.
9GeneralimportReceiptDateCleaner30Eliminar registros de las tablas de importación.
10GeneralticketGeneratorSeconds2DEMO: cantidad de segundos de generación de ticket para demos
11NegociocharsMaximumAlphabetical 20Cantidad máxima de caracteres alfabéticos
12NegociocharsMaximumNumerical 20Cantidad máxima de caracteres numéricos
13NegociocharsMaximumQuantity 20Cantidad máxima de caracteres totales
14NegociocharsMaximumSpecial 20Cantidad máxima de caracteres especiales
15NegociocharsMinimumQuantity 7Cantidad mínima de caracteres totales
161NegociocharsMinimumUser 3Cantidad minima de caracteres en el nombre de usuario
17NegociomaximumLoginFailedCount 3Cantidad máxima de reintentos de login fallidos sucesivos
18NegocionumberQuantity 1Cantidad mínima de caracteres numéricos
19NegociopasswordExpirationDays 30Días de expiración de la contraseña del usuario
20NegociospecialCharsQuantity 0Cantidad mínima de caracteres especiales
21NegociostringQuantity 1Cantidad mínima de caracteres alfabéticos
22NegociouserBlockDays 90Bloqueo de usuario - días de inactividad
23NegociouserLockTime 30Periodo de bloqueo de la cuenta de usuario (en minutos)
24PromoengineSalesPathC:/synthesis/promo/engine/sales/Directorio de Mapas del Motor

...

20
ModuloClaveValorDescripción
1CuponesbarcodePathC:/synthesis/promo/images/barcode/Directorio imagenes de codigos de barra2
CuponesbarcodeUrlhttp://localhost:8080/promo/assets/barcode/Url imagenes de codigos de barra3
PromofileDirectoryC:/synthesis/promo/catalogs/napse\Importación de catálogo: directorio donde estarán los archivos4
NegociomoneySymbol$Símbolo de moneda
5Tarjetas de fidelidadmax.qty999Cantidad máxima de tarjetas a generar por cada operación de alta masiva
6Tarjetas de fidelidadisEditableAfterCardsGenerationfalsePermitir la edición del tipo de tarjeta luego de haber generado una tarjeta activa
7Tarjetas de fidelidadprefix.activefalseUtilizar prefijo númerico incremental para tipos de tarjeta
8CuponesCODE128PPPSSSTTTnnnnnnnnnnnnnnnnnnFormato de código de barras CODE1289
CuponesEAN13PPPSSSTTTnnncFormato de código de barras EAN13
10CuponesUPCAPPPSSSTTTnncFormato de código de barras UPCA11
Cuponesmax.qty999Cantidad maxima de generación Masiva de Cupones por transacción12
Cuponesprefix.activetrueUtilizar prefijo númerico incremental para tipos de cupón13
CuponesamountFormat%.02fFormato en el que se imprimen los montos de los cupones14
PromoapplicationMethodresumePromociones: valor por defecto en el método de aplicación
15PromodivisionMethodproportionalPromociones: valor por defecto en el método de división
16PromodivisionPricebenefited-pricePromociones: valor por defecto el tipo de precio beneficiado17
PromofileList.txt.Separator,Importación de catálogo: separador
18PromofileList.xls.ColStart0Importación de catálogo: columna de comienzo de la importación de catálogo19
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álogo21
Promoseparator|Importación de catálogo: separador de columnas
22PromoterminatedOnErrortrueTermina la importación de catalogo, si al menos uno fallo. Si es false, no termina e informa los catalogos fallidos
23PromoupdateSize100Importación de catálogo: tamaño de subida
24NegociocharsMaximumAlphabetical 20Cantidad máxima de caracteres alfabéticos
25NegociocharsMaximumNumerical 20Cantidad máxima de caracteres numéricos26
NegociocharsMaximumQuantity 20Cantidad máxima de caracteres totales
27NegociocharsMaximumSpecial 20Cantidad máxima de caracteres especiales28
NegociocharsMinimumQuantity 7Cantidad mínima de caracteres totales29
NegociocharsMinimumUser 3Cantidad minima de caracteres en el nombre de usuario30
NegociomaximumLoginFailedCount 3Cantidad máxima de reintentos de login fallidos sucesivos
31NegocionumberQuantity 1Cantidad mínima de caracteres numéricos32
NegociopasswordExpirationDays 30Días de expiración de la contraseña del usuario33
NegociospecialCharsQuantity 0Cantidad mínima de caracteres especiales34
NegociostringQuantity 1Cantidad mínima de caracteres alfabéticos35
NegociouserBlockDays 90Bloqueo de usuario - días de inactividad36
NegociouserLockTime 30Periodo de bloqueo de la cuenta de usuario (en minutos)37
PromodistributionThreadPool10Cantidad de hilos creados para la distribución simultánea38
PromopathC:/synthesis/promo/import/Directorio para la importacion de Mapas de Promociones.
39Promobenefit.activefalseUtilizar campo numérico incremental para beneficios
40Promopromotion.code.activefalseUtilizar campo numérico incremental para promociones
41Cuponesdefault.from[email protected]Email por defecto con el que se enviaran los correos42
Cuponesdefault.insertImagesfalseIndica si acepta o no barcodes
43Cuponesdefault.subjectPromo Test MailAsunto por default44
Cuponeshostsmtp.gmail.comHost del proveedor de email45
Cuponespassword**************Contraseña de la cuenta de email46
Cuponesport
Puerto de conexión47
Cuponessmtp.authtrueHabilitar Auth SMTP
48Cuponessmtp.port587Puerto SMTP
49Cuponessmtp.socketFactory.classjavax.net.ssl.SSLSocketFactorynombre de la clase SSLSocketFactory
50Cuponessmtp.socketFactory.fallbackfalseFallback de socketFactory51
Cuponessmtp.socketFactory.port465Puerto SMTP de socketFactory
52Cuponessmtp.starttls.enabletrueHabilitar Start TLS53
Cuponesusername[email protected]Usuario o nombre de la cuenta de email54
Promouse.item.catalog1Mapas: algoritmo de cálculo de colisiones55
PromocleanEngineStatusHistory7Tiempo en días que la consola mantendrá el historial de estados del motor56
PromodeployedEditable.enabledfalseHabilita la edición de promoción con el estado Deployed.
57Promopromotion.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.
58Promopromotion.images.height250Promociones: alto default de las imagenes59
Promopromotion.images.pathC:/synthesis/promo/images/promotion/Promociones: directorio para almacenamiento de imágenes
60Promopromotion.images.width250Promociones: ancho default de las imagenes61
PromoreportParticipantsfalsePromociones: valor global que determina si la promoción informa participantes62
PromoreportParticipantsVisibletrueDetermina si se visualiza o no, la opción reportar participantes63
Promomethod.of.paymentNOTHING=No calcular promociones por medio de pagoPromocion Codificada: NOTHING, ON_ITEMS_PAID, ON_PAYMENT_MADE64
Promomethod.of.payment.onItemsPaid.classcom.synthesis.promo.engine.partialPayment.hardcoded.promotion.PartialPaymentsGSPromotionPromocion Codificada: nombre de la promoción por medio de pago basada en ítems.
65Promomethod.of.payment.onItemsPaid.namePromociones basadas en itemsPromocion Codificada: nombre de la promoción por medio de pago basada en ítems.
66Promomethod.of.payment.onItemsPaid.tenderMethodPropertyKeypromo.configuration.tenderMethod.itemMethodPromocion Codificada: nombre de la promoción por medio de pago basada en ítems.
67Promomethod.of.payment.onPaymentMade.classPartialPaymentsSSPromotionPromocion Codificada: nombre de la promoción por medio de pago basada en ítems.68
Promomethod.of.payment.onPaymentMade.namePromociones basadas en pagosPromocion Codificada: nombre de la promoción por medio de pago basada en ítems.
69Promomethod.of.payment.onPaymentMade.tenderMethodPropertyKeypromo.configuration.tenderMethod.paymentMethodPromocion Codificada: nombre de la promoción por medio de pago basada en ítems.70
PromoldapAuthenticationfalseDetermina si se autentica contra un Directory Service71
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.72
PromoldapAuthentication.urlServer
URL del server contra el que se autentica.
73PromotestEnginePORT3001Simulación: puerto en el que corre el motor para simulación
74PromotestEngineRetries2Simulación: reintentos de conexión al motor
75PromotestEngineSalesPathC:/synthesis/promo/engine/sales/Simulación: ruta del motor76
PromotestEngineTimeout8000Simulación: timeout de conexión al motor
77Redes socialesfacebook.appId1068803576479010Id de la aplicación de facebook78
Redes socialesfacebook.permissions[publish_actions, manage_pages]Permisos de la aplicación de facebook79
Redes socialesfacebook.secretdfa5ffe6aa6306fc49472dbcba3c16a9Clave secreta de la aplicación de facebook80
Redes socialesfacebook.securehttpsProtocolo de conexión segura a la aplicación de facebook81Redes socialestwitter.accessToken2848331890-D2geAfGVL9u2bD6TrD1LxH5fUsXlBnHLa3FOziKToken de acceso a twitter
82Redes socialestwitter.accessTokenSecretNHd6JbcoLaBK5QEfrKgmOaQwwxmbwlEtOYlQni3Fx6H3yToken secreto de acceso a twitter
83Redes socialestwitter.consumerKeyHTPKOHdatasoDsm2Ud7ULnUapAKFXoCClave consumer key de twitter84
Redes socialestwitter.consumerSecretX1plqdQWK0nRCGz6KFxm37IZTzp4O7w9BjLSspIr4mYWLZsrOyClave consumer secret de twitter
85Tarjetas de fidelidadcontinueOnErrortruePermitir continuar la importación de catálogo de tarjetas ante un error86
Tarjetas de fidelidadinsertionOptionINSERT_OR_UPDATEDescribe la opción de inserción para la importación del catálogo de tarjetas87
TransaccionescleanTransactions90Cantidad de días que permanecerán los registros de transacciones en la base de datos88
Lista de preciospriceList.distribution.items.batch.size1000Cantidad de Precios a enviar al motor desde la consola en la distribución de precios (por comunicacion).
89Lista de preciospriceList.job.cleanPriceListSchedule.time30Cantidad de días a mantener los items de la lista de precios futuros procesados90
Lista de preciospriceList.lockForUpate15Minutos para poder desbloquear Lista cero en el proceso rest91
Lista de preciospriceList.mongo.bulk.insertOrUpdate200Cantidad de registros a insertar por lote en el proceso rest

...

Informações
titleNOTA 2

Se asume que si existe, en el archivo promoplus/promoconfig.properties, una contraseña no encriptada (grails.mongodb.password) no debe existir la entrada de contraseña encriptada (grails.mongodb.encryptedPassword) y viceversa. La entrada no deseada se puede eliminar o comentar.

...



Configuración Atributos con espacios en Condiciones Simples

En Promo 7 por default no se puede ingresar en Condiciones Simples atributos con espacios, al ingresar el espacio toma como completo el nombre del atributo ingresado, como cuando se presiona la barra espaciadora:

Image Added

Por configuración se puede cambiar y permitirá ingresar espacios en blanco en los atributos ingresados. Para eso debe editar el archivo promoplus.properties y agregar la siguiente línea:

promo.delimiters = no-space 

Con esta configuración para que interprete que se terminó de escribir el elemento debe presionar la tecla tab.

Image Added

Si ingresa el parámetro: promo.delimiters = space funciona como viene por default, que no permite ingresar espacios dentro del texto ingresado en los atributos.




Âncora
_Toc473121731
_Toc473121731
Âncora
_Toc513638228
_Toc513638228
Configuración de Redes Sociales

Para trabajar con redes sociales PROMO posee una serie de opciones de configuración que se describen a continuación. También es importante aclarar que los servicios de redes sociales están en constante evolución y cambio por lo cual aquí se hace referencia al sitio del servicio en cuestión para obtener la información actualizada al respecto.

...

Desde la consola de cada compañía, accediendo con el usuario administrador, y accediendo a "Administración Información de configuración" se encontraran las siguientes configuraciones que serán necesarias completar para la correcta publicación en la red social.

Image Removed

Los datos presentes en esta imagen son solo de carácter ilustrativo y deberán ser reemplazados por las credenciales adquiridas con los usuarios de desarrollo de cada aplicación.

Image Added


  • Generación de Aplicación en Facebook

Para poder utilizar la publicación en Facebook se deberá ingresar a https://developers.facebook.com/, darse de alta como desarrollador de Aplicaciones Facebook y agregar una nueva aplicación siguiendo los pasos indicados en la página.
Esto aplica a la versión de App Facebbok 2.9, pero es importante notar que al crear una aplicación para Facebook Al crear una aplicación para Facebook, se comienza en estado de desarrollo y para poder realizar publicaciones hay que dar los permisos de "Administrador" al usuario de FB que realizara las publicaciones.

Por otra parte, si se quiere compartir o que otro usuario pueda realizar publicaciones, es necesario ser amigos entre los usuarios agregarlo al grupo de contactos (amigos) y darle permisos de administrador"Administrador".

Al acceder a la URL indicada más arriba, se accederá a la sección de "Facebook for Developers" de Facebook.


Se deberá dar clic en "Mis Aplicaciones" que figura arriba a la derecha, junto al icono de usuario.
Image RemovedApps".Image Added


Una vez allí, habrá que dar clic en el botón verde de "Agregar una nueva aplicaciónCrear app".
Image Removed Se solicitara ingresar un nombre y un correo electrónico de contacto para dar de alta la app. Luego de ingresados los datos solicitados, presionar en "Crear identificador de la aplicación".
Image Removed La siguiente pantalla presentara los datos de la nueva aplicación recién generada.
Image Removed Aquí se mostraran los datos requeridos para la configuracion de la aplicación en el archivo promoplus.propertis que son:

Identificador de la aplicación >> grails.plugin.facebooksdk.app.id
Clave secreta de la aplicación >> grails.plugin.facebooksdk.app.secret

Sera necesario tener una pagina de Facebook dada de alta y asociada a la cuenta de usuario de facebook para poder realizar las publicaciones en esta pagina.
Desde el perfil de usuario con el que se haya generado la app de Facebbok, se deberá dar clic en el menú desplegable de la cual se tendrá acceso a las configuraciones y paginas.
En este menú dar clic en "Crear pagina", y generarla en base al perfil del negocio siguiendo los pasos indicados por facebok
Una vez generada la pagina y configurados los datos en el archivo de configuracion aportados por la aplicación generada, se podrá reiniciar la consola y proceder a la publicación de las promociones en la red social.

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. 

...

Desde la consola de cada compañía, accediendo con el usuario administrador, y accediendo a Administración Información de configuración se encontraran las siguientes configuraciones que serán necesarias completar para la correcta publicación en la red social.

Image Removed

Los datos presentes en esta imagen son solo de carácter ilustrativo y deberán ser reemplazados por las credenciales adquiridas con los usuarios de desarrollo de cada aplicación.

...

Deberá accederse a la URL https://developer.twitter.com/ y presentara la siguiente pantalla:
Image Removed

Deberá darse clic en el botón correspondiente al usuario logueado en Twitter,  se desplegara un menú y se dará clic en "Apps"

Se presentara la siguiente pantalla y debera darse clic en "Create an app"
Image Removed

...

Para obtener los Ids y Tokens deberá darse clic en la solapa "Keys and Tokens" donde se visualizaran los datos necesarios para configurar correctamente los permisos de acceso desde Promo.

Image Removed

Aviso
titleIMPORTANTE

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

Integración con Syslog/QRADAR

La implementación del envío de eventos a QRadar se apoya en el sistema de logueo log4j utilizado por Promo, agregando un appender específico para syslog "SysLogAppender" disponible en el paquete log4j, y el desarrollo de un clase que presta servicio a tal fin denominada "SysLogService" la cual formatea los mensages en otra clase "SysLogMessageFactory".

Para habilitar el envío a QRadar, se debe editar el archivo de configuracion de logueo "log4j.xml" insertando las siguientes entradas antes del final:

Bloco de código
languagexml
themeEmacs
<appender name="syslogappender" class="org.apache.log4j.net.SyslogAppender">
    <param name="syslogHost" value="myserver:myport"/>
    <param name="facilityPrinting" value="false"/>
    <param name="facility" value="AUTHPRIV"/>
    <param name="header" value="false"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SXXX} %m%n"/>
    </layout>
 </appender>
 
 <logger name="sts.console.audit.SysLogService" additivity="false">
    <level value="info"/>
    <appender-ref ref="syslogappender"/>
 </logger>

</log4j:configuration>

Cambiar en el parámetro "syslogHost" , el valor "myserver:myport", por el correspondiente a la dirección ip y port del syslog server QRadar.  Ejemplo: localhost:514

Luego re-deployar la consola de Promo para que tome la configuración.

Tipos de eventos :

Los eventos que serán enviados a QRadar en una primera instancia son los correspondientes a usuario: login, logout, login failed, nuevo usuario, modificación de usuario.

...

Desinstalación

...

1- Bajar servicios

    • PromoSImEngine
    • Wildfly
    • MongoDB
    • PromoEngine (si se instaló el motor)
    • PromoEngineDirector (si se instaló el motor)

2- Borrar directorio C:\Synthesis (ruta donde se instaló la consola)

3- Desinstalar MongoDB

4- Borrar los servicios de PromoSinEngine, Wilfly y MongoDB, y PromoEngine, PromoEngineDirector si se instaló el motor

Reverso de actualizaciones ante problemas en el proceso

Ante algun problema durante la actualizacion de una version de consola o motor, debera de bajarse los servicios involucrados y colocar el archivo .war o .jar anterior,  segun se trate de una actualizacion de consola o motor respectivamente y volver a subir los servicios.

Luego de reesablecido el sistema contactar a Sericios de Atencion al Cliente para poner en conocimiento de lo sucedido con el proceso de actualizacion.Image Added


Se presentara el siguiente popUp donde se deberá seleccionar el tipo de app que se desea crear. En este caso, seleccionaremos "Negocio", y se deberá presionar "Continuar".
Image Added



En el siguiente popUp se deberán ingresar los datos solicitados para dar nombre a la app que se esta creando y presionar el botón "Crear app"
Image Added


Una vez creada la app se mostrara la siguiente pantalla, desde donde podrá accederse, desde la opción "Configuración" >> "Básica", a los datos de identificación de la aplicación recientemente creada.

Image Added

Aviso
titleNota

Los datos presentes en esta imagen son solo de carácter ilustrativo y deberán ser reemplazados por las credenciales adquiridas con los usuarios de desarrollo de cada aplicación.

Los datos a considerar y completar en esta sección serán:

  • 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 validos para la configuracion 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.


Sera necesario tener una pagina de Facebook dada de alta y asociada a la cuenta de usuario de Facebook para poder realizar las publicaciones en esta pagina.

Desde el perfil de usuario con el que se haya generado la app de Facebook, se deberá dar clic "Paginas" que se encuentra a la izquierda de la pagina.

Image Added


Se presentara la siguiente pagina, donde se deberá dar clic en "Crear nueva pagina"

Image Added


Al presionar en "Crear nueva pagina", se mostrará la siguiente pantalla, donde deberá de completarse la información solicitada en el margen izquierdo.

Image Added


Una vez generada la pagina e ingresados los datos de configuracion 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 wildfly con https sera 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>

Image Added


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"/>

Image Added


También sera 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.





Âncora
_Toc473121733
_Toc473121733
Âncora
_Toc513638230
_Toc513638230
Configurar Twitter

Desde la consola de cada compañía, accediendo con el usuario administrador, y accediendo a Administración >> Información de configuración se encontraran las configuraciones que serán necesarias completar para la correcta publicación en la red social.

Image Added


  • Generación de perfil en Twitter

Deberá accederse a la URL https://developer.twitter.com/ y presentara la siguiente pantalla:
Image Added

Deberá darse clic en el botón correspondiente al usuario logueado en Twitter,  se desplegara un menú y se dará clic en "Apps"


Se presentara la siguiente pantalla y debera darse clic en "Create an app"
Image Added


Sera necesario completar los campos con los datos solicitados para poder crear la aplicación en base a las políticas de seguridad de Twitter.

Completos todos los campos, dar clic en "Create" y se mostraran las configuraciones disponibles para la nueva aplicación recientemente generada:
Image Added

Para obtener los Ids y Tokens deberá darse clic en la solapa "Keys and Tokens" donde se visualizaran los datos necesarios para configurar correctamente los permisos de acceso desde Promo.

Image Added

Una vez ingresados los datos de configuracion 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")

Aviso
titleIMPORTANTE

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


Validar CVV solo cuando se realiza un consumo en una Tarjeta de Fidelidad

(a partir de Promo 6.5)

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

La tarjeta debe de tener activa la opción de CVV requerido en su tipo de tarjeta.

Para habilitar esta opción deberá definirse en el archivo "promoconfig.properties" el parametro promo.general.cvvOnlyForConsume = true

Image Added


Integración con Syslog/QRADAR

La implementación del envío de eventos a QRadar se apoya en el sistema de logueo log4j utilizado por Promo, agregando un appender específico para syslog "SysLogAppender" disponible en el paquete log4j, y el desarrollo de un clase que presta servicio a tal fin denominada "SysLogService" la cual formatea los mensages en otra clase "SysLogMessageFactory".


Para habilitar el envío a QRadar, se debe editar el archivo de configuracion de logueo "log4j.xml" insertando las siguientes entradas antes del final:

Bloco de código
languagexml
themeEmacs
<appender name="syslogappender" class="org.apache.log4j.net.SyslogAppender">
    <param name="syslogHost" value="myserver:myport"/>
    <param name="facilityPrinting" value="false"/>
    <param name="facility" value="AUTHPRIV"/>
    <param name="header" value="false"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SXXX} %m%n"/>
    </layout>
 </appender>
 
 <logger name="sts.console.audit.SysLogService" additivity="false">
    <level value="info"/>
    <appender-ref ref="syslogappender"/>
 </logger>

</log4j:configuration>


Cambiar en el parámetro "syslogHost" , el valor "myserver:myport", por el correspondiente a la dirección ip y port del syslog server QRadar.  Ejemplo: localhost:514

Luego re-deployar la consola de Promo para que tome la configuración.


Tipos de eventos :

Los eventos que serán enviados a QRadar en una primera instancia son los correspondientes a usuario: login, logout, login failed, nuevo usuario, modificación de usuario.


Âncora
_Toc513638231
_Toc513638231
Resolución de problemas

Durante su funcionamiento, la Consola de administración podrá informar errores inesperados. Los errores que puedan a llegar a ocurrir utilizando la aplicación serán informados mediante un pop-up en rojo indicando la causa del mismo. Asimismo, el log de la aplicación que se encuentra en \synthesis\promo\log indicará más detalle acerca del mismo.
Si el error es por un tema de permisos o página no encontrada, se informará mediante una pantalla aclaratoria con el problema ocurrido.

Âncora
_Como_crear_una
_Como_crear_una
Âncora
_Cómo_crear_una_base de datos en SQL
_Cómo_crear_una_base de datos en SQL

Desinstalación


Para proceder con la des-instalación de la consola y motor de PROMO se deberá:

1- Bajar servicios

    • PromoSImEngine
    • Wildfly
    • MongoDB
    • PromoEngine (si se instaló el motor)
    • PromoEngineDirector (si se instaló el motor)


2- Borrar directorio C:\Synthesis (ruta donde se instaló la consola)

3- Desinstalar MongoDB

4- Borrar los servicios de PromoSinEngine, Wilfly y MongoDB, y PromoEngine, PromoEngineDirector si se instaló el motor


Reverso de actualizaciones ante problemas en el proceso

Ante algun problema durante la actualizacion de una version de consola o motor, debera de bajarse los servicios involucrados y colocar el archivo .war o .jar anterior,  segun se trate de una actualizacion de consola o motor respectivamente y volver a subir los servicios.

Luego de reesablecido el sistema contactar a Sericios de Atencion al Cliente para poner en conocimiento de lo sucedido con el proceso de actualizacion.




Herramienta para métricas de fidelidad

(A partir de Promo 7.2) Con el objetivo de medir los tiempos de proceso de elementos de fidelidad, se han incorporado métricas en el log de aplicación.

Se implementa la actualización en el log a nivel INFO tanto del lado consola como del motor, de las siguientes operaciones:

  • LoyaltyValidation
  • LoyaltyActivation
  • LoyaltyTransfer
  • LoyaltyVoid
  • LoyaltyAssign
  • FINISH
  • COMMIT
  • ROLLBACK
  • TransactionRequest
  • ReturnFinish
  • CatalogRedeemValidation
  • LOYALTYVALIDATIONEX

  • FINISHEX
  • Prices
  • voidTotal
  • blackList

Para habilitar los cambios realizados se agregaron las siguiente propiedades en los archivos correspondientes al logging tanto del lado consola como del motor:

Habilitar logueo en consola, ir a : ..\synthesis\promo\appserver\modules\system\layers\base\com\synthesis\configuration\main\log4j.xml

Valor por defecto ERROR, pasar a INFO para habilitar la funcionalidad.


Bloco de código
languagexml
themeDJango
titlelog4j.xml (consola)
<category name="grails.app.services.sts.console.api.ApiService">
<priority value="ERROR" />
</category>


Habilitar logueo en motor, ir a: ...\synthesis\promo\engine\conf\logging.properties

Valor por defecto SEVERE, pasar a INFO para habilitar la funcionalidad.


Bloco de código
languagexml
themeDJango
titlelogging.properties (engine)
engine.operation.level = INFO


Adicionalmente, una vez actualizado el valor de la propiedad engine.operation.level,  se cambia el nivel de logging de SEVERE a INFO de las siguientes propiedades:

  • java.util.logging.FileHandler.level = INFO
  • java.util.logging.ConsoleHandler.level = INFO


Resultado del cambio:

Bloco de código
languagexml
themeDJango
titleserver.log
15,52,20,949 INFO [sts.console.api.ApiService@http-nio-8080-exec-2] -->loyaltyTransfer
15,52,20,974 INFO [sts.console.api.ApiService@http-nio-8080-exec-2] <--loyaltyTransfer 0.025 seconds
15,52,23,334 INFO [sts.console.api.ApiService@Actor Thread 5] ApiService.status.mapActives Starting processing at Fri Jul 23 15:52:23 ART 2021
15,52,23,335 INFO [sts.console.api.ApiService@Actor Thread 3] ApiService.status.mapActives processed Finish at Fri Jul 23 15:52:23 ART 2021
15,52,23,357 INFO [sts.console.api.ApiService@http-nio-8080-exec-8] -->processEngineRequest: checking on console type:DYNAMIC_ATTRIBUTES ...
15,52,23,380 INFO [sts.console.api.ApiService@http-nio-8080-exec-1] -->processEngineRequest: checking if console has any pending to be process on engine...
15,52,29,749 INFO [sts.console.api.ApiService@http-nio-8080-exec-2] -->commit
15,52,29,752 INFO [sts.console.api.ApiService@http-nio-8080-exec-2] <--commit 0.003 seconds


Bloco de código
languagexml
themeDJango
titlegengine.log
INFORMACIÓN: -->OperationFinish:remoteEvaluation
jul 23, 2021 3:54:52 PM engine.operation.Operation loggerTimeStop
INFORMACIÓN: <--OperationFinish:remoteEvaluation 0.913 seconds -><?xml version="1.0" encoding="UTF-8"?><message ack="0" companyId="napse" engine="7.1.4-SNAPSHOT" mapversion="44" messageId="1" store="napse" terminal="1" transaction="napse_napse_1_20210723100025">
  <loyalty>
    <loyaltycards>
      <loyaltycard ack="0" amount="1800.00" id="550003" seq="1" type="tdf_001"/>
    </loyaltycards>
    <coupons/>
    <errors/>
    <customers/>
    <redeemTable/>
  </loyalty>
</message>
 
jul 23, 2021 3:55:04 PM engine.operation.Operation loggerTimeStart
INFORMACIÓN: -->OperationCommit:remoteEvaluation
jul 23, 2021 3:55:04 PM engine.operation.Operation loggerTimeStop
INFORMACIÓN: <--OperationCommit:remoteEvaluation 0.053 seconds
jul 23, 2021 4:13:57 PM engine.operation.Operation loggerTimeStart
INFORMACIÓN: -->OperationLoyaltyValidation:remoteEvaluation
jul 23, 2021 4:13:57 PM engine.operation.OperationLoyaltyvalidation validation
INFORMACIÓN: Se valida que el cuerpo del mensaje no este vacio en LoyaltyValidation
jul 23, 2021 4:13:57 PM engine.operation.Operation loggerTimeStop
INFORMACIÓN: <--OperationLoyaltyValidation:remoteEvaluation 0.373 seconds




...

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

...