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

[ftr] Replace the LinkController with a more powerful ComponentController #409

Open
DennisFriedl opened this issue Aug 19, 2024 · 1 comment
Assignees
Milestone

Comments

@DennisFriedl
Copy link
Member

The Problem
With the functionality of the Edirom getting more and more replaced with Web Components, a controller solution based on a plist is not making full use of the many different ways Web Components can be manipulated.

What is Wanted
I want the Edirom to for example:

  • open the Concordance Navigator Component with a specific condordance, a specific group and a specific measure already selected.
  • open the Videoplayer Component at a specific measure in a video, with the german audio track selected, the replay speed set at 0.5 and a loop between the seconds 6 and 12.

This would make the Controller way more powerful and flexible. I could use this with my WebSocket Component to control the Edirom from outside in a very detailed way by manipulating each Web Component as I like.
One could also imagine that this rework would make it possible to snapshot the "state" of an open Edirom and work with exactly that state at a later date or send this state to someone else.

The rework would e.g. affect this issue: #382

A Solution
Web Components can be manipulated by changing the attributes and values of the HTML element of the Component. A ComponentController would handle a JSON object with:

  • A list of Web Components to be opened or manipulated
  • A list of attributes and values per Component to be changed. A path to a MEI file or image to be opened in the Faksimile Viewer Component would also be just an attribute + value for example.
  • Other "meta" configurations per Component, e.g. "useExisting", "onlyExisting" etc.
@daniel-jettka
Copy link
Contributor

Thanks @DennisFriedl for the good description. Sounds very good.

Just for me and maybe others... This is the current LinkController.js: https://github.com/Edirom/Edirom-Online/blob/develop/app/controller/LinkController.js

@DennisFriedl DennisFriedl added this to the 2.0.0 milestone Sep 4, 2024
@bwbohl bwbohl modified the milestone: 2.0.0 Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: New
Development

No branches or pull requests

4 participants