How to allow downloading images along with other user data (csv) from activity section?

We (few volunteers from the Krita community) have setup a discourse server for the Krita artist community. The setup is very much similar to Blenderartists.org.

Being a forum related to art software the discussions will have a lot of images. From the GDPR perspective discourse provides a way to download the user data from the activities section in profile. However I noticed that the download doesn’t include the images that user has posted to the forum. I would like to ask if there is any way to include the images posted by the users in the downloaded zip files. Is there any plugin to provide such feature?

Thank you.

8 Likes

It’s not currently available in core nor in any plugins I know of unfortunately.

3 Likes

We should arguably include any images the user uploaded in the data download.

2 Likes

Technically they still have the URLs so they could just parse and pull them. I worry about image heavy users ending up costing lots and lots of server time when they click the button.

2 Likes

Sorry if this seems a silly idea, will a predetermined time frame given to user to come back for the zip file help. During this period the zip creation can be done when there is less server activity.

I am uneasy allowing a random end user with lots of activity the ability to trigger downloading half a gig of data from s3 for re-packaging.

Much prefer to provide them with a link to a script they can run against the export to download images.

2 Likes

I’m not an expert, but I believe that from a GDPR perspective this is not an acceptable solution. @RGJ do you know?

1 Like

closing this for 6 days so our lawyer has a chance to read this before this gets derailed into a GDPR drama.

you still have the ability to run the script as an admin for the user and email them images if you want.

3 Likes

This topic was automatically opened after 5 days.

Any update on this? Either a script/tool to use or core fix?

I know how to manually do it, but I’m more sophisticated than others.

Just to expand on that,

![Screenshot_20200422-132435|281x500](upload://dYJTG1LPTCy8fp52SrPh7a1p89j.png)

came out of a user-archive.csv generated today. That’s not a very user-friendly link.

6 Likes

I did a post export for the first time since May yesterday and see that it has been given some love, but a strange (to me) choice:

But no images in there and I still see fragments (tested with meta) with very hard to use URLs like: ![screen-20200627-125657|385x397](upload://nsHMu7zGRvQ1Y9WuIPrrygpWbC6.png) (note that’s an image I uploaded after the May update).

1 Like

Putting images in the archive would be a PITA. What we could easily include is the cooked post alongside the raw so images and everything else that is transformed is associated in a standard way that can easily be parsed.

3 Likes

How does that work with the pre-signed URLs option recently introduced? I confess I don’t know much about how that’s implemented, but my fear is that the URLs would not be stable.

(By which I mean: Secure Media Uploads )

If we put the cooked post in like @Falco suggests then the URLs will be /secure-media-uploads/blah. The presigned URL is only generated when the upload is requested from the secure media URL, so you should have no problems.

5 Likes

What is the state of this feature request (if that’s what it is)?

Let’s break this up into several smaller questions:

  1. Is there currently any way for a user to getting a copy of all the images included in their posts?
  2. Is there any way of getting (or recreating) these posts in their cooked format, at least to the extent that uploaded images are in the place they’re supposed to be?

While I’m not sure I’d be able to write a full script, I did try to figure out how to reconstruct the URL of the images based on the information that is currently included in the user_archive.csv, but I don’t see how it would be possible, given that there seems to be no correlation between the image link provided in the csv file and the public URL of that image on the forum.

For example, I have ![image|499x436](upload://tIh81VxrDGPzUkxhikPmbgFGbO6.png) in my csv file and the URL of that image on the forum is https://forum.example.com/uploads/default/original/2X/d/d04053334ed6a40db3cdcf83c1c6eb139079494e.png, so even if the script used tIh81VxrDGPzUkxhikPmbgFGbO6.png in combination with some base URL, it wouldn’t be able to retrive the image, right? Or does an image somehow have multiple identities?

Thanks for bumping this topic! I hadn’t previously seen it. :smiley:

Looking through it, I share both @codinghorror’s seeming belief that images should be accessible in such a way, and @sam’s concern about the demands it would place on server-side resources - particularly in cases where the user is not interested in the images in and of themselves.

I can’t speak to the feasibility of it, but from a strictly UX standpoint I feel like either a separate download images button presented alongside the existing download option, or a pop-up asking whether you want images to be included when you use the existing download option would be best.

1 Like

Not at the moment, you would have to head to the forum. I do support @Falco’s change as a quick interim improvement to the situation.

3 Likes

You mean you’d have to get the images by navigating to the actual posts? But that would not give you images from posts that have been deleted or hidden from you, right?

Regarding the

When @sam and @Falco agree on something, does that mean it has been added to some pipeline?

1 Like

sometimes yes… sometimes no. This has not been slotted yet.

I will prioritize adding “cooked” to the export, it is an easy change, should happen some time in the next month.

1 Like