Problem installing Kanban plugin in Idempiere

44 views
Skip to first unread message

Lilia

unread,
Nov 24, 2025, 2:42:44 AM (3 days ago) Nov 24
to iDempiere
I downloaded the Kanban plugin from its GitHub page and installed and configured it on Eclipse. However, when I run the server (with the plugin checked), the plugin is not visible in iDempiere, even though it is present in the Felix Apache database. Any reasons ?  

Diego Ruiz

unread,
Nov 24, 2025, 6:33:14 AM (3 days ago) Nov 24
to iDempiere

Hi, 

What steps are you following and what do you mean by not visible in iDempiere? 

Best regards,
Diego

Lilia

unread,
Nov 25, 2025, 3:02:48 AM (2 days ago) Nov 25
to iDempiere
Hi, 
As part of my internship, I installed Idempiere so that I could develop on my own on the Eclipse environment on localhost. My goal was to modify the Kanban plugin interface, which I downloaded via GitHub, imported, and configured on Eclipse. However, when I ran the application with the plugin, nothing happened. When I go to the Idempiere plugin console, the plugin appears, but the functionality is not in Idempiere. I did the same with the georeferencing plugin and had no problems.

Diego Ruiz

unread,
Nov 25, 2025, 4:21:51 AM (2 days ago) Nov 25
to iDempiere
Hi, 

I do not have enough information to be able to know the problem you're facing. Can you verify that the windows and forms are being created in the dictionary?

Login as System
Open Window Tab and Field and search for Kanban -> you should get one result "Kanban Board Configuration"
Open Form and search for Kanban -> you should get two results

If that's the case, the plugin is correctly installed and you should be able to see the windows. 

if not, the plugin might be throwing an error on installation or start up. I would need you to check the logs and let me know what it says.

Best regards,
Diego

Lilia

unread,
Nov 25, 2025, 4:59:37 AM (2 days ago) Nov 25
to iDempiere
Hi Diego, 
I checked as you suggested: 
- In "Window Tab and Field": No results found for "Kanban" 
- In "Form": No results found for "Kanban" 

I found the error in the logs. The plugin installation is failing with this error: 
ERROR: multiple primary keys for table "kdb_kanbanboard_trl" are not allowed 

The full error message is: 
org.postgresql.util.PSQLException: ERROR: multiple primary keys for table "kdb_kanbanboard_trl" are not allowed 

This happens during the 2Pack installation at: 
14:45:55.627===========> TableIndexElementHandler.validateTableIndex: 
org.postgresql.util.PSQLException: ERROR: multiple primary keys for table "kdb_kanbanboard_trl" are not allowed 

The installation fails with: 
"Pack in failed. Failed to validate AD_TableIndex for KDB_KanbanBoard_Trl_key" 
What should I do to fix this database issue? 

Thank you, 
Message has been deleted
Message has been deleted

Lilia

unread,
Nov 25, 2025, 9:54:37 AM (2 days ago) Nov 25
to iDempiere
To get a better idea of what was causing this "multiple primary key" issue, we've made the Postgres DB log all statements executed during packin for the kanbanboard plugin. The following statements relate to the kdb_kanbanboard_trl table being created and failing:

2025-11-25 14:47:27.107 CET [13770] adempiere@adempiere LOG: execute <unnamed>: CREATE TABLE KDB_KanbanBoard_Trl (AD_Client_ID NUMERIC(10) NOT NULL)
2025-11-25 14:47:27.226 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN AD_Org_ID NUMERIC(10) NOT NULL
2025-11-25 14:47:27.336 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN Created TIMESTAMP NOT NULL DEFAULT getDate()
2025-11-25 14:47:27.784 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN CreatedBy NUMERIC(10) NOT NULL
2025-11-25 14:47:27.941 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN Description VARCHAR(255) DEFAULT NULL
2025-11-25 14:47:28.050 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN IsActive CHAR(1) NOT NULL CHECK (IsActive IN ('Y','N')) DEFAULT 'Y'
2025-11-25 14:47:28.310 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN KDB_KanbanBoard_Trl_UU VARCHAR(36) DEFAULT NULL
2025-11-25 14:47:28.311 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD CONSTRAINT KDB_KanbanBoard_Trl_UU_idx PRIMARY KEY (KDB_KanbanBoard_Trl_UU)
2025-11-25 14:47:28.527 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN Name VARCHAR(60) NOT NULL
2025-11-25 14:47:28.641 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN Updated TIMESTAMP NOT NULL DEFAULT getDate()
2025-11-25 14:47:28.782 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN UpdatedBy NUMERIC(10) NOT NULL
2025-11-25 14:47:28.925 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN KDB_KanbanBoard_ID NUMERIC(10) NOT NULL
2025-11-25 14:47:29.038 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN AD_Language VARCHAR(6) NOT NULL
2025-11-25 14:47:29.135 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN IsTranslated CHAR(1) NOT NULL CHECK (IsTranslated IN ('Y','N')) DEFAULT 'N'
2025-11-25 14:47:29.240 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD COLUMN KDB_KanbanCard TEXT DEFAULT NULL
2025-11-25 14:47:29.561 CET [13770] adempiere@adempiere LOG: execute <unnamed>: ALTER TABLE KDB_KanbanBoard_Trl ADD CONSTRAINT KDB_KanbanBoard_Trl_key PRIMARY KEY (KDB_KanbanBoard_ID,AD_Language)
2025-11-25 14:47:29.562 CET [13770] adempiere@adempiere ERROR: multiple primary keys for table "kdb_kanbanboard_trl" are not allowed

Looking at the order in which these columns are created, they fit their order of declaration in the PackOut.xml file found in: /META-INF/2Pack_1.0.0[KDB/dict/PackOut.xml] We can see that there's indeed two primary keys being created: the first one on (KDB_KanbanBoard_Trl_UU), the second on (KDB_KanbanBoard_ID,AD_Language). However, browsing the PackOut file indicates that only (KDB_KanbanBoard_ID,AD_Language), the KDB_KanbanBoard_Trl_key index/constraint, is meant to be a primary key (XML: <IsKey>true</IsKey>) The UUID column is NOT marked as such, yet the system seems to force a primary key on it anyway.

Our theory currently is that something in the incremental pack-in process is trying to create a primary key at the earliest opportunity for tables it is constructing that don't have one already. This would explain why we can see the Postgres log of the pack-in process above add a Primary Key constraint on the _UU column, and then collapse when another primary key, the intended one, is created afterwards. We believe this may be a change made sometime since IDP version 9, as we didn't encounter such an issue on deploying the kanbanboard plugin on an IDP v10 instance previously.

We haven't found the code responsible for this "early PK creation" issue.
In any case, the kanbanboard plugin seems to be broken on IDP version 12 because of this, as the pack-in fails and rolls back.

Diego Ruiz

unread,
Nov 26, 2025, 6:45:00 AM (yesterday) Nov 26
to iDempiere
Hi, 

Thanks for the report!!

It seems a recent change in v13 broke the installation of plugins that add a table index for translation tables. I reported the bug here -> https://idempiere.atlassian.net/browse/IDEMPIERE-6753

I will update the thread once we find a solution. 

Thanks again,
Diego
Reply all
Reply to author
Forward
0 new messages