PROCEED-Labs/proceed

Share Dialog for BPMN Diagrams

iaktern opened this issue · 3 comments

Create a Share-Dialog in the BPMN Editor for the Desktop-Version (wide size, not for mobile view).

The following picture demonstrates the content and functionality:
Image

  • Reuse Modal Component
  • on top: a kind of tab list but it looks like buttons (like the youtube share dialog): a click on a button should change the content below the line
  • Button: Share Public Link with the following options/functionality:
    • Option to select, if a process should be shared with a public Link; default: false -> if yes: activate all other deactivated fields
    • Option that the Process should only be visible for registered users (Tooltip: If selected, a user must log in before she/he is able to see the diagram.) ->
    • Input Field, QR-Code, Button to Copy a Public Link, Button to Copy QR-Code, Button to Download QR-Code
    • Generate Shared Link in Backend: encrypt( definition-id+timestamp ) with private key -> generate URL; decrypt (URL) leads to process; within the process-db there needs to be a field if the link is currently active (meaning: if "Share Process with Public Link" is activated or not) and another field if only registered users can access the process
    • Put generated Link into input field and qr-code
    • Create new endpoint for /share/{encrypted-definition-id} and logic to decrypt the URL
    • If the URL is accessed, then decrypt and show the process only with a BPMN viewer (not editor) and a Button "Copy to Own Workspace" (on top in the middle)
    • If the option for only registered users was selected, the user should not see the BPMN-diagram but a Login-Page first -> Discuss with @FelipeTrost if already possible.
    • The Button "Copy to Own Workspace": it imports the diagram in the users own workspace -> therefore, the user needs to log in
  • Button: Embed in Website: generate a text area with an iFrame code and some options for the iFrame (see old MS)
  • Button: Copy Diagram to Clipboard (PNG) -> Reuse @jjoderis code for ctrl + c
  • Button: Copy Diagram to Clipboard (XML) -> Reuse @jjoderis code for ctrl + c of the XML Editor
  • Button: Export as File -> open Export Dialog
  • Button: Share on LinkedIn: optional (depending on how much work it is)
  • Mobile View Share Dialog:
    Image

Shouldn't the "copy to own workspace" always be available? Since the user could copy the bpmn and import it

Yes. I have changed the issue description

@anishsapkota can this issue be closed?