Esta página es de solo lectura. Puedes ver la fuente pero no puedes cambiarla. Pregunta a tu administrador si crees que esto es incorrecto.
La configuración en SIMO sigue dos principios, que sea externalizable, es decir que no sea necesario desplegar para alterar la configuración y que sea legible. Ambas condiciones se logran mediante archivos de propiedades los cuales se describen a continuación.
Es el archivo de configuración principal, por defecto su localización es en el directorio /datossimo/archivos aunque esta localización puede ser cambiada con variables de entorno tomcat. En este archivo se encuentran propiedades básicas para la operación del sistema, pero también se encuentran las referencias a otros archivos de configuración, de esta forma, los archivos de configuración complementarios pueden estar en el mismo directorio que application.properties, en otro directorio o incluso internos al war si asi se desea. El archivo incluye propiedades definidas por Spring Boot, pero también contiene propiedades específicas del sistema SIMO.Las principales propiedades son:
Configuración de Datasource y pool de conexiones
spring.datasource.username=usrsimo
spring.datasource.password=simo
spring.datasource.max-active= 200
spring.datasource.max-idle= 10
spring.datasource.min-idle= 10
Generación de código
#Controla si hibernate genera DDL (crea tablas y demás) a partir de las anotaciones JPA
spring.jpa.generate-ddl=false
Hibernate Search
#Directorio donde se almacenan indices si se tiene un directorio tipo FileSystem
spring.jpa.properties.hibernate.search.default.indexBase = /indexsimo/lucene
#Tipo de directorio
spring.jpa.properties.hibernate.search.default.directory_provider = infinispan
#Configuración infinispan si se usa este tipo de directorio
spring.jpa.properties.hibernate.search.infinispan.configuration_resourcename = file:/datossimo/archivos/infinispan.xml
Repositorios y archivos
sigeca.documents.fileStagePrefix=sigeca-${sigeca.cluster.name}-
sigeca.documents.fileStageSuffix=.tmp
sigeca.documents.repositoryPath=/datossimo/archivos/repository
sigeca.documents.reportDirectory=/datossimo/archivos/report
#Controla tamaños y tipos de archivo generales y excepciones
multipart.maxRequestSize=80MB
file.restriction.fileSize.default=10000000
file.restriction.mimeTypes.imagen=image/jpeg,image/png
file.restriction.mimeTypes.DAT=application/x-ns-proxy-autoconfig
file.restriction.fileSize.DAT=16388608
file.restriction.fileSize.acuerdo=16388608
Roles permitidos por servidor
simo.rol=CIUDADANO,CARGADOR,ADMINISTRADOR,ADMIN_CONVOCATORIA,ADMIN_ENTIDAD,ADMIN_ENTIDAD_EDUCATIVA,ANALISTA,SUPERVISOR,AUDITOR
Integración PENTAHO
pentaho.url=http://192.168.52.37:8181 # ruta para consultar el estado de los trabajos (esta compuesto de url+getStatus+jobName) pentaho.getStatus=/kettle/jobStatus/?xml=y&name= #ruta para iniciar la tarea (esta compuesto de url+startJob+jobName) pentaho.startJob=/kettle/runJob?level=DebugLevel&xml=y&job= pentaho.auth=Y2x1c3RlcjpjbHVzdGVy
#Mensajes de retorno estado pentaho.finishedStatus=OK,Finished pentaho.runnigStatus=Running pentaho.errorStatus=Finished (with errors),Stopped,Stopped (with errors)
Agendador Quartz
quartz.enabled=true
Referencias a otros archivos de configuración
business-rules.properties=classpath:business-rules.properties #business-rules.properties=file:/datossimo/archivos/business-rules.properties notificaciones.properties=file:/datossimo/archivos/notificaciones.properties messages.properties=file:/datossimo/archivos/messages.properties pse.properties=file:/datossimo/archivos/pse.properties cluster.properties=file:/datossimo/archivos/cluster.properties ayuda.properties=file:/datossimo/archivos/ayuda.properties jobs.properties=file:/datossimo/archivos/jobs.properties antecedentes.properties=file:/datossimo/archivos/antecedentes.properties
Este archivo contiene todas las reglas de negocio que son aplicadas por recurso (Entidad JPA, DTO), el sistema evalua las reglas de negocio para un objeto que hereda de Model y produce un mapa de permisos para un objeto en particular y segùn el contexto de ejecución en el cual se está utilizando el objeto Por ejemplo, al serializar un objeto de tipo convocatoria, el sistema lo aumenta con un campo llamado access que tiene un mapa de los permisos que sobre esa convocatoria tiene el usuario autenticado en el contexto de ejecución (estado de la aplicación) en el cual se serializa el objeto, es decir, para un momento especìfico, las reglas de negocio indican si un usuario puede editar, crear, activar una convocatoria, etc. De esta forma, el sistema de permisos es áltamente configurable y flexible.
Las reglas de negocio son escritas usando Spring EL con ayuda del servicio RuleService, ej
br.co.gov.cnsc.sigeca.model.Convocatoria.view = #getAuthUser()!=null br.co.gov.cnsc.sigeca.model.Convocatoria.edit = #userHasRole(#currentUser,'ADMINISTRADOR') || (#userHasRole(#currentUser,'ADMIN_CONVOCATORIA') && #conv.estaAsociado(#currentUser,#root)) br.co.gov.cnsc.sigeca.model.Convocatoria.create = #userHasRole(#currentUser,'ADMIN_CONVOCATORIA')|| #userHasRole(#currentUser,'ADMINISTRADOR') br.co.gov.cnsc.sigeca.model.Convocatoria.delete = false br.co.gov.cnsc.sigeca.model.Convocatoria.publicarOpec = estado==T(co.gov.cnsc.sigeca.model.EstadoConvocatoria).A || estado==T(co.gov.cnsc.sigeca.model.EstadoConvocatoria).S #br.co.gov.cnsc.sigeca.model.Convocatoria.gestionarCargador = #userHasRole(#currentUser,'ADMINISTRADOR') || (#userHasRole(#currentUser,'ADMIN_ENTIDAD') && #currentUser.entidad.id == entidad.id) br.co.gov.cnsc.sigeca.model.Convocatoria.gestionarCargador = #userHasRole(#currentUser,'ADMINISTRADOR') || (#userHasRole(#currentUser,'ADMIN_ENTIDAD') && #usuario.isUsuarioEntidad(entidad.id)) br.co.gov.cnsc.sigeca.model.Convocatoria.crearEmpleo = #userHasRole(#currentUser,'CARGADOR') && #etapa.activa('OPEC',#root.id) En este archivo también se especifican las reglas de excepción, estas son similares a las reglas de negocio pero su propósito es ser utilizadas cuando se quieren crear excepciones a las reglas de negocio regulares, ejemplo, cuando se debe permitir una inscripción extemporánea a una convocatoria a un solo usuario por fallo de tutela, algunas reglas de excepción son:
ex.co.gov.cnsc.sigeca.dto.InscripcionDTO.inscribir = #currentUser!=null && !existeInscripcion && preInscripcion && pinInscripcion!=null && (#excepcion.validarExcepcion('exACRINSCRIBIR',1, idEmpleo, 'EMPLEO'))
ex.co.gov.cnsc.sigeca.dto.InscripcionDTO.pagarPSE = #currentUser!=null && !existeInscripcion && preInscripcion && pinInscripcion==null && (#excepcion.validarExcepcion('exACRPSE',1, idEmpleo, 'EMPLEO'))
ex.co.gov.cnsc.sigeca.model.InscripcionConvocatoria.inscribir = (#excepcion.validarExcepcion('exACRINSCRIBIR',1, empleo.id, 'EMPLEO')) && !#inscripcion.existeInscripcion(empleo.convocatoria,#currentUser) && pinInscripcion!=null && estado==T(co.gov.cnsc.sigeca.model.EstadoInscripcion).PI
ex.co.gov.cnsc.sigeca.model.InscripcionConvocatoria.pagarPSE = (#excepcion.validarExcepcion('exACRPSE',1, empleo.id, 'EMPLEO')) && estado==T(co.gov.cnsc.sigeca.model.EstadoInscripcion).PI && pinInscripcion==null && !#inscripcion.existeInscripcion(empleo.convocatoria,#currentUser)
Contiene la configuración del sistema de envío de notificaciones y mensajes, tiene dos secciones principales, la primera es la configuración del servidor de correo y/o del servicio de envio masivo, así
EMAIL NOTIFICATION spring.mail.host=localhost spring.mail.port=1025 spring.mail.username=simo spring.mail.password=cnsc2016<nowiki>*</nowiki> spring.mail.default-encoding=UTF-8 spring.mail.properties.<nowiki>*</nowiki>= # properties to set on the JavaMail session spring.mail.transport.protocol=smtp spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.socketFactory.port=25 spring.mail.properties.mail.smtp.starttls.enable=false spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory spring.mail.properties.mail.smtp.socketFactory.fallback=true La segunda son las plantillas de los correos prefijados:
############### MENSAJES PERSONALIZADAS ################################### ##TODO Cambiar namespace a properties y unificar con mensajes de notificaciones #REGISTRO NUEVO CORREO spring.properties.encoder=CNSC spring.mail.properties.registro.setfrom=sigeca@cnsc.gov.co spring.mail.properties.registro.setSubject=CNSC, Confirmar registro de usuario spring.mail.properties.registro.setUrl=http://192.168.0.138:8080/index.html?codigoVerificacion=xxxx#confirmacionregistro spring.mail.properties.registro.template=registro.vm #OLVIDO DE CONTRASE<nowiki>\</nowiki>u00d1A spring.mail.properties.olvido.setfrom=sigeca@cnsc.gov.co spring.mail.properties.olvido.setSubject=CNSC2 Cambiar contrase<nowiki>\</nowiki>u00F1a spring.mail.properties.olvido.setUrl=http://192.168.0.139:8080/index.html?codigoVerificacion=xxxx#cambiarcontrasena spring.mail.properties.olvido.template=olvidocontrasena.vm spring.mail.properties.olvido.template.multiples.usuarios=olvidocontrasenamultiplesusuarios.vm #CAMBIAR DE CONTRASE<nowiki>\</nowiki>u00d1A spring.mail.properties.cambio.setfrom=sigeca@cnsc.gov.co spring.mail.properties.cambio.setSubject=CNSC2 Cambiar contrase<nowiki>\</nowiki>u00F1a spring.mail.properties.cambio.setUrl=http://192.168.0.139:8080/index.html?codigoVerificacion=xxxx#cambiarcontrasena spring.mail.properties.cambio.template=cambiarcontrasena.vm #PREINSCRIPCION spring.mail.properties.preinscripcion.setfrom=sigeca@cnsc.gov.co spring.mail.properties.preinscripcion.setSubject=CNSC, Preinscripci<nowiki>\</nowiki>u00F3n a convocatoria. spring.mail.properties.preinscripcion.template=preinscrito.vm #NOTIFICAR spring.mail.properties.notificar.setfrom=sigeca@cnsc.gov.co spring.mail.properties.notificar.setSubject=Notificación CNSC spring.mail.properties.notificar.setUrl=http://192.168.0.138:8080/ spring.mail.properties.notificar.template=notificacion.vm