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

Revamp import/export #509

Open
sei-jbooz opened this issue Oct 10, 2024 · 1 comment
Open

Revamp import/export #509

sei-jbooz opened this issue Oct 10, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@sei-jbooz
Copy link
Contributor

The current implementation of game import/export has not been touched in a while, so it only partially works and is missing game/challenge configuration options that have been added to GB in recent versions.

The new implementation should probably result in a zip file download on export and upload of the same zip structure on import.

The zip should contain all data needed to configure the game:

  1. All settings/metadata
  2. All challenge specs
  3. All images (game card and board)
  4. Should also allow you to muli-select games to export/import multiple at once
  5. The UI should tell you how many games/specs were exported. Then on import, it should tell you how many games/specs were successfully imported/skipped (see below for skipping)

Constraints / Design Points:

  1. It is ok to assume GB will have access to talk to the game engine to import challenge specs and to assume that the specs will have the same external GUID
  2. It is ok to assume that all GUIDs that are imported will be ok to use on import. If a duplicate Game/Challenge Spec GUID is found, it is ok to skip that item on import - but we should tell the user about it.
  3. GB should include all game / spec metadata and configurations with the export -- it is ok to assume that the new GB wants exactly the same config that was exported
    a. One small caveat here is that I think we should mark games as "Hidden" on import so an admin has time to check things over before imported items are visible to un-priv'd users in the UI.
  4. We don't want to have to touch the logic of import/export much if the game entity evolves over time, so the design should account for this flexibility
@sei-bstein sei-bstein self-assigned this Feb 11, 2025
@sei-bstein sei-bstein added the enhancement New feature or request label Feb 11, 2025
@sei-bstein
Copy link
Contributor

The absolute lion's share of this is in place. The import UI does not meet the requirements above as of yet - mass import just imports all games and does not mark them as unpublished yet.

The import doesn't require immediate access to the game engine for sync, but it does assume that the external ID of the specs matches the engine used by the exported gameboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants