Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0011431Openbravo ERPA. Platformpublic2009-11-20 08:522010-01-22 00:00
alostale 
alostale 
urgentmajorN/A
closedfixed 
5
 
 
Core
No
0011431: Complete modularity checks
Currently there are some checks missing in modularity making possible different modules defining artifacts causing conflicts.
1. Manual code
-Implement properly by trigger automatic proposals of classes and html mapping.
-Add validation before compiling to raise warning (future error) when there're elements not following the rule.
-Notify all developers about this issue.
-Write these rules in documentation.

2. WAD windows
-All management should be done automatically by triggers. So make this tabs read only.
-Change for WAD windows the tab class name and mapping adding them the tab's UUID, in this way we could have different modules adding to the same window tabs with the same name.

3. Column.name
Currently ad_column.name is not checked to have the dbprefix for adding columns to a different module. This makes possible modules adding the different columns with the same name to a table. The solution would be:
-Add a trigger not to allow new columns in this way.
-Validate before compiling raising a waning (future error)
-Notify all developers about this issue.
-Document this.

4. Reference name
Currently ad_reference table has a unique constraint for name. Name in reference should not be part of the API, I mean references shouldn't be identified by name but by UUID. My proposal is to change this uniqueness to be module and name, allowing so different modules to define a reference with the same name.
The other solution would be to force references in modules to be named starting by the dbprefix, but this would require to change exitent references in modules.

5. Database objects (Indexes and constraints)
Indexes and constraints are properly managed with dbprefix just in case they are for a table that is not in the same module as the object. But there's no restriction for the name to insert them in the same module. As they are unique in DB this must be guaranteed by naming rule.
Proposed solution:
-Add to export.database a validation rasing a warning (future error) in case the rule is not followed. I think it's easier to do this one in export.database than when compiling.
-Change ALL core indexes and constraints to follow the naming rule.
-Notify all developers about this issue.
-Document this.
No tags attached.
related to defect 00109212.50MP9 closed alostale If the java package of a module is modify after do some developments, the ad_model_object is not updated 
Issue History
2009-11-20 08:52alostaleNew Issue
2009-11-20 08:52alostaleAssigned To => alostale
2009-11-20 08:56alostaleSteps to Reproduce Updated
2009-11-20 09:55alostaleRelationship addedrelated to 0010921
2009-12-02 07:47alostaleStatusnew => scheduled
2009-12-02 07:47alostalefix_in_branch => pi
2009-12-02 07:47alostaleStatusscheduled => resolved
2009-12-02 07:47alostaleFixed in SCM revision => https://code.openbravo.com/erp/devel/pi/rev/c6d1f544b5e6 [^]
2009-12-02 07:47alostaleResolutionopen => fixed
2009-12-11 09:24alostaleNote Added: 0022685
2009-12-11 09:39hgbotCheckin
2009-12-11 09:39hgbotNote Added: 0022688
2009-12-11 09:39hgbotFixed in SCM revisionhttps://code.openbravo.com/erp/devel/pi/rev/c6d1f544b5e6 [^] => http://code.openbravo.com/erp/devel/pi/rev/687f1bb51956affb4e1a9052d3bbeead0c937a39 [^]
2009-12-11 14:18hgbotCheckin
2009-12-11 14:18hgbotNote Added: 0022708
2009-12-11 14:18hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/687f1bb51956affb4e1a9052d3bbeead0c937a39 [^] => http://code.openbravo.com/erp/devel/pi/rev/9d31ef67e88051c4b456dd1639c038b316a3c4d4 [^]
2009-12-15 04:56hudsonbotCheckin
2009-12-15 04:56hudsonbotNote Added: 0022785
2010-01-21 11:32mtaalNote Added: 0023702
2010-01-21 16:46mtaalNote Added: 0023719
2010-01-21 16:46mtaalStatusresolved => closed
2010-01-22 00:00anonymoussf_bug_id0 => 2936678

Notes
(0022685)
alostale   
2009-12-11 09:24   
6. Auxiliary input name
Auxiliary input names for elements within modules must start with the module's DBPrefix.
(0022688)
hgbot   
2009-12-11 09:39   
Repository: erp/devel/pi
Changeset: 687f1bb51956affb4e1a9052d3bbeead0c937a39
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Fri Dec 11 09:39:03 2009 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/687f1bb51956affb4e1a9052d3bbeead0c937a39 [^]

related to issue 0011431:
Added check for auxiliar input name

---
M src-wad/src/org/openbravo/wad/validation/WADValidationResult.java
M src-wad/src/org/openbravo/wad/validation/WADValidator.java
M src-wad/src/org/openbravo/wad/validation/WADValidator_data.xsql
A src-db/database/model/triggers/AD_AUXILIARINPUT_TRG.xml
---
(0022708)
hgbot   
2009-12-11 14:18   
Repository: erp/devel/pi
Changeset: 9d31ef67e88051c4b456dd1639c038b316a3c4d4
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Fri Dec 11 14:17:11 2009 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/9d31ef67e88051c4b456dd1639c038b316a3c4d4 [^]

related to issue 0011431: fixed verification for tabs in different module than their window

---
M src-wad/src/org/openbravo/wad/validation/WADValidator_data.xsql
---
(0022785)
hudsonbot   
2009-12-15 04:56   
---
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/e7ad8a48210d [^]
Tests: http://builds.openbravo.com/view/devel-int/ [^]
OBX: http://builds.openbravo.com/erp/obx/core/OpenbravoERP-2.50CI.15705.obx [^]
---
(0023702)
mtaal   
2010-01-21 11:32   
I checked the functionality and it worked fine afaics. I updated the documentation here:
http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/DB/Constraints_and_Triggers [^]
(0023719)
mtaal   
2010-01-21 16:46   
Checked and works