decker-edu / decker

A markdown based tool for slide deck creation.
GNU General Public License v3.0
55 stars 14 forks source link

Don't rsync --delete in Haskell, instead rely on configuration files #66

Closed kno10 closed 8 months ago

kno10 commented 9 months ago

The --delete option should be chosen by the user via decker.yaml.

monofon commented 9 months ago

Options removed here should be added to publish.rsync.options in the default.yaml files for all resource packs as to not change the behaviour of existing presentations. We did that for a few options some time ago. I cannot remember why we left these three behind. @mbotsch, @salbeira can you?

kno10 commented 9 months ago

Relates to #40

salbeira commented 9 months ago

We left the --delete because @mbotsch thought of decker publish as having to "set" the state of your remote target to your current public directory. Especially if you "reset" the state of your published files at the beginning of a new semester you want to delete all your recordings and annotations in your local directories, build the project and do a publish. That publish should delete all the recordings, annotations etc. on the remote as to cleanly reset your lessons' state. This of course expects that you simply re-use your webserver's directories over and over again and not have a "2023" and a "2024" directory for different iterations of your lessons over the years.

Also all files that you simply renamed (lesson-01-deck.md to lesson-01-part1-deck.md) would leave behind the old lesson-01-deck.html on your remote server if you did not use --delete.

At least that is what I remember when I asked why we have the --delete there.

mbotsch commented 8 months ago

IMO the --delete should be enabled by default. Otherwise you might end up with last year's annotations for new lectures. But it should be possible to disable this. I suggest that we move all the default options into default.yaml.

monofon commented 8 months ago

Fixed in ff171c3e7e9c7a1a963c0d2ef53556809d7c1e86.