Project

General

Profile

Actions

Feature #22482

closed

Respond with "No preview available" instead of sending the file when no preview is available

Added by Gregor Schmidt almost 8 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Category:
SCM
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed

Description

For the sake of consistency, I think, that all file types should support "View" within the repository browser. Currently this is only done for images and smaller text files. For other files the View action is similar to Download. I think this behavior is confusing.

The attached patch series, adds this feature.

It does a couple of things:

0001-Add-basic-test-for-image-view-22058.patch

Adds a test case for #22058 since I was working on this anyway. This patch is not essential in this series.

0002-Add-view-for-no-preview-repository-files.patch

It changes RepositoriesController#entry_and_raw so that a download is only triggered, when is_raw is set. Otherwise it always falls back to rendering a template. This might be refactored lateron to remove entry_and_raw all together since entry and raw don't share behavior anymore. To keep changes isolated I did not include this refactoring in this patch series.

It adds extends the entry.html.erb to render the common/other partial if the file does not match the expected file types or if it is to big for inline rendering.

It adds the common/other partial which just renders a message "No preview available"

The private helper method is_entry_text_data? was no longer used and has been removed.

0003-Show-attachment-view-even-is-no-preview-is-available.patch

This change is not directly related to the repository browser. But I thought, it would make sense to also support show on all attachments and the change was simple enough.

The changes within the patch series also make integration of Redmine into other services easier, since the other service may safely link to the URL /attachments/:id or /repository/revisions/:rev/entry/:file and it will always behave similarly. Before this change, this URL would sometimes render an HTML page, sometimes it would send a file directly. A download can still be forced using the ../download/.. and ../raw/.. URLs.


Files


Related issues

Related to Redmine - Defect #28567: "No preview available"Closed

Actions
Blocks Redmine - Feature #22483: Show PDF attachments and repo entries instead of downloading themNeeds feedbackJean-Philippe Lang

Actions
Actions #2

Updated by Gregor Schmidt almost 8 years ago

Please wait before reviewing/applying this patch series. An internal code review at Planio revealed a regression, that would be introduced by 0002-Add-view-for-no-preview-repository-files.patch.

I plan to update the patch tomorrow.

Actions #3

Updated by Gregor Schmidt almost 8 years ago

The initial 0002-Add-view-for-no-preview-repository-files.patch patch removed the ability to show the contents of text files without a text file ending, i.e. those that were handled in the second case in is_entry_text_data?. In this updated patch, I fixed that regression. Furthermore I have changed the implementation, so that file contents are only loaded into memory, when necessary.

The line

The private helper method is_entry_text_data? was no longer used and has been removed.

within this issue's description is now obsolete.

Actions #4

Updated by Go MAEDA almost 8 years ago

  • Blocks Feature #22483: Show PDF attachments and repo entries instead of downloading them added
Actions #5

Updated by Go MAEDA almost 8 years ago

  • File deleted (0002-Add-view-for-no-preview-repository-files.patch)
Actions #6

Updated by Go MAEDA almost 8 years ago

  • Target version set to 3.3.0

I tried out the patches. I felt that the new behavior is consistent and straightforward.
I think this improvement should be included in Redmine 3.3.0.

Actions #7

Updated by Jean-Philippe Lang almost 8 years ago

  • Subject changed from Add View action for all file types within repository browser to Respond with "No preview available" instead of sending the file when no preview is available
  • Status changed from New to Closed
  • Assignee set to Jean-Philippe Lang
  • Resolution set to Fixed

Committed, thanks.

Actions #8

Updated by Go MAEDA almost 6 years ago

Actions

Also available in: Atom PDF