Database
- For a relational data store, we recommend running MySQL version 5.5 or 5.6 locally with three databases:
- one for KFS OLTP
- one for standalone Rice OLTP
- one with KFS/Rice bundled for unit testing
the following statements will setup a new MySQL database/user (kfs) for development purposes; NOTE: this is for development use only as it grants all privileges; in a production environment it would make more sense to have multiple users, a more privileged one who can run DDL and create the database objects, and a less privileged users to run the application1.
Code Block create user kfs@localhost identified by 'kfs'; create user kfs@'%' identified by 'kfs'; create database kfs default character set 'utf8' default collate 'utf8_bin'; grant all on kfs.* to kfs@localhost with grant option; grant all on kfs.* to kfs@'%' with grant option;
Info 1 - For example, the DDL user would have all privileges except FILE and EXECUTE. The less privileged APP user would have CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, INDEX, INSERT, LOCK TABLES, SELECT, SHOW VIEW, UPDATE, and TRIGGER privileges.
- For the document data store, we recommend running MongoDB locally.
Info |
---|
Mysql requires some settings in the my.cnf file. You need to add the following settings. After adding them, you must restart mysql.
[mysqld] |
For more information on how to setup MongoDB, or load data into the relational data store or document data store, see 7.0 Technical Changes. |
Application
We recommend building and running KFS locally. The KFS war can be build using maven (
mvn -DskipTests=true package
) and deployed to a container such as Tomcat.Info Note, the -DskipTests=true is optional, but if you don't skip the tests, they will take some time to run and aren't strictly necessary for packaging the KFS war.
- We recommend building and running a Standalone Rice instance locally. The Rice war can also be built using maven and deployed to a container such as Tomcat. See the Rice Documentation. Also, see Setup Development Standalone Rice for information on setting up your database and standalone rice on your workstation.
...
- .
To enable optional modules we need to toggle the module.<module name>.enabled property to true, and add the appropriate spring files and message property files.
Access Security
For example, to enable Access Security (Take care to add sec files to the current properties particularly for property.files and rice.struts.message.resources.):
Code Block module.access.security.enabled=true fin.kr.additionalSpringFiles=[CURRENT fin.kr.additionalSpringFiles],\ classpath:org/kuali/kfs/sec/spring-sec-rice-overrides.xml institution.spring.source.files=,\ 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/module/purap/spring-sec-purap-overrides.xml property.files=[CURRENT property.files],classpath:org/kuali/kfs/sec/sec-resources.properties rice.struts.message.resources=[CURRENT property.files],org.kuali.kfs.sec.sec-resources
- Also note, there is a parameter to enable Access Security: KFS-SEC, ENABLE_ACCESS_SECURITY, which is set to "Y" in demo data, but "N" in bootstrap.
- Also, to enable the Access Security menu items under System in the Dashboard, assign the following four KFS-SEC permissions to the KFS-SYS Technical Administrator and KFS-SYS Manager roles. For base demo data, the attached assign-sec-perms.sql script should work.
- Initiate Document AccessSecuritySimpleMaintenanceDocument
- Look Up Records KFS-SEC
- Inquire Into Records KFS-SEC
- Edit Document AccessSecuritySimpleMaintenanceDocument PreRoute
Info |
---|
For more information on how to configure KFS to connect to a Standalone Rice instance, see 7.0 Technical Changes. |
...