Database
- For a relational data store, we recommend running MySQL 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.
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;
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.
For more information on how to setup MongoDB, or load data into the relational data store or document data store, see Technology Changes in Financials 6.0.2.
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.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.
For more information on how to configure KFS to connect to a Standalone Rice instance, see Technology Changes in Financials 6.0.2.