BookStackApp / BookStack

A platform to create documentation/wiki content built with PHP & Laravel
https://www.bookstackapp.com/
MIT License
15.49k stars 1.95k forks source link

Import externally linked images to filesystem, on demand. #5073

Open eridanired123 opened 5 months ago

eridanired123 commented 5 months ago

Describe the feature you'd like

The ability to, on demand, have external images in a document be downloaded to the Bookstack instance's filesystem, replacing the link pointing outside the instance with the new local copy route.

It would be ideal to have this achievable in two ways:

  1. For a single image to be processed individually.
  2. For all externally linked images in a document to be processed in bulk.

The tooltips for these actions in the interface could read:

  1. This image is hosted outside BookStack, click to import it.
  2. Import all external images into BookStack.

For good UX, it would be important that the import button for single elements be reachable from the main image actions popup and not hidden in nested menus or dialogues. As it would be an activity that could have to be performed repeatedly for a document.

On the other hand, the import button for all external images, could be nested somewhere or out of sight without risking negatively impacting its usability.

Describe the benefits this would bring to existing BookStack users

When an image (and other media) is linked to a document from outside the BookStack instance, it can go offline without notice.

How important this is, hugely depends on whether the user knowingly linked the media or not and if they considered the consequences of their actions.

If the items were linked manually, it is possible that the user knows that it can break at any moment, as it is common in other platforms. But if the images were automatically linked by copying and pasting, this can pass unnoticed until it is too late.

Thus, affecting the integrity of the information and the reliability of the platform.

Can the goal of this request already be achieved via other means?

Yes.

  1. By manually downloading the images to the user's PC.
  2. Uploading them to BookStack.
  3. To finally replace each image.

Have you searched for an existing open/closed issue?

How long have you been using BookStack?

3 months to 1 year

Additional context

Among other, I also use BookStack to compile research notes, and often copy and paste from the web, this means that the images are not uploaded, only hotlinked. Links break, from sites that don't want you to hotlink to sites that move the resources or simply delete them. Research notes are not as vital to deserve investing time into manually uploading each image, but aren't unimportant either, so when the image breaks, I'm pushed to search for it again.