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

Support process applications (first iteration) #2508

Open
12 tasks
nikku opened this issue Oct 20, 2021 · 9 comments
Open
12 tasks

Support process applications (first iteration) #2508

nikku opened this issue Oct 20, 2021 · 9 comments
Assignees
Labels
Milestone

Comments

@nikku
Copy link
Member

nikku commented Oct 20, 2021

Supporting https://github.com/camunda/product-hub/issues/2458.

Introduction

Process applications are a feature of the Web Modeler that should be supported in the Desktop Modeler, too. Users should be able to work with and deploy process applications in the Desktop Modeler while still being able to work with and deploy single files at the same time.

Tasks

Preview Give feedback
  1. enhancement in progress process applications
    philippfromme
  2. enhancement in progress process applications
    philippfromme
  3. enhancement in progress process applications
    philippfromme
  4. backlog enhancement process applications
    philippfromme
  5. backlog enhancement process applications
    philippfromme
  6. backlog enhancement process applications
    philippfromme
  7. backlog enhancement process applications ready
    philippfromme
  8. backlog enhancement process applications
    philippfromme
  9. backlog enhancement process applications
    philippfromme
  10. backlog enhancement process applications
    philippfromme
  11. backlog enhancement process applications
    philippfromme
  12. backlog enhancement
    philippfromme

Out of scope


Related to https://github.com/bpmn-io/internal-docs/issues/519

@nikku nikku added enhancement New feature or request infrastructure labels Oct 20, 2021
@MaxTru MaxTru added the backlog Queued in backlog label Oct 22, 2021 — with bpmn-io-tasks
@philippfromme philippfromme changed the title Add a Project scope Add Projects Feature Mar 1, 2023
@philippfromme philippfromme changed the title Add Projects Feature Create Initial Projects Feature Mar 2, 2023
@philippfromme philippfromme changed the title Create Initial Projects Feature Process Applications in Desktop Modeler Nov 4, 2024
@philippfromme philippfromme self-assigned this Nov 4, 2024
@philippfromme philippfromme added in progress Currently worked on and removed backlog Queued in backlog labels Nov 4, 2024
@philippfromme philippfromme changed the title Process Applications in Desktop Modeler Process Applications Nov 4, 2024
@nikku nikku changed the title Process Applications Support process applications (first iteration) Nov 5, 2024
@philippfromme
Copy link
Contributor

Architecture Discussion

I (@philippfromme) discussed with @barmac.

Key Points

  • Process applications feature should be independent of React
  • Process application files will be managed separately from tabs, rather than as a new supported file type that isn't opened in a tab
  • No decision reached on supporting files only or folders

File vs. Folder Support

Files

Pros:

  • Easier to implement (single file reading and writing already implemented)
  • Flat list of files more closely resembles process applications in Web Modeler
  • Potentially easier to use in both modelers

Cons:

  • Deleting, renaming, or moving a file will break the process application

Folders (reading BPMN, DMN, and Form files only)

Pros:

  • Adding a single folder automatically picks up all files within
  • No need to explicitly add files
  • Deleting, renaming, or moving a file will not break the process application

Cons:

  • Requires folder reading functionality, which is currently not implemented

Next Steps

  1. Create a diagram to visualize the proposed architecture at the C4 components level
  2. Make a decision on whether to support files only or folders

@nikku I would appreciate your input.

@nikku
Copy link
Member Author

nikku commented Nov 12, 2024

I strongly support "folder reading support". We don't want to oversimplify our process applications feature, but support the full power of what pro-coders do:

  • Resources relevant to the application may be arbitrarily nested within a certain root folder
  • They may be moved, renamed, etc. and the app must react to that.
  • In simple terms this can be accomplished by not only watching files (we already do this), but by watching a folder; we must watch it anyway in order to do smart background indexing (to derive intelligence)

@philippfromme
Copy link
Contributor

Okay, we'll implement folders then. I'm also in favor of folders as I think with files only we'll end up wishing we'd implemented folders. 🤔

@lmbateman
Copy link

Deleting, renaming, or moving a file will not break the process application

Is that because we create a pointer to each file, or for some other reason? In other words, is the process application only aware of the files in that folder, or does it track files even after they're moved out of the folder?

@philippfromme
Copy link
Contributor

philippfromme commented Dec 6, 2024

Is that because we create a pointer to each file, or for some other reason? In other words, is the process application only aware of the files in that folder, or does it track files even after they're moved out of the folder?

The process application tracks any relevant files (BPMN, DMN and Form) in the root directory or any of its child directories. Moving a file out of that root directory will effectively remove the file from the process application.

@lmbateman
Copy link

Deleting, renaming, or moving a file will not break the process application
Moving a file outside of that root directory will effectively remove the file from the process application.

If the moved/deleted file is a linked resource, wouldn't that break the process application? Or is the first sentence above only referring to BPMN files?

@nikku
Copy link
Member Author

nikku commented Dec 6, 2024

If the moved/deleted file is a linked resource, wouldn't that break the process application? Or is the first sentence above only referring to BPMN files?

Of course it would break the process application, in similar ways like you fool someone by removing the chair he sits on: If the thing is used ("you sit on the chair") you'll notice that the thing ("the chair") is missing. If you're not sitting on it, then the operation is absolutely fine.

We should build our validation in a robust manner, so that we detect that a piece we criticially rely on is now gone ("someone removed the chair I sit on"). This is out of question. But we should also build the underlying system in a way that it is robust, i.e. will be able to handle the situation where the chair you sit on is gone.

(Not sure if that makes sense).

@lmbateman
Copy link

That makes sense. Since "Deleting, renaming, or moving a file will not break the process application" was offered as a Pro of using folders, I'm trying to make sure I'm clear on what that means.

@philippfromme
Copy link
Contributor

Yes, we would show an error that the linked resource is now missing. 🙂

@barmac barmac added this to the 8.7 milestone Jan 24, 2025
@nikku nikku added the backlog Queued in backlog label Feb 19, 2025 — with bpmn-io-tasks
@nikku nikku removed the in progress Currently worked on label Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants