Delete unwanted files

This commit is contained in:
Adi Narayana Raju
2016-02-01 12:00:59 +05:30
parent 881cc41480
commit a3b7a5c772
10 changed files with 0 additions and 2478 deletions
-4
View File
@@ -1,4 +0,0 @@
[submodule "apps/community-app"]
path = apps/community-app
url = https://github.com/openMF/community-app.git
branch = develop
BIN
View File
Binary file not shown.
-20
View File
@@ -1,20 +0,0 @@
# This (sudo: false) is needed to "run on container-based infrastructure" on which cache: is available
# http://docs.travis-ci.com/user/workers/container-based-infrastructure/
sudo: false
language: java
jdk:
- openjdk7
script: ./travis_build.sh
notifications:
email: true
# This is so that the Gradle output is readable on the Travis web console
# @see http://stackoverflow.com/questions/17942819/how-can-i-get-clean-gradle-output-on-travis-ci
# @see http://gradle.1045684.n5.nabble.com/Plain-console-output-td5710237.html
env:
- TERM=dumb
# http://docs.travis-ci.com/user/caching/#Arbitrary-directories
cache:
apt: true
directories:
- $HOME/.gradle
- $HOME/.m2
-2043
View File
File diff suppressed because it is too large Load Diff
-6
View File
@@ -1,6 +0,0 @@
Contributors
=====
List of code contributors on the mifosplatform codebase (mifosx) can be viewed @ https://github.com/openMF/mifosx/contributors
List of code contributors on applications built on mifosplatform such as the reference app (IndividualLendingJavascript) can be viewed @ https://github.com/openMF/mifosx-community-apps/contributors
-26
View File
@@ -1,26 +0,0 @@
# Getting started with Mifos X
Instructions for getting started are located at https://mifosforge.jira.com/wiki/display/MIFOSX/Getting+started+-+Contributing+to+MifosX
# Pull Request Checklist
Before sending out a pull request, please ensure that the following pre-requisites are taken care of
1. API documentation has been updated to reflect any changes made to the API (new API's, adding new Fields or Options to existing API etc)
1. Any relevant database changes are encapsulated in an SQL file with the next avilable version number at https://github.com/openMF/mifosx/tree/develop/mifosng-provider/src/main/resources/sql/migrations/core_db. These patches are automatically applied by Flyway on server startup.
For any modifications to the schema which affects data on existing installations (Ex: moving columns to new table etc), ensure that the upgrade scripts are also accompanied by data migration scripts in the same patch file
1. An integration test is added/updated to test the new feature developed/bug-fix being made
1. The pull request has a Jira issue associated with it. Details for creating issues on Jira are located at https://mifosforge.jira.com/wiki/display/MIFOSX/Getting+started+-+Contributing+to+MifosX#Gettingstarted-ContributingtoMifosX-CreateIssues
1. The Relevant Jira number (Ex: MIFOSX-1454) is present as a part of the commit message. Refer http://comments.gmane.org/gmane.comp.finance.mifos.devel/14664 for details
1. Newly added code has been formatted and cleaned up as per our preferences at https://github.com/openMF/mifosx/wiki/Eclipse#apply-project-preferences-to-eclipse
1. Comments are added where relevant to ease peer review
1. Your work is present in a single commit rather than several broken up commits. This helps us maintain a cleaner commit history. https://github.com/openMF/mifosx/wiki/Github-&-Git#contributing-back-changes-to-original-repositoryauthors has instructions for squashing multiple commits or resetting head and recommiting your work as a single commit
1. Your work is rebased on top of the latest code from develop branch to make life easier for our Committers
1. "gradlew licenseFormatMain licenseFormatTest licenseFormatIntegrationTest" has been run to apply the Mozilla License on all newly added files (your pull requests are verified to ensure compliance with this since https://github.com/openMF/mifosx/pull/1053)
-301
View File
@@ -1,301 +0,0 @@
# Installation Mifos Platform
This file describes how to install mifos platform for use in a production or test environment.
## Release Artifact Structure
The release artifact (.zip file) has the following structure:
```
+ mifosplatform-X.Y.Z.RELEASE ... parent folder which will have the release number on it
|
+ api-docs ... folder contains html based documentation on the platform API for this release
+ database ... folder contains database setup and upgrade scripts along with sample data required for installation
+ pentahoReports ... folder contains any out-of-the-box reports provided through pentaho
+ apps ... folder contains apps like community app that speak to the platform
+ runmifosx.bat ... launch script for Windows
+ runmifosx.sh ... launch script for Mac OS X and Linux
|
-- CHANGELOG.MD ... file documents changelog of project up to this release
-- CONTRIBUTORS.MD ... file provides details on contributors to project
-- INSTALL.MD ... file provides details on installation instructions
-- LICENSE.MD ... file provides details on the open source license used by the project
-- mifosng-provider.war ... the platform WAR file to be dropped into Tomcat 7
-- README.MD ... initial readme file for the project
-- VERSIONING.MD ... file provides details on approach to release versioning
```
## How to Install
The three ways to get up and running with mifos platform is:
1. Use Amazon AWS and mifosplatform public AMI to spin up a new instance in the cloud
2. Manually install the prerequisite software on your own machine, follow setup instructions and use release artifacts to get platform running yourself.
## 1. Launch script automatic out-of-the box setup
Important : Automatic setup is currently broken, please follow the instructions for **Manual Installation** instead. For details of the issue, refer comments at https://mifosforge.jira.com/browse/MIFOSX-1756
The Mifos release artifact contains two launch scripts with names starting with "**runmifosx**". One of them (the one with the *.bat* file extension) is used to launch the platform on a Windows machine while the other (which has the *.sh* file extension) is used to launch the platform on Mac OS X and Linux. Just double-click on the respective script (depending on your OS) and voila! you have your own Mifos X platform running locally on your computer.
**Note**: *In case your script does not launch by double clicking on Linux or Mac OS X, here's what you can do. Head over to bash and type the following:*
```
$ cd /path/where/runmifosx.sh/is/located
$ chmod 0755 ./runmifosx.sh
$ ./runmifosx.sh
```
## 2. Amazon Public AMI
Use AWS Wizard to launch instance by using the latest ami-id(image) from this link:-
https://en.wikipedia.org/wiki/Mifos_X >> Amazon EC2 AMI Locator
*Note:* Read through the following as you step through the AWS Wizard
- You are automatically brought to Step 2 on the wizard, by default a 'micro' instance is selected, you may need to select a 'General Purpose' m1.small as the t1.micro's memory is right on the edge of whats needed to support MySQL, Tomcat 7 + Mifos Platform
- Use default settings for steps 3 to 5 until you reach step 6 configure security group.
- If your first time using AWS you should use the create new security group option and add the following 'rules' to the security group:
- SSH (PORT 22), MYSQL (3306), HTTPS (443), Custom TCP Rule (8443) all with a 'Source' value of 'Anywhere'
- Click 'Review and Launch'
- You will be asked to use a 'keypair' which you will need to SSH onto the new instance, if this is your first time create a new keypair, be srue to download it and store in place as you will need it later, otherwise use an existing keypair.
- When the instance starts, the following should be available at:
- Platform application should be available @ https://[public DNS]:8443/mifosng-provider/api/v1/offices?tenantIdentifier=default&pretty=true
- Community app should be available @ https://[public DNS]:8443/community-app
- API docs should be available @ https://[public DNS]:8443/api-docs/apiLive.htm
A step by step process for the same is also available at this link: https://mifosforge.jira.com/wiki/display/docs/Mifos+X+Amazon+EC2+Install+Guide
## 3. Manual Installation
### 3.1 Prerequisite Software
Before running mifos platform you must have the following software installed:
- Oracle Java - JDK 7 (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
- Oracle MySQL - (http://dev.mysql.com/downloads/)
- Apache Tomcat 7 - (http://tomcat.apache.org/download-70.cgi)
### 3.2 MySQL Setup
Assumption: MySQL server is now installed.
You should know your password for MySQL root user. If you wish you can change it by doing:
```
mysqladmin -u root -p 'oldpassword' password newpassword
```
The mifosplatform settings default to a mysql root user with username: root, password: mysql
If you have never installed mifosplatform before follow section 2.2.1 for first time setup of database, otherwise read section 2.2.2 on database upgrades.
#### 3.2.1 First Time Database setup
Mifos platform has support for hosting multiple tenants so we use two database schemas:
- *mifosplatform-tenants*: which is responsible for persisting the tenant information which is used when deciding what schema each incoming request in the platform should route to. It acts as a registry which contains the details of all the tenant databases, and their connection information, which is used by MifosX to connect to the appropriate tenant.
- *mifostenant-default*: All tenant specific schemas follow the pattern mifostenant-xxxx, out of the box the default schema is used.
Step one: create mifosplatform-tenants database
```
mysql -uroot -pmysql
create database `mifosplatform-tenants`;
exit
```
Step two: create mifostenant-default database
```
mysql -uroot -pmysql
create database `mifostenant-default`;
exit
```
The tables and lookup data for both databases are created on application startup.
Step three (optional): to be followed only if your mysql credentials are other than root/mysql
Manually restore the contents of *mifosplatform-tenants* database
```
mysql -uroot -pmysql mifosplatform-tenants < database/mifospltaform-tenants-first-time-install.sql
```
Next, update the default credentials for connecting to *mifoplatform-default* database stored in the *tenants* table of *mifosplatform-tenants* with your credentials
```
UPDATE tenants SET schema_username = "your_username", schema_password = "your_password" WHERE identifier = "default";
```
Step four (optional): to be followed only if your mysql server hostname is other than 'localhost'
Update the default server for connecting to *mifoplatform-default* database stored in the *tenants* table of *mifosplatform-tenants* with your mysql server hostname
```
UPDATE tenants SET schema_server = "[server hostname/ip]" WHERE identifier = "default";
```
#### 3.2.2 Upgrade existing database(s)
The list database *mifosplatform-tenants* is upgraded when the application starts. Any *tenant* databases will also be upgraded automatically when the application starts if the *auto_update* field of the *tenants* database table is enabled(=1). This is the default setting.
Upgrading your database in this way is the recommended way as it will upgrade any *tenants* setup in the *mifosplatform-tenants* database but can be disabled by setting the *auto_update* field of the tenant to zero.
##### 3.2.2.1 Special Instructions for those upgrading from version 1.24.* or lower
Starting from version 1.25.* , updates to *mifosplatform-tenants* database are managed by Flyway (http://flywaydb.org/). To ensure that flyway works correctly, verify that table *schema_version* is present along with two entries in *mifosplatform-tenants* database.
You can do so as follows
````
mysql -uroot -pmysql
use `mifosplatform-tenants`;
select * from schema_version;
```
If the table does not exist, create the same using the script at https://gist.github.com/vishwasbabu/dc105b6a9450cff8ff1f
Next, check if the patch for "externalizing mysql connection properties" has been run (i.e if you are updating from 1.21 or a higher version of Mifos X)
````
mysql -uroot -pmysql
use `mifosplatform-tenants`;
select pool_initial_size from tenants;
```
If the above query does **not** throw an error (Unknown column 'pool_initial_size'), *schema_version* needs to be updated with the details of this patch by executing the scripts below
```
mysql -uroot -pmysql
use `mifosplatform-tenants`;
INSERT INTO `schema_version` (`version_rank`, `installed_rank`, `version`, `description`, `type`, `script`, `checksum`, `installed_by`, `installed_on`, `execution_time`, `success`) VALUES
(2, 2, '2', 'externalize-connection-properties', 'SQL', 'V2__externalize-connection-properties.sql', 210473669, 'root', '2014-10-12 22:13:51', 661, 1);
```
#### 3.2.3 Load *mifostenant-default* schema with sample data (optional)
Every release ships with sample data (offices, users, customers, loan products, savings products and a chart of accounts). The same can be restored by running the following command
```
mysql -uroot -pmysql mifostenant-default < database/migrations/sample_data/load_sample_data.sql
```
### 3.3 Tomcat 7 Setup
Assumption: You have downloaded and installed Tomcat 7 correctly for your operation system: see http://tomcat.apache.org/tomcat-7.0-doc/setup.html
#### 3.3.1 Environment Variables Check
Check that the following environment variables exist:
- JAVA_HOME ... should point to directory where a 1.7 JDK or JRE is on machine
- CATALINA_HOME ... should point to a directory where a Tomcat 7 instance is installed
Check that the following is on your path:
- %JAVA_HOME%\bin;
#### 3.3.2 Logging
- In the [TOMCAT_HOME]/logs create a file called ```mifos-platform.log```
#### 3.3.3 Libraries
Ensure the following libraries are in the [TOMCAT_HOME]/lib folder
- tomcat-jdbc.jar (You can download the same from http://central.maven.org/maven2/org/apache/tomcat/tomcat-jdbc/7.0.57/tomcat-jdbc-7.0.57.jar)
- mysql-connector-java-5.1.22 (You will need to download the latest MySQL Connector/J Jar file from http://dev.mysql.com/downloads/connector/j/)
#### 3.3.4 Configure for SSL
Generate a new keystore using java keytool (if you havent already done this):
- Follow docs to create keystore.(http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Configuration)
- Update server.xml as in docs. (Ther server.xml configuration given in the configure tomcat 7 below is what is need.)
```sudo keytool -genkey -alias mifostom -keyalg RSA -keystore /home/ubuntu/.keystore```
#### 3.3.5 Update tomcat configuration files for SSL, compression and JNDI connection to MySql
```
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"
/>
<Resource type="javax.sql.DataSource"
name="jdbc/mifosplatform-tenants"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mifosplatform-tenants"
username="root"
password="[root mysql password]"
initialSize="3"
maxActive="10"
maxIdle="6"
minIdle="3"
validationQuery="SELECT 1"
testOnBorrow="true"
testOnReturn="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="60000"
logAbandoned="true"
suspectTimeout="60"
/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="8443" maxThreads="200" scheme="https"
secure="true" SSLEnabled="true"
keystoreFile="/home/ubuntu/.keystore"
keystorePass="testmifos"
clientAuth="false" sslProtocol="TLS"
URIEncoding="UTF-8"
compression="force"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".log"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
</Engine>
</Service>
</Server>
```
#### 3.3.6 Drop application into tomcat webapps folder
Drop the following from the release artifact into the [TOMCAT_HOME]/webapps folder:
- mifosng-provider.war
Drop the following from the release artifact into [TOMCAT_HOME]/webapps/ROOT folder:
- The entire ```apps/community-app``` folder.
- The entire api-docs folder
#### 3.3.7 Startup tomcat
Startup tomcat:
- Platform application should be available @ https://[server ip address]:8443/mifosng-provider/api/v1/offices?tenantIdentifier=default&pretty=true
- Community application should be available @ https://[server ip address]:8443/community-app?baseApiUrl=https://[server ip address]:8443/mifosng-provider/api/v1/
- API docs should be available @ https://[server ip address]:8443/api-docs/apiLive.htm
*where [server ip address] is the hostname or IP address of your computer. For instance, if you've installed Mifos on your local machine then [server ip address] is localhost*
## How to integrate the web front-end UI with the back-end
To be able to use the front-end UI along with the back-end, you simply need to copy the webapp's source code files to the ```apps``` folder. For instance, you could copy the source code files of the community app to ```apps/community-app```. This would enable you to access the commuity app from the following URL:
*https://[server ip address]:8443/mifosng-provider/apps/community-app?baseApiUrl=https://[server ip address]:8443*
-46
View File
@@ -1,46 +0,0 @@
Versioning
=====
For releases, we follow a simplified date versioning scheme which ties in nicely with our time based release cycle (with stables releases being promoted on a three month cycle)
Prior to 15.03.RELEASE, we followed a semantic versioning approach. (http://semver.org/)
Date Versioning
===================
Our date versioning scheme is built around the YY.MM.{PATCH}.{release_type} concept (for example 15.06.RELEASE or 15.06.1.BUILD-SNAPSHOT) where
YY represents the year of the release
MM represents the month of the major release
PATCH (optional) gets incremented whenever a new release is made from an existing major release
release_type differentiates different builds off the same branch. It also differentiates between development, test and production builds.
Version structure
{number}.{release_type}
where {number} is further broken down as YY.MM.{PATCH}.
Examples:
15.03.BUILD-SNAPSHOT
15.03.M1
15.03.RC1
15.03.RELEASE
15.03.1.RC1
15.03.1.RELEASE
Number semantics
In general:
a major version (Ex:15.03) does not have a patch number and suggests many significant new features, an associated marketing campaign, and possible breaking of backward compatibility. You can expect major releases every 3 months
a minor version (Ex:15.03.1) may also contain serious new features, but typically contains many bug fixes and improvements and does not break compatibility. You can expect minor releases between the quarterly major release cycle.
What You Should Install Where
As a rule of thumb …
Snapshot or Milestone versions should only be installed on dev boxes and integration environments. They shouldn’t be deployed to any of the dedicated test environments.
Release candidates should be installed in the dedicated test environments. In an emergency, a release candidate can be installed into the production environment.
Production releases can be installed anywhere - and they are the only kind of build that should be installed into the production environment.
-31
View File
@@ -1,31 +0,0 @@
Mifos Platform Apps
======
Community created apps built on top of mifosplatform are stored in source control repository @ https://github.com/openMF/
To get the Git sub modules from here, use "--recursive" in your original git clone, or, if already cloned, do:
git submodule update --init --recursive; git submodule status
Later to update both this main repo but also get the latest from the submodule(s), do:
git pull; git submodule update --remote
Here is how a new Git submodule can (was originally) added here:
git submodule add -b develop https://github.com/openMF/community-app.git
git submodule init
The Community App (AngularJS-based)
===============
https://github.com/openMF/community-app
The Default app shipped which is a core part of every community release.
The original Reference App (Now Deprecated)
===============
https://github.com/openMF/mifosx-community-apps/tree/master/IndividualLendingGeneralJavaScript
The reference app was used to showcase platform API capabilities and is also used in production by MFIs.