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

Outline changes needed to migrate Storylines products #389

Open
dan-bowerman opened this issue Oct 16, 2023 · 5 comments
Open

Outline changes needed to migrate Storylines products #389

dan-bowerman opened this issue Oct 16, 2023 · 5 comments
Labels
Content Collection Culling and collating information and assets from existing products Priority: High This task is high priority and should be tackled soon Storylines Design Work surrounding the appearance and layout of the Storylines product Workflow Development Documentation and Processes for developers and clients to build and deploy Storylines products

Comments

@dan-bowerman
Copy link
Member

This issue is to document (right here is fine) the process for migrating existing RAMP3/Vue2-based Storylines products such that they will work in a refactored, Vue3 Storylines deployment that leverages RAMP4.

@dan-bowerman dan-bowerman added Storylines Design Work surrounding the appearance and layout of the Storylines product Workflow Development Documentation and Processes for developers and clients to build and deploy Storylines products Content Collection Culling and collating information and assets from existing products Priority: High This task is high priority and should be tackled soon labels Oct 16, 2023
@yileifeng
Copy link
Member

For Vue 3, there should be no work required to upgrade existing products, and the PR migrating to RAMP4 #377 is expected to work without issues after rebasing to Vue 3.

Vue 3 version of editor is in PR: ramp4-pcar4/storylines-editor#242. Upgrading to RAMP4 will require work on replacing the outdated RAMP2 map editor plugin with the R4 config editor ramp4-pcar4/storylines-editor#239 to remain compatible.

ramp4-pcar4/ramp4-pcar4#1908 remains one of the highest priority issues that needs to be addressed as soon as we upgrade to RAMP4.

@mohsin-r
Copy link
Member

mohsin-r commented Nov 6, 2023

RAMP4 Specific Steps

Steps before we can migrate products.

  1. Review this PR and decide if we are happy with how RAMP4 stuff works in Storylines.
  2. Merge the above PR.
  3. Figure out time sliders. There is a demo time slider fixture in the PR above but we also have additional considerations in Timesliders require update for RAMP4/Vue3 #390.
  4. Figure out how to do something on instance startup. The RAMP config is currently a JSON like before, which means we can't do anything like use the API for an instance. The main downfall of this at the moment is we wouldn't be able to use custom details templates. Perhaps the JSON config structure needs a revisit or rework for RAMP4.
  5. Figure out language stuff. RAMP4 has one config object with each language having its own subconfig. Therefore, no matter what the language is in storylines, RAMP4 will show all the languages inside it, and it will start off with the first language in the list, which might not match the current language.

Steps to actually migrate the products

  1. Convert each English and French config from RAMP2 to RAMP4. We can leverage the RAMP4 config upgrader module to achieve this. Note that because of how RAMP4 has each language's config in just a single config object instead of separate, we will now have one JSON file per config instead of a separate one for English and French.
  2. Move this one config into the ramp-configs folder, and remove the en and fr subfolders.
  3. Adjust the path of the RAMP config in the main storylines config accordingly. Note that both English and French paths are the same now.

@james-rae
Copy link
Member

Figure out language stuff. RAMP4 has one config object with each language having its own subconfig. Therefore, no matter what the language is in storylines, RAMP4 will show all the languages inside it, and it will start off with the first language in the list, which might not match the current language.

ramp4-pcar4/ramp4-pcar4#1985 might help with this if you want to entertain alternate options. If it helps, we could also add a "starting language" property to the RAMP instance constructor options param.

@dan-bowerman
Copy link
Member Author

1. Review [this PR](https://github.com/ramp4-pcar4/story-ramp/pull/377) and decide if we are happy with how RAMP4 stuff works in Storylines.
2. Merge the above PR.

This should be a top priority to get merged.

3. Figure out time sliders. There is a demo time slider fixture in the PR above but we also have additional considerations in [Timesliders require update for RAMP4/Vue3 #390](https://github.com/ramp4-pcar4/story-ramp/issues/390).

Timesliders I would like to keep "as-is" at this time, this is not the opportunity for longer-term timeslider planning in RAMP4.

4. Figure out how to do something on instance startup. The RAMP config is currently a JSON like before, which means we can't do anything like use the API for an instance. The main downfall of this at the moment is we wouldn't be able to use custom details templates. Perhaps the JSON config structure needs a revisit or rework for RAMP4.

Is this/can this be captured in an issue? I don't believe this is a dealbreaker for migrating STB's products, but the CWS products do use details templates (we are migrating theirs separately).

5. Figure out language stuff. RAMP4 has one config object with each language having its own subconfig. Therefore, no matter what the language is in storylines, RAMP4 will show all the languages inside it, and it will start off with the first language in the list, which might not match the current language.

I'm not sure what to make of this one... is it a problem if we've explicitly defined English and French in the same config? Does this mean French maps load/perform more slowly as-is?

@spencerwahl
Copy link
Member

Timesliders I would like to keep "as-is" at this time, this is not the opportunity for longer-term timeslider planning in RAMP4.

This should just require updating the API calls, and placing it within the RAMP4 shell rather than the RAMP2 method of creating a "panel" (different than RAMP4 panel).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content Collection Culling and collating information and assets from existing products Priority: High This task is high priority and should be tackled soon Storylines Design Work surrounding the appearance and layout of the Storylines product Workflow Development Documentation and Processes for developers and clients to build and deploy Storylines products
Projects
None yet
Development

No branches or pull requests

5 participants