getEnterpriseCommunication() error

Have just updated from GitHub source to Axelor Open Suite 6.1.0, ran « gradlew generateCode », « gradlew -x test build » and copied resulting WAR file to deployment directory. Now, as soon as I log in, I get the error

Cannot invoke method getEnterpriseCommunication() on null object

and can get no further. Anyone else had this problem?

1 « J'aime »

If anyone gets this problem, you need to contact Axelor, who will supply an SQL migration script

I’ve got the same problem but fot the moment no solution !!

I’m facing the same problem when migrating from Open Suite 6.0.9 to 6.1.1.
FYI, after requesting support, a member answered that migration script is only for licenced user.

The migration script is thousands of lines long!! It contains database updates that presumably are too awkward to be handled by Hibernate.

If the application is open-source, then how can they legally justify withholding this script? Sounds like it needs taking up with Axelor senior management.

I’ve got the solutioooooooooooooooooonnnnnnnnnnnnnnnnnnnnn !!

the app field has been added to all tables APP_BASE_%%%%%%%%%
it must be assigned the same value of the field id of the record!

the sql script !

update base_app_bpm set app = id;
update base_app_bank_payment set app = id;
update base_app_appraisal set app = id;
update base_app_base set app = id;
update base_app_account set app = id;
update base_app_cash_management set app = id;
update base_app_expense set app = id;
update base_app_business_project set app = id;
update base_app_contract set app = id;
update base_app_fleet set app = id;
update base_app_budget set app = id;
update base_app_crm set app = id;
update base_app_employee set app = id;
update base_app_extra_hours set app = id;
update base_app_marketing set app = id;
update base_app_leave set app = id;
update base_app_production set app = id;
update base_app_project set app = id;
update base_app_portal set app = id;
update base_app_purchase set app = id;
update base_app_maintenance set app = id;
update base_app_invoice set app = id;
update base_app_purchase_request set app = id;
update base_app_training set app = id;
update base_app_quality set app = id;
update base_app_supplychain set app = id;
update base_app_sale set app = id;
update base_app_timesheet set app = id;
update base_app_stock set app = id;
update base_app_supplier_portal set app = id;
update base_app_recruitment set app = id;
update base_app_helpdesk set app = id;
update base_app_business_support set app = id;
update base_app_mobile set app = id;

1 « J'aime »

Glad that worked for you! But the script they gave me is almost 6000 lines long, and adds, drops and alters masses of tables and constraints. Much of it seemed superfluous, because when I ran it the output showed that it was e.g. adding constraints that already existed, so maybe that was duplicating what Hibernate had already effected automatically. I take it you ran your script on an existing, populated, database from a pre-6.1.0 instance?

the good answer !

select "update base_app_’’ || replace(code,’-’,’_’) || ’ set app=’ || id || ‹ , version=0; › from base_app;

Thank you for sharing your solution.

Some feedback for other readers:
I applied the list of update by changing id with the corresponding value found in base_app table. Check the column « code » to help identifiying the id.
It solved the getEnterpiseCommunication() error.
In my case, I started from a database used with v6.0.9 and reused with v6.0.16.

Unfortunatly, upgrade is still failling after fixing app id : now I got a new error message : « Cannot invoke method getEnableAppBuilder() on null object ».