Merging Files & Documents

Added by Shane Pearlman over 7 years ago

Hi Everyone,

In the last core meeting we agreed that it was reasonable to merge files and documents into a single media library. To kick off that discussion I have made a series of quick wireframes.

The core ideas I want to introduce (in addition to the existing ones):

  • Media library is an system that organizes ALL files for a project includes those uploaded in issues or the wiki. It will help answer the question: where the heck is that image/document/file?
  • tags to help make files organizable / searchable
  • simple version-ing to help keep track of file history
  • thumbnailing of images

This is the kickoff of a discussion and we are going to try to balance features versus available resources. So some awesome ideas might not make it simply because of resource constraints.

Replies (53)

RE: Merging Files & Documents - Added by Felix Schäfer over 7 years ago

Shane Pearlman wrote:

  • tags to help make files organizable / searchable
  • simple version-ing to help keep track of file history

Which brings me back to the question: What do documents offer more/else than the wiki? I can for now only see that they are not versioned, which for me is a reason to not even consider using them… Am I missing something? (quick answer, if this needs discussing too split it off to a new thread).

RE: Merging Files & Documents - Added by Eraldo Girardi over 7 years ago

This is a really nice idea!
It would be helpful to attach files to any issues from a central Media Library.

RE: Merging Files & Documents - Added by Igor Balk over 7 years ago

Felix Schäfer wrote:

Shane Pearlman wrote:

  • tags to help make files organizable / searchable
  • simple version-ing to help keep track of file history

Which brings me back to the question: What do documents offer more/else than the wiki? I can for now only see that they are not versioned, which for me is a reason to not even consider using them… Am I missing something? (quick answer, if this needs discussing too split it off to a new thread).

Yeh, the idea of Media Library is to have single point of access to ALL files including attachments to the issues. Also a lot of people are using file in Redmine simply for sharing ie with WebDAV and similar access. So merging them into single Media Library which will include everything (including wiki attachments) will help users better manage project related data.

RE: Merging Files & Documents - Added by Jan from Planio www.plan.io over 7 years ago

I would be a huge fan and I have a couple of clients who'd love this.

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

Shane,

Thank you for working on these comps. Are you looking at these as "given unlimited resources and time"? (versus "given Redmine's current resources")

Eric Davis

RE: Merging Files & Documents - Added by Shane Pearlman over 7 years ago

@eric: You mean you can't sneeze this out in one evening? [seriously disappointed]

=)

This is a simple version of my ideal. I constrained my creativeness. That said I know not all of these will make it into the first cut.

RE: Merging Files & Documents - Added by Jean-Baptiste Barth over 7 years ago

I really love it, and as Jan, my colleagues at work would love this too. How will it be integrated in default theme ? Is there a plan to upgrade redmine default theme ?

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

Shane Pearlman wrote:

This is a simple version of my ideal. I constrained my creativeness. That said I know not all of these will make it into the first cut.

I just wanted to see how to give you feedback (e.g. "Redmine doesn't do X" versus "I like X if it was tweaked like so"). Here are my comments on the first set of ideas.

  • There is the comments column. Is that comments on the file itself or on it's target object? (e.g. issue comments, wiki comments)
  • On the first list view, second from the bottom: there is a floating bubble that looks like 26 comments but in the Size section. Does that mean anything or was it just a typo?
  • What do the Category and Type filters do? Can I assume one filters by file type (png, pdf, etc) and one filters by the attached object (issue, project, wiki)?
  • What do you propose for the UI when adding a new file? What about updating an existing file?
  • The md5sum is missing. I use this all the time with official releases to make sure the files where uploaded correctly (i.e. without corruption). See My Miscellaneous Redmine project for example
  • Another thing missing is a link that can be used to copy the file's permalink. This would make it easy to copy and paste the link to a file.
  • What do you think about a new UI for the WYSIWYG test editor where you can select an item from the Media Library? (similar to Wordpress, which I know you are familiar with)
  • Should this be available cross-project too? So you can list/search every file uploaded to your Redmine that you have permission to.

Eric Davis

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

Jean-Baptiste Barth wrote:

How will it be integrated in default theme ?

The default theme will wrap the center content like it does already. Just pretend the top and left sidebar aren't there. :)

Is there a plan to upgrade redmine default theme ?

If some people would like to, that would be possible. We will need some volunteers to start that process and get some contributions from the community.

Eric Davis

RE: Merging Files & Documents - Added by Igor Balk over 7 years ago

Few more questions I would have:

- Version: does it correspond to version of the file or to version in the Redmine sense, if it correspond to the version of the file how version control is done, if Redmine version what is same file is used for multiple versions

- Delete file: how will it affect corresponding issue/wiki page

- Multiple inheritance: is it going to be allowed ie multiple issues/wiki pages referring to the same file

- Missing: I think we need to add reference to the project somewhere in the grid/file description/file atributes

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

I just posted this thread to the RedmineBlog so more feedback should be coming in very soon.

Eric Davis

RE: Merging Files & Documents - Added by Enderson Maia over 7 years ago

I liked the idea and the design.

For people that already use Files to make the software project public, like stable releases and downloadable docs, I think that should have some default categories for this purpose.

And maybe use the same feature for issues filter, so users can save filters.

RE: Merging Files & Documents - Added by Igor Balk over 7 years ago

One more comment about MD5. I do not think we need to show it in the grid I think it would be sufficient just to have it somewhere in the file details screen.

RE: Merging Files & Documents - Added by Shane Pearlman over 7 years ago

@Eric Davis: Great points -

  • There is the comments column. Is that comments on the file itself or on it's target object? (e.g. issue comments, wiki comments)

Those are comments on the file iteself (not sure the attached object makes as much sense). The most common request we get about documents with our users is the ability to have discussions around a specific file. I've always been happy to force that into an issue, but I figured we should discuss it with the community. This has pretty drastic implications, no its a starting point for a discussion. Definitely not a quick easy thing.

  • On the first list view, second from the bottom: there is a floating bubble that looks like 26 comments but in the Size section. Does that mean anything or was it just a typo?

Accident - removed it from wire.

  • What do the Category and Type filters do? Can I assume one filters by file type (png, pdf, etc) and one filters by the attached object (issue, project, wiki)?

Correct

Type = image, pdf, video, ... we can discuss specificity of file type vs use type. I personally lean towards image, document, video.. rather than jpg,png,pdf...

Category = attachment type. Should probably rename but not sure if attachment makes sense? Maybe relationship? I'm open.

  • What do you propose for the UI when adding a new file? What about updating an existing file?

Doh - totally missed the new file button and delete.

To update an existing one, I can see a few directions:
  • i) click on file name, goes to file detail page with more info + comments. In that case we should add a download button on this table so you don't have to click twice to get the file.
  • ii) on hover of row shows commands [permalink | edit | delete | upload new version]
  • iii) use checkbox to go action

I'm open - any preferences?

I would posit that you are the exception rather than the rule? Can we find a more buried way to show that? In the detail view?

  • Another thing missing is a link that can be used to copy the file's permalink. This would make it easy to copy and paste the link to a file.

Good call. I'd suggest we consider option # 2 from the question 2 above to display that.

  • What do you think about a new UI for the WYSIWYG test editor where you can select an item from the Media Library? (similar to Wordpress, which I know you are familiar with)

I think that would be quite nice, although it begets the question of how these attachments are treated within discussion (issues / wiki / forum etc..). I was wondering in the new theme if we would embed automatically when uploaded (as we do now on issues with our theme), then its not all that essential, but still cool. If they don't embed thumbnails, then it is extreemly worth it.

  • Should this be available cross-project too? So you can list/search every file uploaded to your Redmine that you have permission to.

I don't know if I find that personally useful or overwhelming? What does everyone else think?

RE: Merging Files & Documents - Added by Shane Pearlman over 7 years ago

@igor

- Version: does it correspond to version of the file or to version in the Redmine sense, if it correspond to the version of the file how version control is done, if Redmine version what is same file is used for multiple versions

I was proposing we do file version (not redmine release versions).

To address redmine release versions (gosh I wish we could just call it releases), I was thinking we would handle this via tagging for the exact reason you brought up.

As for how versioning is handled, that is a great question I wanted to discuss. First thoughts:
  • maybe same file name, system automatically appends filename.x+1.ext.
  • maybe we have a button by each file stating add new version
  • ultimatly I am not sure, but I know that in our organization, one of the biggest issues we face is which file is the one I am supposed to be looking at. So we need some way to know most recent version and even official approved version (which isn't necessarily the most recent).

thoughts?

- Delete file: how will it affect corresponding issue/wiki page

eric - I bat this to you. My gut is that same as it does when you delete in the object itself.

- Multiple inheritance: is it going to be allowed ie multiple issues/wiki pages referring to the same file

I think that is an interesting question! We could technically do that using permalink references or embeds as wordpress does it.

- Missing: I think we need to add reference to the project somewhere in the grid/file description/file attributes

You are currently in a project. For the global list (if we do one) then you are certainly correct.

RE: Merging Files & Documents - Added by Igor Balk over 7 years ago

- Missing: I think we need to add reference to the project somewhere in the grid/file description/file attributes

You are currently in a project. For the global list (if we do one) then you are certainly correct.

Project can have subprojects that's why we see project field in the issues grid

RE: Merging Files & Documents - Added by Terence Mill over 7 years ago

Beyond the ui discussion, can you use a common and established scm or other dms service to save and handle the versioning and metadata handling around the files?
Most people won't like to save their file and history to new kind of system. The task "versioning of files" is already done and there are enough good standars to use or build on.

Some thinking and ideas..
In our case we use as scm Subversion and advanced integration via webdav. The problem is that we would need a business analyst compatible frontend for uploading (crud), versioning, watching changes and managing project documentation beyond code (there our coders use svn clients on svn server behind redmine).

You could use the standard scm configured in project archiv or embedd a defined one for saving the versions of files and docs.

In the case of using svn with adavanced redmine integration, you already have webdav on svn. Now you "only" need a nice frontend so some special folders on svn repo where you manage the docs and files for your project.

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

Shane Pearlman wrote:

  • There is the comments column. Is that comments on the file itself or on it's target object? (e.g. issue comments, wiki comments)

Those are comments on the file iteself (not sure the attached object makes as much sense). The most common request we get about documents with our users is the ability to have discussions around a specific file. I've always been happy to force that into an issue, but I figured we should discuss it with the community. This has pretty drastic implications, no its a starting point for a discussion. Definitely not a quick easy thing.

If we allow comments on an attachment, then I think it should be feed back into the issue/wiki page somehow. Maybe a comment bubble on the issue details page where the file is listed?

Category = attachment type. Should probably rename but not sure if attachment makes sense? Maybe relationship? I'm open.

Attachment is the actual model object name Redmine uses in the code to store file uploads.

  • What do you propose for the UI when adding a new file? What about updating an existing file?

Doh - totally missed the new file button and delete.

To update an existing one, I can see a few directions:
  • i) click on file name, goes to file detail page with more info + comments. In that case we should add a download button on this table so you don't have to click twice to get the file.
  • ii) on hover of row shows commands [permalink | edit | delete | upload new version]
  • iii) use checkbox to go action

I'm just wondering how this would on an issue. I think the typical behavior would be uploading a new version of a file at the same time as updating an issue. (e.g. "Here is a new version of X").

I would posit that you are the exception rather than the rule? Can we find a more buried way to show that? In the detail view?

I disagree, everyone I've seen who uses the File module wants MD5 listed so people can be sure the files are correct. It might be better to just use a new view for this, File Releases.

  • Should this be available cross-project too? So you can list/search every file uploaded to your Redmine that you have permission to.

I don't know if I find that personally useful or overwhelming? What does everyone else think?

I think search cross-project would be very useful, especially if you have deeply nested sub projects and don't want to hunt for a file.

Eric

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

Shane Pearlman wrote:

  • maybe same file name, system automatically appends filename.x+1.ext.

We can just track the file version in the database and associate file "updates". That way it's easy to get old files and would also let file names to change. Example:

  • file.png (version 1)
  • file_b.png (version 2)
  • final.png (version 3)

(As far as the actual filename, Redmine saves them prefixed with a timestamp so we don't need to worry about filesystem conflicts.)

- Delete file: how will it affect corresponding issue/wiki page

eric - I bat this to you. My gut is that same as it does when you delete in the object itself.

Not sure about the question. If you delete a file it should be removed from Redmine. If you delete the object (Wiki page), we can either 1) remove all of the associated files or 2) reassociate the files with the project. (Deleting the project could either delete the files or remove all associations...)

- Multiple inheritance: is it going to be allowed ie multiple issues/wiki pages referring to the same file

I think that is an interesting question! We could technically do that using permalink references or embeds as wordpress does it.

I don't think that matters. A file is uploaded and gets it's own unique id. The file can then be referenced by that id. Redmine already works like this.

Eric Davis

RE: Merging Files & Documents - Added by Igor Balk over 7 years ago

I'm just wondering how this would on an issue. I think the typical behavior would be uploading a new version of a file at the same time as updating an issue. (e.g. "Here is a new version of X").

Files are not always associated with issues nor they should be associated with them one of the examples would be best practices or policies document or some manual which is related to the project as a whole not to just one issues.

I would posit that you are the exception rather than the rule? Can we find a more buried way to show that? In the detail view?

I disagree, everyone I've seen who uses the File module wants MD5 listed so people can be sure the files are correct. It might be better to just use a new view for this, File Releases.

I agree that File Releases view might be a best option to show MD5 as for the most upload and end users who have no idea who MD5 is this field would be just noise.

Igor

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

I asked Terence Mill to mention the backend storage ideas after talking with him on IRC. It might end up being an separate set of features but still might help this discussion.

As part of the storage idea: if it is SCM backed, that might even let someone git clone or svn checkout the "files" from Redmine. There would be a lot of work to get that working but it would be interesting (e.g. what happens when a client commits, is it a read-only scm...)

Eric Davis

RE: Merging Files & Documents - Added by Igor Balk over 7 years ago

I like the idea deeper SCM integration but I do not see it realistically in 1.1 Eric tell me if I'm wrong :)

RE: Merging Files & Documents - Added by Eric Davis over 7 years ago

Igor Balk wrote:

I like the idea deeper SCM integration but I do not see it realistically in 1.1 Eric tell me if I'm wrong :)

I don't realistically see all of this in 1.1 but that shouldn't stop us from thinking about how the ideal system should look.

Eric Davis

1 2 3 (1-25/53)