Skip to content

History

Revisions

  • Name no values for ui-uri-type The names are agreed between a workflow module and its cockpit user interface. VanillaBP knows none of them. Whether a page is opened as it is depends on ui-uri-path: an address starting with http:// or https:// is opened unchanged, every other path gets the proxy route in front. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CUpgqpc9KNeUtRSheAYiAg (cherry picked from commit 1829ef5f1524a69088efaa91da2fc60184128897)

    @stephanpelikan stephanpelikan committed Oct 15, 2026
    9d1bddb
  • Configuration: say why an adapter key of the cockpit ends a Quarkus start (1480) No Quarkus configuration mapping declares vanillabp.adapters.<id>.cockpit.*, and a key below vanillabp which no mapping declares ends the startup. Spring Boot does not check for unknown keys, so there the key is ignored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 11, 2026
    65cebde
  • Plain English for the wiki text written since 2026-09-15 Shorter sentences and common words in the pages which changed after story 1240. Headings, keys, code and links stay as they were. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 11, 2026
    768dcc0
  • A deployed version needs a details provider which covers it Story 1476: a user task or a process whose providers all miss the version this start deployed ends the start, as a @WorkflowTask method does. A task of a called process counts in the version of its own model. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 11, 2026
    0516b4d
  • The user interfaces and dev shells leave the cockpit repository Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 10, 2026
    ffc5b49
  • Say how the cockpit treats a user task of a called process Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 9, 2026
    aedfdc3
  • docs: the cockpit jars of 0.9.0 carry no user interface Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 9, 2026
    a0e01a6
  • Name the snapshot repository of Maven Central for the runnable jar Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMPbYLKJQXaj22EoiKBWCR

    @stephanpelikan stephanpelikan committed Oct 9, 2026
    2e739d0
  • docs: a list is filtered by the same paths it is sorted by Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    1a838fe
  • docs: a sort path below details may hold a dash Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    5af3c56
  • docs: the paths a list is sorted by, and the limit of sort indexes Configuration names business-cockpit.mongodb.sort-indexes-per-collection. The page about columns says which paths below details can be sorted by. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    46fc20d
  • docs: a user task which names nobody takes the names of a later report Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    1d1ae39
  • docs: the report which creates a user task says who sees it Organizing user tasks, Security and Migrating from version 1 now say that the assignee, the candidates and the excluded users are set by the report which creates the task, that only the cockpit changes the assignee and candidate users afterwards, and that admittedUsers is read from every report. Handing work to others means ending the task and entering it again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    f26233d
  • docs: drop DetailCharacteristics from the reporting page The SPI no longer has DetailCharacteristics or a way to set them. The cockpit never received them, so the paragraph promised something that did not happen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    7449940
  • Security: an own guiHttpSecurity keeps the renewal filter Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    1c1e160
  • Security, Configuration: a login is renewed while it is used Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013W9gz28Fcj7ktuiY1j5hS9

    @stephanpelikan stephanpelikan committed Oct 7, 2026
    ed09c74
  • docs(wiki): a live update reaches only the browsers it concerns Security gets a section on who gets which live update: the rule of the lists, the memory of what a tab shows, the reload, and a stream which ends with its login. Configuration lists the two new keys of gui-sse, and Architecture says how the filter reads MongoDB once per tick. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NKS6QGVrHPLN1gPhyW6cw9

    @stephanpelikan stephanpelikan committed Oct 6, 2026
    e4a4ced
  • docs(wiki): a key with a dot in the business data The cockpit server can now store a key of `details` which holds a dot, once `business-cockpit.mongodb.map-key-dot-replacement` is set. The configuration page names the key, its default, both costs and the values which stop the start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CxWZ2MgpVoAAzjeYfGqwv4

    @stephanpelikan stephanpelikan committed Oct 4, 2026
    194a0fa
  • docs(wiki): ui-uri-type is read by the user interface, not the cockpit Story 1413. The cockpit carries the value and never looks at it, so the page about forms says that a value is required, that the shipped user interface knows two of them, and that ui-uri-path is a path which the user interface turns into an address. The page about customizing says a user interface of your own may agree on a third value with the modules it loads. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TKoKozpbEt8AazDKUwDcSg

    @stephanpelikan stephanpelikan committed Oct 3, 2026
    5e4caab
  • docs(wiki): the smallest configuration names an initiator source A module which reports to the cockpit does not start without initiator-source, so an example which leaves it out is an example which does not work. It is the only key on this page with no default, and the page now says what each of the two values means. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DgjUTvgpirJN5h3qXssjcy

    @stephanpelikan stephanpelikan committed Oct 2, 2026
    34c3c8f
  • docs(wiki): the user interface is described, not delivered Customizing the user interface told the reader that writing down what a cockpit user interface has to do was planned and did not exist. It exists now, in this repository under skills/business-cockpit-user-interface, so the page says what each of the two ways gets you: copying the React application, or building one of your own against the description. The page now names the three boundaries a user interface sits on, with a diagram, and links Security, User task forms and status sites, Building a custom Business Cockpit and Developing UI components locally for each of them rather than repeating any of them. It also says why the description lives in this repository and not in the wiki or in vanillabp/skills, and what is still missing: the forms stay React whichever framework a user interface is written in, and nothing checks the description against a running cockpit yet. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DgjUTvgpirJN5h3qXssjcy

    @stephanpelikan stephanpelikan committed Oct 2, 2026
    c4c5a93
  • docs(wiki): the collecting interval works, so it is a row like the others The page warned that business-cockpit.gui-sse.collecting-interval does not reach the collector. Story 1251 fixed the placeholder, so the warning goes and the key becomes a row. Two sentences say how it works together with the update interval. business-cockpit.follow-up.check-rate was documented nowhere and gets a row of its own, with what a longer rate costs and what a restart loses. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DgjUTvgpirJN5h3qXssjcy

    @stephanpelikan stephanpelikan committed Oct 2, 2026
    b1705ad
  • docs(wiki): an empty answer of getUserTask is silence and not an ending The page said getUserTask returns an empty Optional where the engine does not know that task any more. Two of the three engines cannot promise that. Camunda 8 answers out of a searchable storage an exporter writes behind the engine, and the Process-Engine-API answers out of what the asking node was served, so a task which is wide awake reads like a task nobody knows. So the page says what empty really means and what to do with it: read it as no details right now and keep what you had. It also names the reader who gets this wrong, a REST endpoint turning the empty answer into a 404, because that is the case Stephan sees in the field. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DgjUTvgpirJN5h3qXssjcy

    @stephanpelikan stephanpelikan committed Oct 2, 2026
    6177183
  • docs(wiki): who answers the initiator of a report The reporting page explained the initiator in three sentences, as one field among those which organize a user task. It is the one field a workflow module has to answer, so it gets a section of its own: what it means, why no workflow system and not VanillaBP itself can fill it, the key which says who answers, both of its values, and the constant for an event no user caused. The section also says where the user belongs, which is the workflow aggregate and not a ThreadLocal. The configuration page lists the key at all three levels and says that it has no default. It also says why this one key stands at the top and still means something per module: who answers is a question about code, not about an address. The migration page names it as the sixth change somebody coming from version 1 will notice, and points at the UPGRADE.md entry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DgjUTvgpirJN5h3qXssjcy

    @stephanpelikan stephanpelikan committed Oct 2, 2026
    62c3efd
  • docs(wiki): the version section points back to the adapter wikis A reader of "Which versions of your model a method serves" learns how a method picks a range of versions, but not what their own BPMS delivers as a version. That is written in the three adapter wikis. One sentence now leads there. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SbYv7QSdZEvhkM7Cr75NK3

    @stephanpelikan stephanpelikan committed Sep 22, 2026
    2ca3e60
  • docs(wiki): a custom cockpit sets the write concern too The delivered `application.yaml` carries `mongodb.write-concern`, and a custom cockpit inherits nothing from it. The page which lists what such an application still owes now names the key next to the virtual threads. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0174TibVeR5rFgHncP6y46oW

    @stephanpelikan stephanpelikan committed Sep 21, 2026
    f2dd312
  • docs(wiki): the write concern the cockpit needs The check which warns on every start, and which ends the start on `w: 0`, was only explained in the README of the library. Somebody running the cockpit reads that warning and looks in the wiki. The running page gets a section with the value to write, where it has to be written, and what each value costs. The configuration page lists the two keys and links there. The list of what the first start tells you names the warning as the one which is about data. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0174TibVeR5rFgHncP6y46oW

    @stephanpelikan stephanpelikan committed Sep 21, 2026
    49223e4
  • docs(wiki): the version attribute of a details provider is read Two paragraphs still said the attribute is reserved and that an application which writes it does not start. Decision 24 replaced that: both details providers pick their method by the version of the deployed process, the same way a `@WorkflowTask` method is picked. The reporting page gets a section about it, with what a boundary may name, when two methods may share a task and what happens where the BPMS reports no version. The migration page says what changes for an application coming from version 1 and links there. `@WorkflowDetailsProvider` no longer has no attributes either, so the sentence saying so names `version` now. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0174TibVeR5rFgHncP6y46oW

    @stephanpelikan stephanpelikan committed Sep 21, 2026
    5736bef
  • docs(wiki): a report is built at the event, not when it is sent The cockpit adapter now puts a report together while the BPMS event is observed, and the report travels with the outbox entry. Architecture said the opposite: that an entry carries identifiers and that everything the cockpit is told is read when the entry is dispatched. Rewritten with it: the sequence diagram and the five steps, what a report says and when, and what a details provider which writes the case costs. That last one changes direction. The provider runs in the transaction of the event, so where the event reaches the application inside its own transaction there is no second writer left. Only an event of a remote engine is still reported in a transaction of its own. Reporting workflows and user tasks said the same thing about the moment the provider runs, and says the new one now. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0174TibVeR5rFgHncP6y46oW

    @stephanpelikan stephanpelikan committed Sep 17, 2026
    bf17b71
  • Say why a workflow details provider asks for less The page listed the two parameters but not the reason. Somebody who writes a workflow module wonders at this very spot why the user task method may ask for more. A user task method sees the context of one task. A case has no task, no lifecycle event of that kind and no multi-instance context, and its aggregate is what says which case the method is asked about. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @stephanpelikan stephanpelikan committed Sep 16, 2026
    6251faa