Page MenuHomePhabricator

Allow easy updating of all references to a file
Closed, DuplicatePublic

Description

One file might appear in multiple locations (e.g. an image that is used to explain something in the documentation). People might want to change it and make that change appear in many of the locations the file is referenced.

Currently, they have to open the file application, search for F123, go to the "Attached" tab and adjust each and every document (e.g. wiki pages) referencing it.

It would be nice if this could be simplified.

E.g. by adding a "Replace" button to the "Attached" tab of a file (say F123). Pressing it blends in a typeahead field where one can select the new file (say F321) from all existing files or upload a new one. Additionally, it blends in checkboxes next to all references in the list. References I do not have permission to change would be greyed out. Upon pressing "OK", Phabricator would automatically edit all references (e.g. wiki pages, tasks, etc) and replace F123 with F321.

Event Timeline

devurandom raised the priority of this task from to Needs Triage.
devurandom updated the task description. (Show Details)
devurandom added a project: Files.
devurandom added a subscriber: devurandom.

What specifically is the problem you are looking to solve? See https://secure.phabricator.com/book/phabcontrib/article/feature_requests/#describe-problems

My concern is Files isn't intended for this, maybe Phurl or Pholio are. It's helpful for us to know the exact issue you encountered and see if a more general solution exists.

Isn't Phragment the right application for this purpose?

@joshuaspence: TBH, I was unable to figure out how it is supposed to work...

@chad: The exact issue we encountered was that someone uploaded a file via a wiki page via drag & drop. Then this file was also used on other wiki pages. Later someone wanted to replace the file on all wiki pages. How they did it (currently cumbersome) was described in my original report.

I'd prefer to solve this with templates in Phriction. One template in many pages, easy to keep everything up to date.

@chad So whenever someone wants the same file to be used on multiple wiki pages, they first have to create a page template and then apply that to the other site where they want the file to be linked?

This creates multiple questions:

  • Will it be possible to apply templates to a page after creating it?
  • How will multiple templates interact with each other, e.g. if I want multiple files to appear on the page?
  • Won't this be very cumbersome for users?
  • Wiki pages were just one example. How do wiki page templates apply to other things, like project pages, tasks, events and so on?
NOTE: T3963 talks about page templates (to my understanding), not macros.

And even if it would talk about macros: I can already imagine the faces, when I tell someone who wants to "update" his file that is linked in several locations, he should have created a macro and used that right from the start...

I would leave feedback or questions on that actual task.

In reply to the comments in T3963:

I assume the "Attached" tab (T3963#132275) is suitable enough. In addition, the find-and-replace function (T3963#132254, T3963#132286) for batch edits (T9132) seems very useful.

Regarding the filesystem-like structure (T3963#132273, T3963#132279): I am trying to get my users used to using Phriction to create this structure instead. In my eyes it is superior to an actual filesystem (you can add descriptions inline and are free to use whatever form you like), as long as there are powerful search features (T9133) to find files that are not on any wiki page anymore or when you forgot which page the file was on (but remember related projects, e.g.).

When linking to a versioned file and then updating it - in my eyes it might be bad to just display the new file unconditionally everywhere. Maybe displaying "there are newer versions of this file available" might be better.

Disclaimer: We are still developing workflows with Phabricator as more users are joining.