You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by "Kenzy-Ragab (via GitHub)" <gi...@apache.org> on 2026/02/15 12:22:49 UTC

[PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Kenzy-Ragab opened a new pull request, #5501:
URL: https://github.com/apache/fineract/pull/5501

   ## Description
   This PR implements the full decommissioning of the **Pentaho Reporting Engine** from the Fineract infrastructure. The objective is to eliminate legacy dependencies and streamline the reporting services by removing all Pentaho-related Java logic, SQL configurations, and build dependencies.
   
   ---
   
   ## Key Changes
   
   ### Core Logic & Metadata Cleanup
   
   #### **A. Java Source Code Cleanup**
   The removal was executed across three critical files within the infrastructure and dataqueries modules to eliminate Pentaho-specific logic:
   
   * **`ExecuteEmailTaskLet.java` (Campaign Infrastructure):** * Removed the `generateAttachment` method.
       * Updated file variable assignments to `null` (3 instances) where the method was previously invoked.
       * Removed the `private final ReadReportingService` dependency. 
       * Cleaned up unused imports: `ReadReportingService`, `ByteArrayOutputStream`, and `PlatformDataIntegrityException`.
   * **`ReadReportingServiceImpl.java` (DataQueries Implementation):** * Deleted the `generatePentahoReportAsOutputStream` method.
       * Removed unused imports: `ByteArrayOutputStream`, `Locale`, and `AppUser`.
   * **`ReadReportingService.java` (DataQueries Interface):** * Deleted the method signature for `generatePentahoReportAsOutputStream`.
       * Removed unused imports: `ByteArrayOutputStream`, `Locale`, and `AppUser`.
   
   #### **B. Sample Data & SQL Scripts**
   * **Sample Data Cleanup:** Eliminated all Pentaho-related entries, metadata, and report definitions from the core sample data files: `barebones_db.sql` and `load_sample_data.sql`.
   * **Detailed Removal:** Within these files, specifically removed:
       * All Pentaho report definitions.
       * Associated report parameters.
       * User permissions (Permissions/Roles) linked to accessing these legacy reports.
   * **Changelog:** Updated Liquibase changelogs to remove or nullify any references to Pentaho reports in the database schema.
   * **Note:** The core accounting reports (e.g., Trial Balance Table) were **strictly preserved** as they are classified as "Table" type reports, not Pentaho-dependent.
   
   #### **C. Documentation**
   * **`plugins.adoc`:** Removed the external link and the related Note regarding Pentaho module licensing.
   * **System Accuracy:** Cleaned up the documentation to ensure no legacy references to the removed reporting engine remain.
   
   #### **D. Database Migration (Liquibase)**
   * **Incremental Changelog:** Created a new file `0210_remove_pentaho_legacy_data.xml` inside `db/changelog/tenant/parts/` to handle the cleanup of Pentaho-related metadata.
   * **Case-Insensitive Deletion:** Implemented `LOWER()` function in SQL predicates to ensure compatibility across different database engines (MariaDB & PostgreSQL) and to safely target all Pentaho records regardless of character casing.
   * **Data Integrity:** Orchestrated the deletion order to remove child records (report parameters) before parent records (reports) to avoid **foreign key constraint violations**.
   * **Master Changelog Registration:** Registered the new migration file in `changelog-tenant.xml` using `relativeToChangelogFile="true"` to maintain the project's standard migration sequence.
   
   ---
   
   ## Cleanup Summary
   * **Affected Languages:** Java, SQL.
   * **Logic Update:** Replaced dynamic Pentaho attachment generation with null-safe assignments in the email campaign workflow.
   
   ## Notes for Reviewers
   * **Build & Dependency Verification:** Performed a thorough search (using `grep`) across root and module-specific `build.gradle` files (including `fineract-provider` and `fineract-report`). **Confirmed that no active Pentaho-related dependencies or configurations remain in the Gradle build scripts, ensuring the cleanup is limited to the database and source code layers.**
   * **Verification:** Ran `./gradlew spotlessApply` and confirmed build is **SUCCESSFUL**.
   * **System Status:** With this PR, the system is now fully decoupled from the Pentaho engine. All reporting functionality now relies exclusively on standard SQL-based Table Reports.
   
   **Addresses: FINERACT-2481**


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3905044154

   Hi @IOhacker, thank you for the feedback. I understand the requirement now. I will revert the Java changes and the sample data SQL files, keeping only the Liquibase migration for the data cleanup. I will also ensure the commit is signed and the PR title follows the convention. I'll push the updates shortly.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3912243332

   Hi @IOhacker, I have updated the migration with the explicit list of 44 reports and handled the permissions as discussed. I see some CI failures; could you please check if these are related to existing tests depending on this legacy data, or if it's an environment issue? Thank you for your patience!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "IOhacker (via GitHub)" <gi...@apache.org>.
IOhacker commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3906622121

   @Kenzy-Ragab I suggest to update the PR description. The SQL I think that could be more explicit about the report names.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "IOhacker (via GitHub)" <gi...@apache.org>.
IOhacker commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3905050173

   All committers already have PGP/GPG keys, so just make sure you're also
   signing commits. You can add this to your ~/.gitconfig (or equivalent) to
   do it automatically:
   
   [commit]
       gpgSign = true
   
   Upload your public key to github <https://github.com/settings/keys> to make
   the verified badges green.
   
   More info: FINERACT-2177
   <https://issues.apache.org/jira/browse/FINERACT-2177>, PR #5431
   <https://github.com/apache/fineract/pull/5431>.
   
   Hints: 1) try it locally before pushing. 2) have git run it for you: Create
   .git/hooks/pre-push with:
   
   #!/bin/sh
   scripts/verify-signed-commits.sh --strict
   
   Be sure to make that script executable.
   
   
   El dom, 15 feb 2026 a las 13:25, Kenzy Ragab ***@***.***>)
   escribió:
   
   > *Kenzy-Ragab* left a comment (apache/fineract#5501)
   > <https://github.com/apache/fineract/pull/5501#issuecomment-3905044154>
   >
   > Hi @IOhacker <https://github.com/IOhacker>, thank you for the feedback. I
   > understand the requirement now. I will revert the Java changes and the
   > sample data SQL files, keeping only the Liquibase migration for the data
   > cleanup. I will also ensure the commit is signed and the PR title follows
   > the convention. I'll push the updates shortly.
   >
   > —
   > Reply to this email directly, view it on GitHub
   > <https://github.com/apache/fineract/pull/5501#issuecomment-3905044154>,
   > or unsubscribe
   > <https://github.com/notifications/unsubscribe-auth/ALD2ZAQONZN7W4QLJFJVNFL4MDB3RAVCNFSM6AAAAACVGA6F72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSMBVGA2DIMJVGQ>
   > .
   > You are receiving this because you were mentioned.Message ID:
   > ***@***.***>
   >
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3914909609

   You can do that with a simple rebase


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3905348450

   
   Hi @IOhacker, I have updated the PR according to your feedback.
   Reverted Java changes and sample data SQL files (kept only Liquibase migration).
   Updated the commit message to follow the convention.
   Signed the commit with GPG (it should show as Verified now).
   Ready for your review!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "IOhacker (via GitHub)" <gi...@apache.org>.
IOhacker commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3911436780

   @Kenzy-Ragab my request about explicit setting the name of the Pentaho report is because the DB could have another custom reports with PENTAHO in its name.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3912412679

   Hi @IOhacker, I've closed this PR to provide a fresh, cleaner version that consolidates all the discussed changes into a single, well-structured commit. I’ll link the new PR shortly. Thank you for the great feedback so far!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3911423073

   Hi @IOhacker,
   
   Thank you for the guidance. I'm currently refining the SQL to be more explicit as requested. However, I have a quick architectural question before I push the final list:
   
   Given that we have over 40+ Pentaho-related entries (between reports and permissions), listing them all explicitly in the IN clause will make the Liquibase script quite lengthy and harder to maintain if any similar legacy data is found later.
   
   What do you think of this balanced approach?
   - Use the Pattern for permissions: LIKE 'READ_%_PENTAHO' (since they all follow this unique naming convention).
   - Use the Category for reports: report_category = 'Pentaho'.
   - I will add a detailed XML comment above the changeSet listing the major reports being removed as a reference for future developers.
   
   This keeps the code clean and DRY while remaining explicit about the target group. Or would you prefer every single report name to be hardcoded in the script for maximum safety?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data and system [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3911702786

   @IOhacker Got it! That makes total sense to avoid accidental deletion of custom reports. I have compiled the explicit list of the 44 core reports and updated the migration accordingly. Pushing the changes now.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab closed pull request #5501: FINERACT-2481: Remove Pentaho reports from initial data
URL: https://github.com/apache/fineract/pull/5501


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2481: Remove Pentaho reports from initial data [fineract]

Posted by "Kenzy-Ragab (via GitHub)" <gi...@apache.org>.
Kenzy-Ragab commented on PR #5501:
URL: https://github.com/apache/fineract/pull/5501#issuecomment-3917599342

   Hi @adamsaghy, thank you for the tip! Since I'm still getting familiar with the workflow, I thought a fresh PR would be cleaner to avoid any confusion with the previous discussions and CI failures. I'll definitely use rebase for future updates to keep the history tidy. Thanks for the guidance!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org