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

Schnittstelle für Version und Änderungsdatum #72

Open
1 of 2 tasks
jakob-fyi opened this issue Oct 7, 2024 · 5 comments
Open
1 of 2 tasks

Schnittstelle für Version und Änderungsdatum #72

jakob-fyi opened this issue Oct 7, 2024 · 5 comments
Assignees
Labels
Erweiterung Neues Feature oder Wunsch good first issue Good for newcomers in Planung Wird eventuell zukünftig bearbeitet

Comments

@jakob-fyi
Copy link

jakob-fyi commented Oct 7, 2024

Hi!

Wäre es möglich ein LastModified-Property ins Serie.json-File als ISO 8601 oder UNIX Timestamp mit aufzunehmen? Ich wäre grad am überlegen meine DDF-Random-Folge Progressiv Web App (https://github.com/jakob-fyi/ddfiy) von der Spotify API auf dreimetadaten umzubauen und da könnte das von Vorteil sein, um schnell tracken zu können, ob sich etwas geändert hat.

Danke für die tolle Arbeit!


  • Version und Änderungsdatum den JSON-Dateien hinzufügen
  • RSS-/JSON-Feed o.Ä. für das Abfragen und/oder Benachrichtigen von Änderungen
@YourMJK
Copy link
Owner

YourMJK commented Oct 7, 2024

Hi Jakob,

freut mich, dass du dreimetadaten hernehmen willst und außerdem vielen herzlichen Dank für den GitHub Sponsor ;)

Das ist eigentlich 'ne gute Idee.
Ich nutze hier mit den GitHub Releases ja auch Semantic Versioning für den Datensatz und habe mir schon überlegt, die Versionsnummern ins JSON mitaufzunehmen.

Ist nur technisch blöd, das in meinen aktuellen Workflow bzw. Code für das automatische Generieren der JSON-Dateien einzubauen, deswegen scheue ich mich davor.
Wenn ich was in der Datenbank geändert habe, generiere ich grundsätzlich alles neu (JSON, TSV, Website) und verlasse mich quasi auf git, mir zu sagen, was sich geändert hat.

Einfacher wäre es, den Timestamp und die Versionsnummer global für den ganzen Datensatz (statt pro Datei) gleich in der Datenbank zu tracken (manuell oder mit SQL-Trigger) und das mit in die JSON-Dateien zu schreiben — unabhängig davon, ob die jeweilige Datei wirklich verändert wurde.
Eventuell werde ich das so lösen.

Ich glaube, ich verstehe dein Usecase aber auch noch nicht ganz.
Wenn es nur darum geht, nach dem Abfragen der JSON zu entscheiden, ob du einen Cache verwenden kannst oder etwas neu generieren musst, könntest du dir auch einen Hash der Datei speichern und den vergleichen.
Wäre das in deinem Fall vorerst eine Lösung?

Oder geht es wirklich um den Zeitpunkt der letzten Änderung?

@YourMJK YourMJK added the Frage Further information is requested label Oct 7, 2024
@jakob-fyi
Copy link
Author

Hi!

Ja, ich bin jetzt im Nachhinein auf einen kleinen Denkfehler meinerseits gestoßen. Mein Use Case wäre es eigentlich die Liste lokal zu cachen (localStorage oder indexedDb) und davor immer mit einem Request zu schauen, ob es eine neue Version gibt, die gecached werden soll, um nicht die ganzen 1.3 MB downloaden zu müssen (wäre jetzt auch kein Drama, aber gleichzeitig ein wenig unnötig, wenn ich jeden Tag schnell die App öffne). Für das bräuchte es aber eher ein Version.json oder Ähnliches und kein neues Property im Serie.json. Da hätte ich ja schon die ganze Liste abrufen müssen, um überhaupt an die Versionsinfo zu kommen.

Da du ja semantische Versionierung und GitHub Releases verwendest, könnt ich mir die Information auch einfach von dort holen. Also sobald ein neues Release sichtbar ist, die Liste abrufen und lokal ersetzen. Dafür müsste der Request hier schon reichen:
https://api.github.com/repos/YourMJK/dreimetadaten/releases/latest

Also ich glaub ich hab schon eine Abhilfe für meinen Use Case gefunden, danke! ;)
Aber generell: Versionsnummer oder Timestamp mit rein zu nehmen ist sicher eine gute Idee!

@YourMJK
Copy link
Owner

YourMJK commented Oct 7, 2024

Mein Use Case wäre […] davor immer mit einem Request zu schauen, ob es eine neue Version gibt, die gecached werden soll, um nicht die ganzen 1.3 MB downloaden zu müssen

Ahh, guter Punkt, verstehe!
Ja, das stimmt schon, dafür bräuchte ich eigentlich eine bessere Schnittstelle mit der man schnell nachvollziehen kann, ob ein Update notwendig ist. Oder irgendwie Benachrichtigungen zur Verfügung stellen.

Ich habe schonmal an einen RSS-Feed oder etwas äquivalentes (JSON Feed?) gedacht.
Damit sollte man das ja auch lösen können.

Für das bräuchte es aber eher ein Version.json oder Ähnliches

Wäre auch eine Idee … quasi nochmal Metadaten über die Metadaten ;)
Aber gute Übergangslösung mit der GitHub-API!

Aber generell: Versionsnummer oder Timestamp mit rein zu nehmen ist sicher eine gute Idee!

Ja, werde ich wahrscheinlich so machen. Ich überleg mir was :)

@YourMJK YourMJK changed the title Timestamp for Last Modified Schnittstelle für Version und Änderungsdatum Oct 7, 2024
@YourMJK YourMJK added Erweiterung Neues Feature oder Wunsch in Planung Wird eventuell zukünftig bearbeitet and removed Frage Further information is requested labels Oct 7, 2024
@YourMJK YourMJK self-assigned this Oct 7, 2024
@YourMJK YourMJK added the good first issue Good for newcomers label Oct 7, 2024
@YourMJK
Copy link
Owner

YourMJK commented Oct 8, 2024

Ach ja, und falls du migrierst und dir das Recht ist, nehme ich dein Projekt natürlich gern in die README mit auf!

@YourMJK YourMJK mentioned this issue Oct 8, 2024
5 tasks
YourMJK added a commit that referenced this issue Oct 11, 2024
…files & Added single "Alle.json" file containing the whole dataset (#72)
@YourMJK YourMJK added in Arbeit Wird aktiv bearbeitet and removed in Planung Wird eventuell zukünftig bearbeitet labels Oct 11, 2024
@YourMJK
Copy link
Owner

YourMJK commented Oct 11, 2024

Versionsnummer und Datum hab' ich den großen JSON-Dateien mal hinzugefügt.
Etwas Richtung einer Version.json oder eines Feeds überlege ich mir noch.

BTW, falls du Spotify-IDs gespeichert hast, könnte das hier vielleicht auch hilfreich sein:
https://dreimetadaten.de/index/spotify.json

@YourMJK YourMJK added in Planung Wird eventuell zukünftig bearbeitet and removed in Arbeit Wird aktiv bearbeitet labels Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Erweiterung Neues Feature oder Wunsch good first issue Good for newcomers in Planung Wird eventuell zukünftig bearbeitet
Projects
None yet
Development

No branches or pull requests

2 participants