Difference between revisions of "Plugin: CDSoftware Base"

From iDempiere en
m
 
Line 1: Line 1:
−
*'''Maintainer:''' Eduardo Gil / Angel Lara
+
* '''Maintainers:''' Eduardo Gil <[email protected]> / Ángel Lara <[email protected]>
−
*'''Sponsors:''' La Casa del Software
+
* '''Sponsors:''' [https://www.casadelsoftware.com/ La Casa del Software]
−
*'''Status:''' Tested with release 10.0.0
+
* '''Status:''' Tested with release 12.0.0
−
*'''License:''' [http://www.gnu.org/licenses/gpl-2.0.html GPLv2]
+
* '''License:''' [https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html GPLv2]
−
*'''Sources:''' [https://bitbucket.org/cdsoftware/com.cdsoftware.base Bitbucket CDSoftware Base]
+
* '''Sources:''' [https://github.com/lcdsoftware/com.cdsoftware.base CDSoftware Base]
−
== Summary ==
+
* '''Documentation:''' [https://github.com/lcdsoftware/com.cdsoftware.base/blob/12.0.0/README.md Repository README]
  
−
This plugin have several improvement for iDempiere core table, columns packout structure
+
== Description ==
 +
 
 +
CDSoftware Base provides shared administrative processes and Application Dictionary customizations for iDempiere. It includes IMAP email-to-request processing, PostgreSQL materialized-view refresh, payment reporting data, and deployment of attached home-page templates through Lirionizer.
 +
 
 +
Its dictionary packages also extend SQL-expression fields used by chart data sources and view components, add legal paper formats, and install the records required by the plugin processes.
  
 
== Features ==
 
== Features ==
  
−
* Extends the length of the SQL columns in Chart Table so we can create more complex charts Graphics.
+
* Converts IMAP messages into new iDempiere requests and appends replies to existing requests.
−
* Extends the length of the SQL columns in View component table allowing the creation of more complex view directly from iDempiere.
+
* Preserves email sender, subject, and Message-ID information on requests.
−
* Extends the length of SQL column in the lines of the 2Pack, allowing longer queries to be saved.
+
* Refreshes registered PostgreSQL materialized views in exclusive or concurrent mode.
−
* Add legal-sized printing paper to Print Papel Table.
+
* Prepares payment and allocation information in <code>T_CDS_C_Payment</code> for reporting.
−
* Process to replace iDempiere FrontPage from a template.
+
* Deploys attached HTML, JSP, properties, and ZIP resources for a customized home page.
 +
* Extends SQL-expression fields for complex chart and view definitions.
 +
* Adds Legal Portrait and Legal Landscape print-paper definitions.
 +
 
 +
== Processes ==
 +
 
 +
{| class="wikitable"
 +
! Process !! Purpose !! Configuration and result
 +
|-
 +
| <code>RequestEMailProcessor</code> || Creates or updates <code>R_Request</code> records from IMAP messages. || Configure the IMAP host, credentials, inbox, processed and error folders, request type, and optional defaults. Successful messages are copied to the request folder and deleted from the source inbox. Reply matching uses the normalized subject.
 +
|-
 +
| <code>RefreshMaterializedView</code> || Refreshes a PostgreSQL materialized view registered in <code>AD_Table</code>. || Select <code>AD_Table_ID</code> and optionally <code>IsConcurrent</code>. Concurrent mode requires a unique index. The process validates the object name and checks <code>pg_matviews</code> before executing the refresh.
 +
|-
 +
| <code>UnallocatedPayments</code> || Populates <code>T_CDS_C_Payment</code> for payment reporting. || Accepts an accounting-date range, receipt/payment selector, and optional business partner. Rows are associated with the current process instance and include calculated allocated and open amounts.
 +
|-
 +
| <code>Lirionizer</code> || Deploys a home-page template attached to the process. || The <code>Prefix</code> parameter selects the attached resources. The process replaces matching server files and extracts the template ZIP under iDempiere home.
 +
|}
 +
 
 +
== Requirements ==
 +
 
 +
* iDempiere 12.
 +
* Java 17.
 +
* PostgreSQL for <code>RefreshMaterializedView</code>.
 +
* An accessible IMAP mailbox for <code>RequestEMailProcessor</code>.
 +
* Database and filesystem permissions appropriate to the selected process.
 +
 
 +
== Installation ==
 +
 
 +
# Deploy the <code>com.cdsoftware.base</code> OSGi bundle in iDempiere 12 and refresh or restart the runtime.
 +
# Verify that the bundle resolves the runtime mail packages used by the IMAP processor.
 +
# Review the Incremental 2Pack import log. The repository contains nine dictionary packages under <code>com.cdsoftware.base/META-INF</code>.
 +
# Verify the installed process definitions, parameters, report table, translations, attachments, and role access before enabling the processes.
 +
 
 +
The presence of the 2Pack files in the source repository does not by itself confirm that they were imported successfully in a specific environment.
 +
 
 +
== Configuration and usage ==
 +
 
 +
=== Email-to-request processing ===
 +
 
 +
# Configure an IMAP or IMAPS host, mailbox credentials, inbox folder, processed-request folder, and error folder.
 +
# Select a request type or define a default request type in iDempiere. Configure the optional business partner, contact, role, sales representative, priority, and confidentiality defaults.
 +
# Confirm that processed messages may be copied to the request folder and deleted and expunged from the source inbox.
 +
# Run the process with a controlled mailbox before scheduling it. Verify new requests, reply matching, attachments, destination folders, and server logs.
 +
 
 +
=== Materialized views ===
 +
 
 +
# Register the PostgreSQL materialized view as an active <code>AD_Table</code> record.
 +
# Select the table in <code>RefreshMaterializedView</code>.
 +
# Enable concurrent mode only when the view has a suitable unique index and the database satisfies PostgreSQL concurrent-refresh requirements.
 +
 
 +
=== Payment reporting ===
 +
 
 +
# Select the accounting-date range, receipt/payment value, and optional business partner.
 +
# Run <code>UnallocatedPayments</code> and consume the generated <code>T_CDS_C_Payment</code> rows for the current <code>AD_PInstance_ID</code>.
 +
# Verify that the range semantics match the intended report before distributing results.
 +
 
 +
=== Home-page templates ===
 +
 
 +
# Attach the required prefix-named HTML, JSP, properties template, or ZIP resources to the Lirionizer process.
 +
# Confirm the destination paths and back up the resources that will be replaced.
 +
# Run Lirionizer and verify the server files and rendered home page.
 +
 
 +
== Compatibility and known limitations ==
 +
 
 +
* <code>Lirionizer</code> reads <code>jettyPath</code> but the iDempiere 12 execution path currently derives the server-plugin directory and does not apply that parameter.
 +
* Lirionizer replaces files and deletes the previous prefix-template directory. Review process attachments and filesystem paths before execution.
 +
* <code>UnallocatedPayments</code> restricts both payments and allocations to the selected date range. It is not a cumulative historical balance as of the range end, does not restrict results to nonzero open amounts, and does not clean earlier rows before inserting the current process rows.
 +
* The materialized-view process accepts only unqualified alphanumeric/underscore object names and performs an unqualified catalog lookup. Verify the PostgreSQL search path when multiple schemas are used.
 +
* Email reply association is based on a normalized subject search. It is not strict Message-ID threading.
 +
* Some 2Packs replace process attachments or reset browser-title configuration. Review the target configuration and PackIn log during installation.
  
 +
== Documentation and source code ==
  
−
== Additional Notes ==
+
* [https://github.com/lcdsoftware/com.cdsoftware.base Source code]
 +
* [https://github.com/lcdsoftware/com.cdsoftware.base/blob/12.0.0/README.md Functional and technical README]
  
−
[[Category:Available_Plugins|CDSoftware]]
+
[[Category:CDSoftware Plugins]]
−
[[Category:CDSoftware_Plugins]]
+
[[Category:Available Plugins|CDSoftware Base]]

Latest revision as of 21:06, 14 September 2026

Description

CDSoftware Base provides shared administrative processes and Application Dictionary customizations for iDempiere. It includes IMAP email-to-request processing, PostgreSQL materialized-view refresh, payment reporting data, and deployment of attached home-page templates through Lirionizer.

Its dictionary packages also extend SQL-expression fields used by chart data sources and view components, add legal paper formats, and install the records required by the plugin processes.

Features

  • Converts IMAP messages into new iDempiere requests and appends replies to existing requests.
  • Preserves email sender, subject, and Message-ID information on requests.
  • Refreshes registered PostgreSQL materialized views in exclusive or concurrent mode.
  • Prepares payment and allocation information in T_CDS_C_Payment for reporting.
  • Deploys attached HTML, JSP, properties, and ZIP resources for a customized home page.
  • Extends SQL-expression fields for complex chart and view definitions.
  • Adds Legal Portrait and Legal Landscape print-paper definitions.

Processes

Process Purpose Configuration and result
RequestEMailProcessor Creates or updates R_Request records from IMAP messages. Configure the IMAP host, credentials, inbox, processed and error folders, request type, and optional defaults. Successful messages are copied to the request folder and deleted from the source inbox. Reply matching uses the normalized subject.
RefreshMaterializedView Refreshes a PostgreSQL materialized view registered in AD_Table. Select AD_Table_ID and optionally IsConcurrent. Concurrent mode requires a unique index. The process validates the object name and checks pg_matviews before executing the refresh.
UnallocatedPayments Populates T_CDS_C_Payment for payment reporting. Accepts an accounting-date range, receipt/payment selector, and optional business partner. Rows are associated with the current process instance and include calculated allocated and open amounts.
Lirionizer Deploys a home-page template attached to the process. The Prefix parameter selects the attached resources. The process replaces matching server files and extracts the template ZIP under iDempiere home.

Requirements

  • iDempiere 12.
  • Java 17.
  • PostgreSQL for RefreshMaterializedView.
  • An accessible IMAP mailbox for RequestEMailProcessor.
  • Database and filesystem permissions appropriate to the selected process.

Installation

  1. Deploy the com.cdsoftware.base OSGi bundle in iDempiere 12 and refresh or restart the runtime.
  2. Verify that the bundle resolves the runtime mail packages used by the IMAP processor.
  3. Review the Incremental 2Pack import log. The repository contains nine dictionary packages under com.cdsoftware.base/META-INF.
  4. Verify the installed process definitions, parameters, report table, translations, attachments, and role access before enabling the processes.

The presence of the 2Pack files in the source repository does not by itself confirm that they were imported successfully in a specific environment.

Configuration and usage

Email-to-request processing

  1. Configure an IMAP or IMAPS host, mailbox credentials, inbox folder, processed-request folder, and error folder.
  2. Select a request type or define a default request type in iDempiere. Configure the optional business partner, contact, role, sales representative, priority, and confidentiality defaults.
  3. Confirm that processed messages may be copied to the request folder and deleted and expunged from the source inbox.
  4. Run the process with a controlled mailbox before scheduling it. Verify new requests, reply matching, attachments, destination folders, and server logs.

Materialized views

  1. Register the PostgreSQL materialized view as an active AD_Table record.
  2. Select the table in RefreshMaterializedView.
  3. Enable concurrent mode only when the view has a suitable unique index and the database satisfies PostgreSQL concurrent-refresh requirements.

Payment reporting

  1. Select the accounting-date range, receipt/payment value, and optional business partner.
  2. Run UnallocatedPayments and consume the generated T_CDS_C_Payment rows for the current AD_PInstance_ID.
  3. Verify that the range semantics match the intended report before distributing results.

Home-page templates

  1. Attach the required prefix-named HTML, JSP, properties template, or ZIP resources to the Lirionizer process.
  2. Confirm the destination paths and back up the resources that will be replaced.
  3. Run Lirionizer and verify the server files and rendered home page.

Compatibility and known limitations

  • Lirionizer reads jettyPath but the iDempiere 12 execution path currently derives the server-plugin directory and does not apply that parameter.
  • Lirionizer replaces files and deletes the previous prefix-template directory. Review process attachments and filesystem paths before execution.
  • UnallocatedPayments restricts both payments and allocations to the selected date range. It is not a cumulative historical balance as of the range end, does not restrict results to nonzero open amounts, and does not clean earlier rows before inserting the current process rows.
  • The materialized-view process accepts only unqualified alphanumeric/underscore object names and performs an unqualified catalog lookup. Verify the PostgreSQL search path when multiple schemas are used.
  • Email reply association is based on a normalized subject search. It is not strict Message-ID threading.
  • Some 2Packs replace process attachments or reset browser-title configuration. Review the target configuration and PackIn log during installation.

Documentation and source code

Cookies help us deliver our services. By using our services, you agree to our use of cookies.