Open himselfv opened 10 years ago
First idea:
[child] Requires=parent1,parent2
And every time we download child for any reason, both parents shall be downloaded.
Immediate doubts:
Second idea: Perhaps we don't exactly need a broad dependency system, but just something like
Require('missing-file.txt');
At any time in the program. Then Doubt 1 is automatically covered (if the file is there then it's there). Doubt 2 too (we check for it when we need it).
Doubts here:
How to minimize that?
More considerations:
It'd also be nice to be able to do
//You seem to have no Japanese fonts installed, go download some fonts OpenDownloads(type=font) // RequireSome(type=font)
//DownloadMoreRomajiButtonClick() OpenDownloads(type=romaji)
//You have no dictionaries! No kanji data! RequireSome(type=dic & base-language=jp) RequireSome(type=kanjidic)
Since the downloader also handles updates, it'd be nice to have it update all components, including those which were shipped with the app. How to implement that? Maybe just download the "app package" which includes all components, even those which weren't changed? Or download only those components which were changed?
If latter, this almost automatically makes us Chip & Dale after all, because we can just stick Require('component-name') and re-download it if missing.
If latter, maybe hide or group all those "ship-with-app" components in the downloader? We can't hide them completely, what if the user wants to uncheck them to stop from updating? But we don't want spamming the download window with stuff no one understands or needs to care about. Maybe there should be a special type of download called "Core components" which isn't shown at all, and there's a special setting "Auto-update the app" which handles whether all of that stuff is updated?
In that case we should skip this if we're in type=[whatever] mode. But perhaps also when we're in free mode. I just wanted to download some stuff, why is my Wakan updating? So perhaps those components need only to be updated at the start of the app, if so configured (together with everything else configured to auto-update, but before everything else. Perhaps there needs to be a separate option page 'Auto-updating'?).
So for now the resolution is as such:
I've not decided yet how auto-update will work, perhaps it will be working in the background, then it'd be something like "download core to temp dir; if there were core updates, stop downloading until restart + nudge user. If no core updates, then download the rest of the components and import all" or maybe "and plan to import on next restart" just like with core.
Original report by me.
Originally reported on Google Code with ID 252
Reported by
himselfv
on 2014-06-05 15:50:34