Projekt-Board

Yan Minagawa

Kanban board of the room's OpenProject project, right inside the room

DemoProductivityCollaboration

Screenshots

Screenshot 1 of Projekt-Board Screenshot 2 of Projekt-Board Screenshot 3 of Projekt-Board Screenshot 4 of Projekt-Board Screenshot 5 of Projekt-Board Screenshot 6 of Projekt-Board Screenshot 7 of Projekt-Board Screenshot 8 of Projekt-Board Screenshot 9 of Projekt-Board

About this app

A Kanban board for the project linked to this room: columns follow the project's status workflow, cards can be dragged between columns or moved with the keyboard, a click opens the details (description, assignee, due date) for editing, and "Neues Ticket" creates a work package. Concurrent changes are shown as a conflict and never silently overwritten. The room ↔ project link (de.opendesk.openproject) is set by the Projekt-Einrichtung widget. Unofficial technology demonstration of the openDesk × Matrix widgets integration concept — not a ZenDiS or openDesk product.

What lands in room state (demo mode). One state event per ticket, de.opendesk.openproject.demo_wp (state key = ticket id), holding number, title, description, status (and whether it is closed), assignee (Matrix id), due date, a revision counter and who changed it when; one state event per comment, de.opendesk.openproject.demo_comment (ticket id, text). Room state is never encrypted, even in an encrypted room, and is replicated to every server in the room — do not put confidential content into demo tickets or comments. In gateway mode nothing is written to room state; the work packages stay in OpenProject.

Timeline. Optionally (off by default, per person) the widget posts a short notice such as "Anna hat #1042 „…" auf „In Arbeit" gesetzt." Timeline messages are encrypted in encrypted rooms.

Modes. On Marcade it runs in demo mode: the board lives in room state and every member sees moves live. With an opendesk-widget-gateway URL in the widget URL fragment it talks to a real OpenProject as the signed-in user (Matrix OpenID token; the client may ask for permission to share your identity), PATCHes with lockVersion, and shows changes by others within seconds (gateway change feed; 30 s polling as fallback). Users who are in the room but not in the project see an explanation instead of an empty board.

Add to a room

Paste this into any room you may configure — Element and most clients understand /addwidget:

/addwidget https://marcade.store/apps/de.minagawa.opendesk.projekt-board/0.1.0/

Works standalone in demo mode. Optional: add `#gateway=https://…` (an opendesk-widget-gateway) to show and change a real OpenProject project as the signed-in user.

Rooms should pin the versioned URL above. https://marcade.store/apps/de.minagawa.opendesk.projekt-board/latest/ always points at the newest release.

Name and icon in Element

/addwidget can carry only the URL: Element lists the app as “Custom” without an icon. Add the Marcade Store once per room and it gives every Marcade app pasted in there its name and icon, and tells you when an update is out.

/addwidget https://marcade.store/apps/de.minagawa.marcade-store/0.1.4/

Permissions

Capabilities this widget may request. The Marcade Player asks for your consent before granting any of them.

What's new in 0.1.0

Kanban board with workflow-status columns, drag-and-drop and keyboard moves, detail view with editing and comments, "Neues Ticket", filters, manual order in columns, opt-in timeline notice. Demo mode on room state with conflict detection; gateway mode against OpenProject: lockVersion conflicts, live updates via the change feed (polling fallback), only workflow-allowed transitions, version filter, "Weitere laden" beyond 500 items, clear no-access states.

Information

Version
0.1.0
Section
Demo — Technology demonstrations built by Marcade to show what a widget can do. Not for real use — nothing is submitted anywhere.
License
Apache-2.0
Author
Yan Minagawa
State event types
de.opendesk.openproject, de.opendesk.openproject.demo_wp, de.opendesk.openproject.demo_comment
Encrypted rooms
Supported
Widget ID
de.minagawa.opendesk.projekt-board