Skip to content

Pentaho Reporting Plugin for Apache Fineract

License

Notifications You must be signed in to change notification settings

FITER1/fineract-pentaho

 
 

Repository files navigation

Pentaho Reporting Plugin for Apache Fineract

see https://github.com/vorburger/fineract-pentaho for source code.

This is a Plugin for Apache Fineract. (This code lives here instead of being part of the core Apache Fineract repository because of software licenses.)

see TODO for possible future follow-up enhancement work.

Build & Use For Linux Users

This project is currently only tested against the very latest and greatest bleeding edge Fineract develop branch. Building and using it against older versions may be possible, but is not tested or documented here.

git clone https://github.com/apache/fineract.git
cd fineract && ./gradlew bootJar && cd ..

git clone https://github.com/vorburger/fineract-pentaho.git
cd fineract-pentaho && ./gradlew -x test distZip && cd ..

mkdir -p ~/.mifosx/pentahoReports/
cp ./fineract-pentaho/pentahoReports/* ~/.mifosx/pentahoReports/

./fineract-pentaho/run

curl --insecure --location --request GET 'https://localhost:8443/fineract-provider/api/v1/runreports/Expected Payments By Date - Formatted?R_endDate=2013-04-30&R_loanOfficerId=-1&R_officeId=1&R_startDate=2013-04-16&output-type=PDF&R_officeId=1' --header 'Fineract-Platform-TenantId: default' --header 'Authorization: Basic bWlmb3M6cGFzc3dvcmQ='

The API call (above) should not fail if you follow the steps as shown, and all conditions met for the version of fineract

Build & Use For Windows Users

This project is currently only tested against the very latest and greatest bleeding edge Fineract develop branch. It works like a charm after (PR #1671). Building and using it against older versions may not work. You might want to cherry pick the changes made in the above PR

git clone https://github.com/apache/fineract.git
cd fineract && ./gradlew bootJar && cd ..

git clone https://github.com/vorburger/fineract-pentaho.git
cd fineract-pentaho && ./gradlew -x test distZip && cd ..

mkdir -p ~/.mifosx/pentahoReports/
cp ./fineract-pentaho/pentahoReports/* ~/.mifosx/pentahoReports/

./fineract-pentaho/run.bat

To test this you can any REST Client tool (like Postman) with the following parameters

Method : GET URL : https://localhost:8443/fineract-provider/api/v1/runreports/Expected Payments By Date - Formatted?R_endDate=2013-04-30&R_loanOfficerId=-1&R_officeId=1&R_startDate=2013-04-16&output-type=PDF&R_officeId=1

HEADERS Fineract-Platform-TenantId: default Content-Type: application/json

Authorization: Basic bWlmb3M6cGFzc3dvcmQ= i.e. (username = mifos & password = password)

If the API call (above) fails with "There is no ReportingProcessService registered in the ReportingProcessServiceProvider for this report type: Pentaho", then this Fineract Pentaho Plugin has not been correctly registered & loaded by Apache Fineract.

What both scripts do

Both scripts (windows and Linux alike) basically just creates the following directory structure:

fineract-provider.jar
lib/fineract-pentaho.jar
lib/pentaho-reporting-*.jar
lib/lib*.jar

and then launches Apache Fineract with the Pentaho Plugin and all its JARs like this:

java -Dloader.path=lib/ -jar fineract-provider.jar

See also PentahoReportsTest and the test script.

License

This code used to be part of the Mifos codebase before it became Apache Fineract. During that move, the Pentaho related code had to be removed, because Pentaho's license prevents code using it from being part of an Apache Software Foundation hosted project.

The correct technical solution to resolve such conundrums is to use a plugin architecture - which is what this is.

Note that the code and report templates in this git repo itself are licensed to you under the Mozilla Public License 2.0 (MPL). This is a separate question than the license that Pentaho itself (i.e. the JAR/s of Pentaho) are made available under.

Contribute

If this Fineract plugin project is useful to you, please contribute back to it (and Fineract) by raising Pull Requests yourself with any enhancements you make, and by helping to maintain this project by helping other users on Issues and reviewing PR from others (you will be promoted to committer on this project when you contribute). We recommend that you Watch and Star this project on GitHub to make it easy to get notified.

About

Pentaho Reporting Plugin for Apache Fineract

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 91.9%
  • Shell 4.4%
  • Batchfile 3.7%