I would like to have a mechanism which allows me to track who has downloaded a file from my Nextcloud server.
Let’s say, I have two files to download.
With one file, I just create a download link and everyone should be able to download the files by just clicking the download link. No records are available on who has downloaded the file. This is the easy variant. This one is already available in Nextcloud. And it’s good to have it!
But with another file, I would like to have an option to be able to track wo has downloaded it.
I am not sure which scenario would be the best (maybe both could be useful in different use cases):
There’s a limited number of a defined group of people who should get access to the file.
I create a separate link for each of the group who should download the file together with a name and/or an email address associated to the link. Maybe the link can then be automatically sent to them or it can be manually sent using the link… As soon as the person downloads the file, this is recorded and I can see which person downloaded the file at which time.
Another use case would be to only have one link and everyone can download the file. But when clicking the link, the download does not start automatically. Instead, the downloader is asked to provide their name and/or email address which can then be used to keep track on who has downloaded the file. A third option would be that the downloader cannot directly download the file using the link but can only leave their email address. An actual direct download link is sent to the downloader via mail. This link is also personalized and it is possible to see who downloaded the file.
I am not sure if both scenarios need to be supported. I’m sure it would be great if at least one of the options would be available.
Is there a plan to have this kind of function available in future?
Would it be a separate app? Or would that be core server functionality?
Can I do anything to help create this kind of functionality?
I’m a bad programmer, but maybe it’s time to do some programming training and help develop this feature. How can I contribute?