<div dir="ltr"><div>If you do not add data to the website (demos, compatibility, etc.) you can skip reading this mail.</div><div><br></div><div>Over the last few months I've been working on improving the data behind our website culminating with <a href="https://github.com/scummvm/scummvm-web/pull/131">https://github.com/scummvm/scummvm-web/pull/131</a> <br></div><div><br></div><div>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: <a href="https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit?usp=sharing">https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit?usp=sharing</a><br></div><div><br></div><div>Data is structured similar to a relational database, with sheets for games, companies, versions, engines, game series and demos. (More to be added).</div><div><br></div><div>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).</div><div><br></div><div><br></div><div>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:</div><div>1. Add a new line in the sheet</div><div>2. Fill up the id (game id), version the entry is relevant for, and supported platforms</div><div>3. Platforms are comma separated values, based on the platforms sheet</div><div>4. Optionally, add unsupported platforms</div><div>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</div><div>6. Once you're done - run the update script and commit the changes to the repository (composer update-data)</div><div><br></div><div><br></div><div>Q&A</div><div><br></div><div>Q: This looks just like a database, why not use a database</div><div>A: I wanted to keep the data open, and not require us to build a whole setup to update the database. <br></div><div><br></div><div>Q: Why do all this work?<br></div><div>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)</div><div><br></div><div>Q: I don't have access to the spreadsheet</div><div>A: Please reach out to me for access<br></div></div>