Post

OnlyOffice Association Graph — Company ↔ Person ↔ Project

How ProProdukt / Produktor, Dreamteam hOCR, and WhereGroup client vs product lines are modelled in OnlyOffice — Team ≠ Contacts.

OnlyOffice Association Graph — Company ↔ Person ↔ Project

Platform ops · ProProdukt SL · 2026-08
Related: Workspace catalog · go-onlyoffice · Produktor company

OnlyOffice is the business SSOT for companies, people, and engagement projects. After consolidating the workstation catalog, the next pass was cleaning associations so titles and CRM contacts match reality.

Rules that matter in the UI

UI placeMeaning
Project TeamPortal users (login accounts)
Project ContactsCRM companies + persons — the career/business graph

Looking at Team and wondering where the client went is the usual trap.

Own company

CRMMeaning
ProProdukt SLLegal entity — I am Owner
Produktor.ioTrade mark / brand of ProProdukt SL

Hub project titles use ProProdukt SL | Produktor so the legal entity and brand stay linked.

Dreamteam

hOCR is my product; Dreamteam was the engagement. Pipelines / devops live under Dreamteam; the Content Serve product leaf stays with the client company. Same story as the Dreamteam post, mirrored in OO.

WhereGroup

KindExamples
Employer / productsMapbender hub, Meldemax, mapbender-core, tooling
Clients of WhereGroupEBW Mapbender, Deutsche Bahn FLIMAS, municipal geoportals

Project titles use CC \| Company \| Product with a unified employer label (WhereGroup, not mixed WhereGroup GmbH).

Tooling

oo CLI: persons update (JSON PUT — form-encoded person updates ignore companyId/about), project contacts add/list, company/person dedupe. Library docs: docs/crm-associations.md in that repo.

Private CRM IDs stay off this site; the public map is Clients + engagement posts.

This post is licensed under CC BY 4.0 by the author.