[Scummvm-devel] New data model for the website

Matan Bareket mataniko at gmail.com
Mon Sep 14 17:59:40 UTC 2020


If you do not add data to the website (demos, compatibility, etc.) you can
skip reading this mail.

Over the last few months I've been working on improving the data behind our
website culminating with https://github.com/scummvm/scummvm-web/pull/131

>From now on, most data is managed via a spreadsheet, with a script to pull
data into the repository to convert to YAML. You can find the new sheet
here:
https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit?usp=sharing

Data is structured similar to a relational database, with sheets for games,
companies, versions, engines, game series and demos. (More to be added).

When adding entries that reference other entities, please make sure you are
not referencing a non-existing entity (sheets have some validation rules to
help).


Compatibility saw the most drastic change, since we now reuse old
compatibility entries if they haven't changed. If you want to add a new
entry:
1. Add a new line in the sheet
2. Fill up the id (game id), version the entry is relevant for, and
supported platforms
3. Platforms are comma separated values, based on the platforms sheet
4. Optionally, add unsupported platforms
5. Optionally, add any additional notes - you DO NOT need to enter "game is
supported, no problems" or "only dos version is supported" instead we will
generate these messages based on the status and platforms
6. Once you're done - run the update script and commit the changes to the
repository (composer update-data)


Q&A

Q: This looks just like a database, why not use a database
A: I wanted to keep the data open, and not require us to build a whole
setup to update the database.

Q: Why do all this work?
A: By using a "database" we can support more features in the site.
Filtering, grouping, sorting, etc. It also keeps our data persistent across
pages (demos, compat, eventually screenshots)

Q: I don't have access to the spreadsheet
A: Please reach out to me for access
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20200914/6c0155d5/attachment-0001.htm>


More information about the Scummvm-devel mailing list