Improve downloading rcc
Closed, ResolvedPublic

Description

We need to change the way of storing rcc to cache the files in the server.
Proposed solution:

  • Version the rcc files with the hash (or unique identifier like the date): voices-ogg.rcc would become voices-ogg-${hash}.rcc

* When generating the rcc, have the voices-ogg.rcc be a symbolic link to voices-ogg-${hash}.rcc
* When generating the Contents file, use the short names (so without hashes).

  • When generating the Contents file, use the full names (but don't create a Contents-${hash} file, only a Contents file).
  • In the application, read the files from the Contents file, using the locale and force to look in data3/ folder.
  • Create a data3 folder in the server to put the new files.

This way, we don't need to change anything on application side.

For the legacy versions, we will still need to generate the short paths, put them in the data2/ folder, and ask for a refresh of the CDN cache to the sysadmins. We can keep this in a separate branch and cherry-pick from master of gcompris-data all the voices changes.

We need to update the documentation (wiki, website, code...) to reflect that change

jjazeix created this task.Feb 2 2020, 3:14 PM
echarruau moved this task from Backlog to Junior Jobs on the GCompris board.Jun 4 2020, 11:00 AM
echarruau moved this task from Junior Jobs to Backlog on the GCompris board.
echarruau moved this task from Backlog to WIP on the GCompris board.Jun 6 2020, 8:57 PM
echarruau moved this task from WIP to Backlog on the GCompris board.
jjazeix updated the task description. (Show Details)Sep 3 2023, 10:51 AM
jjazeix updated the task description. (Show Details)
jjazeix updated the task description. (Show Details)Sep 3 2023, 10:54 AM
jjazeix closed this task as Resolved.Nov 21 2023, 9:35 AM
jjazeix moved this task from Backlog to Done on the GCompris board.
jjazeix claimed this task.

GCompris code: https://invent.kde.org/education/gcompris/-/merge_requests/159
GCompris data code: https://invent.kde.org/education/gcompris-data/-/merge_requests/9

Now, the rcc are generated in data3 folder. They contains in the filename the date of the last git update of the files inside the rcc.