/
Production Configuration
Production Configuration
This page lists configuration setup that would be suitable for Production
Properties
Loading
Property files are loaded in the following order by org.kuali.kfs.sys.context.PropertyLoadingFactoryBean
- classpath:kfs-default-config.properties
- classpath:kfs-rice-default-config.properties
- classpath:kfs-security-default-config.properties
classpath:institutional-config.properties
- files specified via -Dadditional.kfs.config.locations
- files specified via -Dadditional.kfs.test.config.locations
Configuration
institutional-config.properties
This configuration point is used for common configuration across all institutionally hosted environments. This file would reside in src/main/resources of your maven overlay
spring.source.files=classpath:org/kuali/rice/core/CommonSpringBeans.xml,\ classpath:kfs-cache-config.xml,\ classpath:spring-kfs-imported-rice-beans.xml,\ classpath:spring-additional-rice-beans.xml,\ classpath:org/kuali/kfs/sys/spring-sys.xml,\ classpath:org/kuali/kfs/coa/spring-coa.xml,\ classpath:org/kuali/kfs/fp/spring-fp.xml,\ classpath:org/kuali/kfs/gl/spring-gl.xml,\ classpath:org/kuali/kfs/pdp/spring-pdp.xml,\ classpath:org/kuali/kfs/vnd/spring-vnd.xml,\ classpath:spring-kfs-batch.xml,\ classpath:org/kuali/kfs/integration/spring-integration.xml,\ classpath:org/kuali/kfs/module/ec/spring-ec.xml,\ classpath:org/kuali/kfs/module/ld/spring-ld.xml,\ classpath:org/kuali/kfs/module/cg/spring-cg.xml,\ classpath:org/kuali/kfs/module/ar/spring-ar.xml,\ classpath:org/kuali/kfs/module/purap/spring-purap.xml,\ classpath:org/kuali/kfs/module/cam/spring-cam.xml,\ classpath:org/kuali/kfs/module/cab/spring-cab.xml,\ classpath:org/kuali/kfs/sec/spring-sec.xml,\ classpath:org/kuali/kfs/sec/spring-sec-gl-overrides.xml,\ classpath:org/kuali/kfs/module/ld/spring-sec-ld-overrides.xml,\ classpath:org/kuali/kfs/sys/spring-dev-env-beans.xml,\ classpath:com/rsmart/kuali/kfs/sec/spring-sec.xml,\ classpath:com/rsmart/kuali/kfs/module/purap/spring-purap.xml,\ classpath:com/rsmart/kuali/kfs/fp/spring-fp.xml,\ classpath:com/rsmart/kuali/kfs/sys/spring-sys.xml,\ classpath:com/rsmart/kuali/kfs/cr/spring-cr.xml,\ classpath:com/rsmart/kuali/kfs/gl/spring-gl.xml,\ classpath:com/rsmart/kuali/kfs/coa/spring-coa.xml,\ classpath:com/rsmart/kuali/kfs/module/ld/spring-ld.xml,\ classpath:com/rsmart/kuali/kfs/pdp/spring-pdp.xml,\ classpath:com/rsmart/kuali/kfs/module/cg/spring-cg.xml,\ classpath:com/rsmart/kuali/kfs/module/cam/spring-cam.xml,\ classpath:com/rsmart/kuali/kfs/module/ec/spring-ec.xml,\ classpath:com/rsmart/kuali/kfs/module/ar/spring-ar.xml,\ #overrides for Access Security classpath:edu/institute/kuali/kfs/sec/spring-sec.xml,\ classpath:edu/institute/kuali/kfs/sec/spring-sec-gl-overrides.xml,\ classpath:kfs-RiceJTASpringBeans.xml,\ classpath:kfs-RiceDataSourceSpringBeans.xml spring.test.files=classpath:org/kuali/kfs/sys/spring-sys-unit-test.xml,\ classpath:org/kuali/kfs/sys/spring-sys-test.xml,\ classpath:org/kuali/kfs/gl/spring-gl-test.xml # contains overrides for implementation of encryptionService rice.core.additionalSpringFiles=classpath:com/rsmart/kuali/spring-kfs-rice-core-overrides.xml # contains overrides for implementation of encryptionService rice.kr.additionalSpringFiles=classpath:spring-rice-krad-overrides.xml,\ classpath:org/kuali/kfs/sec/spring-sec-rice-overrides.xml,\ classpath:com/rsmart/kuali/spring-kfs-rice-krad-overrides.xml module.access.security.enabled=true property.files=classpath:org/kuali/rice/krad/ApplicationResources.properties,\ classpath:org/kuali/rice/krad/KRAD-ApplicationResources.properties,\ classpath:org/kuali/rice/kew/ApplicationResources.properties,\ classpath:org/kuali/rice/ksb/ApplicationResources.properties,\ classpath:org/kuali/rice/kim/ApplicationResources.properties,\ classpath:org/kuali/rice/krms/ApplicationResources.properties,\ classpath:org/kuali/rice/core/web/cache/CacheApplicationResources.properties,\ classpath:org/kuali/kfs/coa/coa-resources.properties,\ classpath:org/kuali/kfs/fp/fp-resources.properties,\ classpath:org/kuali/kfs/gl/gl-resources.properties,\ classpath:org/kuali/kfs/pdp/pdp-resources.properties,\ classpath:org/kuali/kfs/sys/sys-resources.properties,\ classpath:org/kuali/kfs/vnd/vnd-resources.properties,\ classpath:org/kuali/kfs/module/ar/ar-resources.properties,\ classpath:org/kuali/kfs/module/cam/cam-resources.properties,\ classpath:org/kuali/kfs/module/cg/cg-resources.properties,\ classpath:org/kuali/kfs/module/ec/ec-resources.properties,\ classpath:org/kuali/kfs/module/ld/ld-resources.properties,\ classpath:org/kuali/kfs/module/external/kc/kc-resources.properties,\ classpath:org/kuali/kfs/module/purap/purap-resources.properties,\ classpath:rsmartApplicationResources.properties,\ classpath:org/kuali/kfs/sec/sec-resources.properties rice.struts.message.resources=org.kuali.rice.krad.ApplicationResources,\ org.kuali.rice.krad.KRAD-ApplicationResources,\ org.kuali.rice.kew.ApplicationResources,\ org.kuali.rice.ksb.ApplicationResources,\ org.kuali.rice.kim.ApplicationResources,\ org.kuali.rice.krms.ApplicationResources,\ org.kuali.rice.core.web.cache.CacheApplicationResources,\ org.kuali.kfs.coa.coa-resources,\ org.kuali.kfs.fp.fp-resources,\ org.kuali.kfs.gl.gl-resources,\ org.kuali.kfs.pdp.pdp-resources,\ org.kuali.kfs.sys.sys-resources,\ org.kuali.kfs.vnd.vnd-resources,\ org.kuali.kfs.module.ar.ar-resources,\ org.kuali.kfs.module.cam.cam-resources,\ org.kuali.kfs.module.cg.cg-resources,\ org.kuali.kfs.module.ec.ec-resources,\ org.kuali.kfs.module.external.kc.kc-resources,\ org.kuali.kfs.module.ld.ld-resources,\ org.kuali.kfs.module.purap.purap-resources,\ org.kuali.kfs.sec.sec-resources,\ rsmartApplicationResources app.code=fin environment= app.context.name=fin rice.ksb.registry.serviceUrl=${rice.url}/remoting/soap/ksb/v2_0/serviceRegistry rice.ksb.web.forceEnable=true # Do not run batch on weekends batch.schedule.cron.expression=00 00 23 ? * SUN-THU # except for a job that we need to run on Friday as well batch.schedule.sixDay.cron.expression=00 00 23 ? * SUN-FRI useQuartzDatabase=false context.names.rice=rice login.filter.className=co.kuali.core.auth.web.CoreAuthenticationFilter login.filter.param.authConfigurationClass=org.kuali.kfs.sys.web.filter.CoreAuthenticationFilterConfiguration updateDatabaseOnStartup=true
kfs.properties (-Dadditional.kfs.config.locations)
This configuration point is used for individual machines
# overrides for instance specific configuration (urls mostly) environment=prd base.url=https://institute.kuali.co application.url=https://institute.kuali.co/fin appserver.url=https://institute.kuali.co rice.server.url=https://institute.kuali.co/rice rice.url=https://institute.kuali.co/rice rice.ksb.registry.serviceUrl=http://${rice.url}/remoting/soap/ksb/v2_0/serviceRegistry base.directory=/data/fin/kfs logs.directory=${base.directory}/logs/${app.code} work.directory=${base.directory}/work/${app.code} keystore.file=/app/fin/kfs/app/tomcat/conf/rice.keystore security.property.file=file:/app/fin/kfs/app/tomcat/conf/security.properties log4j.settings.file=/app/fin/kfs/app/tomcat/conf/log4j.properties core.authentication.filter.authBaseUrl=https://institute.kuali.co # example of disabling db update on startup for a single environment updateDatabaseOnStartup=false b2b.environment=Production b2b.purchase.order.url=https://solutions.sciquest.com/apps/Router/POXMLImport b2b.punch.back.url=${application.url}/b2b.do?methodToCall=returnFromShopping b2b.punch.out.url=https://solutions.sciquest.com/apps/Router/ExternalAuth/cXML/institute mailing.list.batch=kfs.batch.institute@kuali.co
Here is a sample configuration for custom analytics provider:
web.analytics.enabled=true web.analytics.key=[key] # the entire script must be on a single line -- make sure to adjust JS appropriately web.analytics.tag=<script type='text/javascript'> !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics};};for(var t=0;t<analytics.methods.length;t++){var e = analytics.methods[t];analytics[e] = analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";analytics.load('${web.analytics.key}');analytics.page();}}();</script>
security.properties
kfs.datasource.username=[username1] kfs.datasource.password=[password1] kfs.datasource.url=[URL1] kfs.datasource.pool.maxActive=200 kfs.datasource.pool.maxSize=200 #used by liquirelational kfs.datasource.ddl.username=[username2] kfs.datasource.ddl.password=[password2] kfs.datasource.ddl.url=[URL2] rice.datasource.url=[URL3] rice.datasource.username=[username3] rice.datasource.password=[password3] rice.datasource.pool.maxActive=200 rice.datasource.pool.maxSize=200 #used by liquirelational rice.datasource.ddl.url=[URL4] rice.datasource.ddl.username=[username4] rice.datasource.ddl.password=[password4] keystore.alias=rice keystore.password=[something really secure here!] encryption.key=[something else really secure here!] # configure only if the environment will be connected to Sciquest b2b.user.agent=Institute b2b.purchase.order.identity=[identity1] b2b.purchase.order.password=[password1] b2b.shopping.identity=[identity2] b2b.shopping.password=[password2] # override this property if using Sciquest csrf.exempt.paths=b2b.do
Struts Configuration
On startup, KFS looks for a file in WEB-INF/ called institutional-struts-config.xml. This file would reside in src/main/webapp/WEB-INF of your maven overlay
<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- - The Kuali Financial System, a comprehensive financial management system for higher education. - - Copyright 2005-2017 Kuali, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. --> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <data-sources /> <form-beans> <!-- Rice Bean Definitions : This is a bean declared in Rice, but is needed throughout this config --> <form-bean name="KualiForm" type="org.kuali.kfs.kns.web.struts.form.KualiForm" /> <!-- CR Form --> <form-bean name="CheckReconciliationReportForm" type="com.rsmart.kuali.kfs.cr.document.web.struts.CheckReconciliationReportForm" /> <!-- Balance Inquiry Form --> <form-bean name="BalanceInquiryForm" type="com.rsmart.kuali.kfs.gl.web.struts.BalanceInquiryForm" /> <!-- PURAP Forms --> <form-bean name="PurchaseOrderForm" type="com.rsmart.kuali.kfs.module.purap.web.struts.PurchaseOrderForm" /> <form-bean name="RequisitionForm" type="org.kuali.kfs.module.purap.document.web.struts.RequisitionForm" /> <!-- eThority Form --> <form-bean name="EThorityForm" type="com.rsmart.kuali.kfs.sys.web.struts.EThorityForm" /> <form-bean name="PcardDistributionForm" type="com.rsmart.kuali.kfs.fp.document.web.struts.PcardDistributionForm" /> <form-bean name="B2BForm" type="org.kuali.kfs.module.purap.web.struts.B2BForm" /> </form-beans> <action-mappings> <action path="/cr*" name="{1}Form" input="/jsp/modules/cr/{1}.jsp" type="com.rsmart.kuali.kfs.cr.document.web.struts.{1}Action" scope="request" parameter="methodToCall" validate="true" attribute="KualiForm"> <set-property property="cancellable" value="true" /> <forward name="basic" path="/jsp/module/cr/{1}.jsp" /> </action> <action path="/eThority" name="EThorityForm" scope="request" attribute="KualiForm" parameter="methodToCall" type="com.rsmart.kuali.kfs.sys.web.struts.EThorityAction"> <forward name="basic" path="/jsp/sys/EThority.jsp" /> </action> <action path="/financialPcardDistribution" name="PcardDistributionForm" input="/jsp/fp/PcardDistribution.jsp" type="com.rsmart.kuali.kfs.fp.document.web.struts.PcardDistributionAction" scope="request" parameter="methodToCall" validate="true" attribute="KualiForm"> <set-property property="cancellable" value="true" /> <forward name="basic" path="/jsp/fp/PcardDistribution.jsp" /> </action> <action path="/glModifiedInquiry" name="BalanceInquiryForm" scope="request" attribute="KualiForm" parameter="methodToCall" type="com.rsmart.kuali.kfs.gl.web.struts.BalanceInquiryAction"> <set-property property="cancellable" value="true" /> <forward name="basic" path="/jsp/gl/ModifiedInquiry.jsp" /> <forward name="accountBalance" path="/jsp/gl/AccountBalanceModifiedInquiry.jsp" /> </action> <action path="/purapPurchaseOrder" name="PurchaseOrderForm" input="/jsp/module/purap/PurchaseOrder.jsp" type="org.kuali.kfs.module.purap.document.web.struts.PurchaseOrderAction" scope="request" parameter="methodToCall" validate="true" attribute="KualiForm"> <set-property property="cancellable" value="true" /> <forward name="basic" path="/jsp/module/purap/PurchaseOrder.jsp" /> <forward name="printPurchaseOrderPDF" path="/jsp/module/purap/PrintForward.jsp" redirect="false" /> <forward name="retransmitPurchaseOrderPDF" path="/jsp/module/purap/RetransmitForward.jsp" redirect="false" /> <forward name="printReceivingTicketPDF" path="/jsp/module/purap/ReceivingTicketForward.jsp" redirect="false" /> <forward name="printPOQuoteListPDF" path="/jsp/module/purap/PrintPOQuoteListForward.jsp" redirect="false" /> </action> <action path="/purapRequisition" name="RequisitionForm" input="/jsp/module/purap/Requisition.jsp" type="com.rsmart.kuali.kfs.module.purap.document.web.struts.RequisitionAction" scope="request" parameter="methodToCall" validate="true" attribute="KualiForm"> <set-property property="cancellable" value="true" /> <forward name="basic" path="/jsp/module/purap/Requisition.jsp" /> <forward name="printPurchaseOrderPDF" path="/jsp/module/purap/PrintForward.jsp" redirect="false" /> <forward name="retransmitPurchaseOrderPDF" path="/jsp/module/purap/RetransmitForward.jsp" redirect="false" /> <forward name="printReceivingTicketPDF" path="/jsp/module/purap/ReceivingTicketForward.jsp" redirect="false" /> <forward name="printPOQuoteListPDF" path="/jsp/module/purap/PrintPOQuoteListForward.jsp" redirect="false" /> </action> <action path="/b2b" name="B2BForm" scope="request" attribute="KualiForm" parameter="methodToCall" type="com.rsmart.kuali.kfs.module.purap.web.struts.B2BAction"> <forward name="basic" path="/jsp/module/purap/ShopCatalogs.jsp" /> <forward name="removeframe" path="/jsp/module/purap/ShopRemoveFrame.jsp" /> <forward name="failure" path="/requisition/requisitionFailure.jsp" /> <forward name="invalid" path="/requisition/shopFail.jsp" /> </action> </action-mappings> </struts-config>
Monitoring
To fill in with info on: https://monsters-tst.kuali.co/fin/health/check?detail=true
, multiple selections available,
Related content
Configuration Properties
Configuration Properties
More like this
5.0.2 Configuration Property Changes
5.0.2 Configuration Property Changes
More like this
Setup
More like this
Build
More like this
Modules
Modules
More like this
Standalone Rice
Standalone Rice
More like this