Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Unreleased data #109

Closed
Juullo opened this issue Oct 15, 2021 · 2 comments
Closed

Unreleased data #109

Juullo opened this issue Oct 15, 2021 · 2 comments

Comments

@Juullo
Copy link
Contributor

Juullo commented Oct 15, 2021

What is the policy regarding information about unreleased entities?

I might be misinformed about this topic, if so please tell me!

There's some artifacts, like 'Prayers to the Firmament' and 'Glacier and Snowfield' that aren't released ingame. This poses at least three problems (in my opinion):

  1. Without a way to filter them out this pollutes data for potential consumers that only want to display stuff that is ingame.
  2. The availability of translations is lower (at least you can't get them ingame, only from third party sources that might or might not be right), therefore it's hard for anyone to fix the /all endpoint option. I can't simply add an english version for the artifacts mentioned above because I don't have access to the english description. A missing translation breaks the /all endpoint (this could also be an issue by itself).
  3. This might pose problems for the continuity of this project through Mihoyo's policy regarding leaks and stuff that should be under NDA. There's a reason these artifacts aren't present on the wiki for example.

Theres some ways to go about this:

  1. Implement a query parameter 'unreleased' (or something alike) which you can include to specify unreleased entities should be included in the result.
  2. Remove them alltogether; there's plenty of time to actually implement them when they're included in an update.

I'd like to hear everyone's opinions on this.

@NurMarvin
Copy link
Member

First of all thanks for bringing this up, we haven't really considered this ourselves before.
Outright removing them is not something we have planned unless miHoYo contacts us and specifically asks us to remove the information about unreleased entities from the repository. We aren't bound by any NDA (as of yet) and it's also not our responsibility to make sure that every contributor to this repository upholds their NDAs with miHoYo, so we will still happily accept any pull requests with information about unreleased entities.
Putting said unreleased entities behind a query parameter or similar, would be something we could explore though. The specifics on how we would implement this would still be up to debate, though I personally would suggest putting a new property on said unreleased entities, i.e. "unreleased": true or putting them in a separate folder i.e. assets/unreleased-data. We would also love to hear your feedback on how we could implement this in case you have a better idea as to how we could implement this.

@Juullo
Copy link
Contributor Author

Juullo commented Oct 16, 2021

I think the technical implementation doesn't matter that much. However, since this is an open source project and not all entities are clearly defined through a schema (as far as I know, I just looked at existing ones), it would be most clear to implement this functionality by putting them in a separate folder. This makes it clear for all contributors that unreleased entities should go in a separate folder.

If you make it dependent on a property, you either have to include the property on all entities, also released ones with the value false, or define a schema somewhere that people can refer to when contributing so they know unreleased entities need an extra property 'unreleased'.

I think the important part is how it will affect usage of the API. On that topic I personally think the following requirements should be met:

  • An endpoint by default excludes all unreleased entities.
  • Each endpoint will support the query parameter 'unreleased'. If true, unreleased entities are included in the response. If false unreleased entities are not included in the response.

The second requirement would break backwards compatibility, so I understand if you think differently.

@genshindev genshindev locked and limited conversation to collaborators May 15, 2024
@man90es man90es converted this issue into discussion #277 May 15, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants