Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose public API + make available safely #113

Open
2 tasks
nikku opened this issue Feb 13, 2022 · 5 comments
Open
2 tasks

Expose public API + make available safely #113

nikku opened this issue Feb 13, 2022 · 5 comments
Labels
backlog Queued in backlog enhancement New feature or request

Comments

@nikku
Copy link
Member

nikku commented Feb 13, 2022

Is your feature request related to a problem? Please describe

Token simulation is a huge extension. Because of that it has a certain set of issues:

  • Large "service footprint": It provides a massive number of services, non of which are namespaced. As a result it is easy to collide with existing (bpmn-js) services declared
  • No public API: It does not provide any reasonable public API (no docs on usage either). For proper consumption we shall add API that allows external components to interface with it. feat: add simulation-support module #112 is a start, however it only does a poor mans job.

Describe the solution you'd like

  • Investigate if auxiliary token-simulation services can be hidden from sight (using didi __exports__ or proper namespacing
  • Investigate clear boundary / public API

Describe alternatives you've considered

Keep what exists, even if it is a little messy.

Additional context

Using didi __exports__ is properly working since since nikku/didi#13; we could consider to integrate it / use it with bpmn-js-token-simulation.

@nikku nikku added the enhancement New feature or request label Feb 13, 2022
@pinussilvestrus pinussilvestrus added the backlog Queued in backlog label Feb 17, 2022
@nikku
Copy link
Member Author

nikku commented Aug 18, 2024

We fell for missing isolation in #139.

@barmac
Copy link
Member

barmac commented Aug 23, 2024

Given that there are more issues above #139 (cf. #139 (comment)), I'd like to raise the priority of this. Note that the bugs will affect Web Modeler users (design mode).

@barmac barmac added ready Ready to be worked on and removed backlog Queued in backlog labels Aug 23, 2024
@barmac
Copy link
Member

barmac commented Aug 23, 2024

So at least the "service footprint" should be fixed.

@nikku
Copy link
Member Author

nikku commented Aug 27, 2024

We quickly discussed with @barmac different solutions and settled down on two options:

  • Use didi onboard facilities to isolate the module, including hiding internal services
    • This will prevent external customization
  • Prefix internal services, i.e. make behaviors available under a tokenSimulation. prefix
    • This will prevent accidental interference with core bpmn-js, while leaving the ability to customize (externally)

Both approaches would be a major breaking change. I'll investigate further.

@barmac
Copy link
Member

barmac commented Aug 27, 2024

Assigning @nikku to investigate in a time-boxed manner.

@nikku nikku added the backlog Queued in backlog label Sep 10, 2024 — with bpmn-io-tasks
@nikku nikku removed the ready Ready to be worked on label Sep 10, 2024
@nikku nikku removed their assignment Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Queued in backlog enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants