...
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
Code Block |
---|
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/module/bc/spring-bc.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:org/kuali/kfs/sys/datatools/liquimongo/spring-liquimongo.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/bcec/spring-bcec.xml,\ classpath:com/rsmart/kuali/kfs/module/ecar/spring-ecar.xml,\ classpath:com/rsmart/kuali/kfs/module/ar/spring-ar.xml,\ #overrides #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/bc/bc-resources.properties,\ classpath:org/kuali/kfs/module/cab/cab-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.bc.bc-resources,\ org.kuali.kfs.module.cab.cab-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 updateDocumentstoreOnStartup=false updateDocumentstoreFilePath=classpath:/edu/institute/kuali/kfs/core/documentstore/updates.json |
kfs.properties (-Dadditional.kfs.config.locations)
...
Code Block |
---|
# 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:
Code Block |
---|
kfsweb.datasourceanalytics.usernameenabled=[username1]true kfsweb.datasourceanalytics.passwordkey=[password1key] 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] # when using mongo in a cluster, specify all urls comma separated kfs.datasource.mongo.url=[URL1],[URL2] kfs.datasource.mongo.dbname=[DB_NAME] kfs.datasource.mongo.username=[username] kfs.datasource.mongo.password=[password] 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] # 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
Code Block |
---|
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
Code Block |
---|
<?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
Info |
---|
To fill in with info on: https://monsters-tst.kuali.co/fin/health/check?detail=true |
...