プロジェクト

全般

プロフィール

Vote #77353

完了

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

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
SCM_3
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
3
version_id:
110
issue_org_id:
22482
author_id:
14446
assigned_to_id:
1
comments:
8
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

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:

h3. @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.

h3. @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.

h3. @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.


journals

!no-preview.png!
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
Committed, thanks.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


related_issues

relates,Closed,28567,"No preview available"
blocks,Needs feedback,22483,Show PDF attachments and repo entries instead of downloading them

Admin Redmine さんが3年以上前に更新

  • カテゴリSCM_3 にセット
  • 対象バージョン3.3.0_110 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0