rubyvideo icon indicating copy to clipboard operation
rubyvideo copied to clipboard

Updates to talks get overwritten with next `db:seed`

Open marcoroth opened this issue 6 months ago • 2 comments

Currently speakers are able to update and edit the metadata of their own talks. But that data gets overwritten when we run the seed command again.

So we should either:

  • disable the ability to update talks on the website
  • mark the talk so that it shouldn't be overwritten when seeding
  • or, since the people are signed in using GitHub, commit the update directly to the YAML files on their behalf

marcoroth avatar Jun 18 '25 11:06 marcoroth

I think this illustrates nicely what we discussed at Baltic - it's not 100% clear what the single source of truth in regards to data is.

It makes sense to say it's the YAML files, and we treat the DB as 'secondary', which is regularly overwritten. The downside to this approach is that any data change must first be reflected in YAML files (so no updating data directly, as in this case). Nice for visibility, all the data is public, and any change is tracked through GH. Neat.

just means it's a bit harder to update the data for contributors. I like the idea of using the GH integration to create pulls/commits with suggested changes a lot 👍

hschne avatar Jun 18 '25 13:06 hschne

Yes same I know this has been an ongoing discussion we had too. I am not really sold on the idea to create pulls/commits, maybe it is more simple than I think it is.... Yet it looks like something that might be hard to maintain down the road and overall it remains a longer process for users to update their content.

Beside the user modified content their is also the ability to change the content from the admin and that would be even harder to handle as we would need to hook into avo.

I wonder if now that we start to have cleaner yaml files and more tools to update them if we shouldn't use the yaml files as the source for seeding and then the production database become the source of truth. On regular basis we can dump the content and update the yaml files files to keep them as accurate as possible. I don't think there is a real value in having those yaml files in sync in real time.

The main advantage I see with this is that it will be way easier to get user generated content :

  • speaker managing and updating their talks
  • organisers adding new talks
  • daily cron that would fetch updated meetup playlist and create suggested talks to be validated by the meetup manager
  • etc

And maybe a Github action could automate this too...

adrienpoly avatar Jun 18 '25 13:06 adrienpoly