I upgrade from 6.7.4 to 6.7.6 and started to get compilation errors. I believe that minor releases should be fully backward compatible.
Method getEntityId() is no more available in com.haulmont.bpm.entity.ProcInstance. I think the alternative now is procInstance.getEntity().getEntityId() but that does not feel ok to me as depending on view, entity in proc instance might not be loaded.
Please clarify and let me know if I am missing anything
Just noticed that when I pressed ‘Generate DB Scripts’ after upgrade, following db script got generated. I ran it without any errors but I have never seen before change scripts for system entities.
alter table BPM_PROC_INSTANCE drop column STRING_ENTITY_ID cascade ;
alter table BPM_PROC_INSTANCE drop column INT_ENTITY_ID cascade ;
alter table BPM_PROC_INSTANCE drop column LONG_ENTITY_ID cascade ;
I think its safe to commit and run on production environment as well. Please confirm.
The problem here is that these 3 properties of the ProcInstance entity were removed in the 6.7.7, but the update scripts for the database columns removal were not added (because columns will be required in the 6.8). We didn’t take into account that studio generates scripts for system entities - that’s why you get these new update scripts in your project.
The next bugfix release 6.7.8 will contain update scripts that will remove these database columns (in 6.8 we will create them again by new scripts). The scripts in the 6.7 will remove the columns in a safe way - only if they were not removed by scripts generated in the project by studio (like in your case).
If it is possible I would recommend not to update the production until the 6.7.8 is released and then update it without scripts generated by studio. We will release the 6.7.8 in the next few days.