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

Create an RFC for integrating CAL-web into BalticLSC #41

Closed
2 tasks done
Gelio opened this issue Nov 11, 2021 · 0 comments · Fixed by #110
Closed
2 tasks done

Create an RFC for integrating CAL-web into BalticLSC #41

Gelio opened this issue Nov 11, 2021 · 0 comments · Fixed by #110
Labels
complexity: medium P2 Medium priority scope: BalticLSC integration Issues related to integrating with the BalticLSC system thesis-required Issue must be closed to complete the thesis
Milestone

Comments

@Gelio
Copy link
Owner

Gelio commented Nov 11, 2021

Let's create a proposal for how to integrate CAL-web into BalticLSC.

Roughly:

  1. On the Development Shelf page, there will be a new button next to Edit Diagram. Clicking this button will

    1. Ask the BalticLSC backend for the model structure of that diagram.

      The model structure should include:

    2. Send it to the CAL-web backend.

    3. CAL-web backend will:

      1. Create a new project for that user
      2. Add the model structure into that project
  2. At this point, the BalticLSC frontend can show the Sirius Web frontend.

    Sirius Web frontend will allow editing only that project. There will be no buttons to go to "Projects" page.

    The BalticLSC frontend must pass the authentiation token to the Sirius Web frontend, so it can fetch the contents of the user's toolbox.

    Sirius Web frontend must be notified when the authentication token is refreshed.

  3. The user modifies the diagram.

    They have access to their toolbox, similarly to the existing BalticLSC diagram editor.

    They get validation messages using Sirius Web validations (see the model validation project for more information).

  4. Once the user is done with editing the diagram, they can click "Save".

    This instructs one of the frontends (either BalticLSC or Sirius Web - to be decided) to send the serialized model structure to the BalticLSC frontend. It will persist the model in the BalticLSC database.

  5. When the user leaves the Sirius Web frontend, it sends a request to Sirius Web backend to remove the project.

    This way the database is not pollutted with leftover models.

    Opening the same model again will start the process from point 1. There is no caching of models to avoid having to synchronize both backends.

It would be great to draw it as a sequence diagram.

The integration itself will most likely be out of scope of the thesis.

Includes

@Gelio Gelio added P2 Medium priority scope: BalticLSC integration Issues related to integrating with the BalticLSC system complexity: medium labels Nov 11, 2021
@Gelio Gelio mentioned this issue Nov 20, 2021
15 tasks
@Gelio Gelio added the thesis-required Issue must be closed to complete the thesis label Nov 20, 2021
@Gelio Gelio added this to the Iteration 2 milestone Nov 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity: medium P2 Medium priority scope: BalticLSC integration Issues related to integrating with the BalticLSC system thesis-required Issue must be closed to complete the thesis
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant