Community mailing list archives

Re: sequence_type and backward compatibility

Pedro M. Baeza
- 10/07/2015 03:31:17
Well, a module with 5k lines is not a very good sign of programming/modularity (or maybe iit's a very huge functionality). Anyway, git helps you to keep both versions very easily, merging one branch against the other when you evolve one of the versions, so yes, duplicating git branch and apply the diff is the best option for me.


2015-10-07 9:27 GMT+02:00 Fabien MORIN <>:
On Tuesday 06 October 2015 16:17:15 Pedro Manuel Baeza Romero wrote:
> For any reason or another, you'll end up needing to have 2 versions of the
> module, one for v8, and another for v9, leading with all of this internal
> changes. Regards.

If my module is 5000 lines, it is better to duplicate this 5000 lines only to 
remove 4 lines which are not compatible with V9 (ir.sequence_type) than to fix 
the core to keep backward compatibility ?

The core patch to make everything compatible is 4 lines (including 2 comment 
lines) ! :

diff --git a/openerp/addons/base/ir/ 
index ebd8ab0..3420da7 100644
--- a/openerp/addons/base/ir/
+++ b/openerp/addons/base/ir/
@@ -10,6 +10,10 @@ from openerp.exceptions import UserError
 _logger = logging.getLogger(__name__)
+# This class is not nedeed anymore since V9. Keep it only for compatibility
+# reasons
+class ir_sequence_type(models.Model):
+    _name = 'ir.sequence.type'
 def _create_sequence(cr, seq_name, number_increment, number_next):
     """ Create a PostreSQL sequence.

this patch would avoid this kind of crash at odoo start :
ParseError: "ir.sequence.type" while parsing 
/home/odoo/odoo/custom_addons/my_module/my_module_sequence.xml:4, near.....

Or maybe there is no will to keep any compatibly between versions ? Is it the 
case ?
If this is the case, that means harder maintenance, harder customer migration, 
higher costs, wasting time on useless things than using time to develop cool 

Fabien MORIN
TeMPO Consulting
20, avenue de la Paix
67000 Strasbourg
Tel   : +33 3 88 56 82 17
Fax   : +33 9 70 63 35 46 

Post to: