Skip to content

Teams Overlay β€” Collaboration & Universal Optics (ALPHA)

⚠ DEMONSTRATOR β€” NOT OFFICIAL. Every screen and generated chart in this guide carries the CONTOH β€” TIDAK RASMI / SAMPLE β€” NOT OFFICIAL watermark. The names, documents and numbers are illustrative demo values β€” this is a demonstrator, not a production collaboration system.

The Teams overlay turns any surface β€” the Modeller, the Viewer, or Kernel-ERP β€” into a collaborative one. It is not a separate app. One toggle paints who-did-what onto the screens you already have: coloured dots on the very rows and elements you work with, a history you can read, a chat that is the signed log, and dashboard graphs β€” the same overlay, the same grammar, whether you are authoring a building or posting an invoice.

One signed op-log Β· a few optics, each answering one question Β· the same overlay on every surface.

This is a task-oriented manual. If you just want to use it, read Getting started and Common tasks. If you want to know how it works (or why every number is trustworthy), read Under the hood.


Getting started (about 2 minutes)

The overlay is off by default β€” until you turn it on, the screen is byte-for-byte unchanged.

  1. Open any surface. A Kernel-ERP window (e.g. Accounts Receivable), a building in the Viewer, or the Modeller β€” the overlay works the same on all three.
  2. Find the Teams pill. Look on the toolbar for the share glyph (three linked nodes). It is the host's own icon β€” the overlay borrows the app's icon set, it never imposes its own.
  3. Toggle it on. The pill lights with the host's active colour and a side pane β€” the Teams Outliner β€” slides in. Coloured who-dots appear on each row: one dot per person who touched it, the colour is that person's identity, the letters are their initials, and a +N collapses a crowd.
  4. Toggle it off. Tap the pill again. Every dot and the pane are removed and the screen returns to the exact state it started in β€” the overlay never leaves residue.

The Teams overlay on a Kernel-ERP Accounts-Receivable window β€” who-dots on each document row (initials + a +N fan-out) and the Teams Outliner pane open on the Tree tab

That's the whole interaction model: open β†’ pill β†’ who-dots + Outliner β†’ toggle off. Everything below is a variation on it.


Common tasks

See who is on each document (or element)

Turn the overlay on. Each row grows a cluster of identity dots after its status chip:

You see Meaning
a coloured dot with initials a person who touched this record; the colour is that person (same person, same colour, everywhere)
several dots on one row everyone currently on it β€” hover a dot for name Β· last action Β· when
a +N badge the crowd overflowed β€” N more people are on this record than the row shows

Nothing is invented: every dot is a real author of a real signed operation. A record with no activity has no dots.

Read the history β€” the Tree tab

The Outliner opens on Tree β€” one row per record with who last touched it, the action, and when (blame). It is a pure replay of the log, so the same read always gives the same answer; there is no separate audit table.

The chat that is the log β€” the Chat tab

Switch to Chat. Every line is a signed operation rendered as a message β€” author Β· verb Β· target. The badge on the tab counts them. There is no side-channel chat to fall out of sync: the conversation and the ledger are the same object.

Read the numbers β€” the Dashboard tab & graphs

Switch to Dashboard, or read the graph gadgets on the ERP dashboard itself. Each is a read-only fold of the same signed log β€” never a hand-entered figure:

Graph Answers Colour language
Involvement (bar) how many people are on each document host blue #1c5fa8
Flow (bar) average dwell per process step β€” the bottleneck is red blue, bottleneck #c62828
Gate ladder (doughnut) the verdict mix across the work green #2e7d32 Β· orange #f9a825 Β· red #c62828 Β· provisional #9e9e9e
Post-it aging (doughnut) open notes by age <1d #2e7d32 Β· 1-3d #f9a825 Β· 3-7d #fb8c00 Β· >7d #c62828

The complete experience on Kernel-ERP β€” who-dots on the AR rows, the Teams Outliner, and the four dashboard graphs (involvement, flow with a red bottleneck, gate ladder, post-it aging), every series folded from the same signed log and watermarked

On a building β€” who-dots on the rooms

In the Viewer's Find panel, the same overlay lands on the Storey β†’ Rooms result rows: the who-dots append after each room's state chip, and each storey header rolls up a +N density of the people active below it. It is the identical engine as the ERP rows β€” only the anchor changes (a room's guid instead of a document id).

The Find panel's Storey→Rooms rows with Teams who-dots after each state chip, and a storey-level +N density badge on each level header

Pin a note β€” post-its

Any dot or row can carry a post-it: a signed note pinned to a universal anchor (a document, a field, a room, an element). Notes are private-first and promote to shared in one operation; they age into the Dashboard's post-it aging doughnut using the same colour language as the rest of the platform.

Explore a "what-if" β€” branches & the merge gate

The overlay carries git-style branches over the one log β€” "you build that wing, I build this, then we join up." When two branches merge, a gate checks them for you, and the gate is the right one for the surface:

  • On the Modeller / Viewer building side β€” a spatial gate: it flags where two branches' elements clash in space.
  • On the schedule side β€” a PERT gate: it flags dependency violations (a task starting before its predecessor finishes), dependency cycles, and resource double-bookings (one crane, two overlapping jobs).

The branch/merge/history machinery is universal; only the gate differs by surface. Elements resolve to the same colour ladder β€” red (a real conflict) beats orange (over budget / soft) beats green (clean), with stale when the trunk has moved on since you branched.


The same overlay β€” on the building, too

Everything above is the ERP view. Open the Modeller or Viewer and the identical overlay renders over the 3D model: the tabbed Outliner (Tree / Chat / Dashboard), identity-coloured dots on elements, and the colour ladder β€” one grammar, two surfaces.

The Teams overlay on the BIM side β€” the tabbed Outliner with a colour-by-ladder element tree, the 3D world tinted by merge-gate verdict (green clean Β· red clash Β· orange budget), person dots on elements, and the colour-ladder legend


The optics at a glance (reference)

Optic The one question Where
Who-dots Who is on this record / element? on every row and element β€” colour = person, +N = crowd
Tree Who last touched it, and when? Outliner tab β€” blame, a pure log replay
Chat What's the conversation? Outliner tab β€” the chat is the signed log
Dashboard Give me the numbers. Outliner tab + ERP graph gadgets β€” folds, never hand-typed
Find placement Who is active in this room / storey? Viewer Find panel β€” dots on rooms, +N per storey
Merge gate Do these two branches conflict? on merge β€” spatial clash (building) or PERT dep/resource (schedule)

Off by default, always. Until you toggle the pill, the overlay adds zero DOM β€” the host screen is pixel-identical. Toggle off and it reverts exactly.

It speaks the host's language. The pill is built from the host's icon set, the pane is the host's own panel shell, and every colour resolves the host's design tokens (iDempiere blue #1c5fa8, the .bim-panel chrome) β€” so the overlay reads as a native part of whichever app you're in, never a bolt-on.


Under the hood β€” why every dot is trustworthy

You don't need this to use the overlay, but it explains why two people always see the same thing.

  • One signed op-log. Everything β€” an edit, a post, a post-it, a schedule change β€” is an append-only signed operation. Each op chains to the previous (verifyChain); amending one breaks the chain. Every optic is a pure fold (replay) of this log β€” so a dot, a blame line, a graph bar and a gate verdict are all computed, never stored, and two reads are bit-identical.

  • Colour = identity, deterministically. A person's dot colour is a pure hash of their signer key β€” same person, same colour, on every surface, with no palette table to drift. Identity colour is deliberately kept out of the state palette, so "who" never reads as "status".

  • NON-INVENT, everywhere. Every dot is a real op's author; every graph series is read from the fold; a record with no activity shows nothing. Where an operation refers to a room or element the overlay can't find, it is honestly reported as un-placed β€” never painted onto a random row to look busy.

  • Two merge gates, one engine. Branch / merge / diff / blame is universal git over the op-log. The only per-surface plug-in is the gate: a spatial clash check for the building, a PERT dependency/resource check for the schedule. Both fold deterministically and resolve to the same red > orange > green ladder.

  • Three distinct timelines β€” kept separate on purpose. β‘  the 4D Gantt Time Machine (the construction schedule, tasks Γ— calendar β€” it lives in the Viewer); β‘‘ the World/History op-log (who/what/when events β€” the Teams core, powering blame and replay); β‘’ the What-If Blue-dot (git branches over the log). They are never conflated: the World/History timeline is the substrate, not the Gantt.


Troubleshooting

Symptom What it means What to do
No Teams pill The surface isn't wired for the overlay yet (it's off-by-default and rolls out per surface). Use a surface where it's enabled (the ERP AR demo, the standalone showcase).
A row has no dots No signed operation has touched that record. Expected β€” the overlay never fabricates activity to fill a row.
A dot's colour looks like a status It shouldn't β€” identity hues are kept out of the state palette. Hover it: a dot always shows name Β· action Β· when; status lives in the chip, not the dot.
The pane looks foreign to the app A styling token didn't resolve. The overlay consumes host tokens (--idmp-* / .bim-panel); on a host that exposes them it matches exactly β€” report the surface if it doesn't.
Toggled off and something stayed The overlay removes all its DOM on toggle-off (proven pixel-identical). Toggle again; a residue would be a bug β€” report it.

The Teams overlay supplies the collaboration + optics layer; the surfaces supply the work:


Back to the User Guide.