Using visual assets in issues
Problem
- We want a seamless mechanism to allow design to integrate in the product development flow. Currently, designers work with a separate design repo to manage assets. And they take those mockups and paste them into individual issues. This is difficult to do proper version management. And the discussions about the overall feature design is divorced from the assets a lot of times since it's difficult to keep track in long conversations.
- Originally from @jschatz1: After talking at length with @sarrahvesselov, @tauriedavis, and @dimitrieh, we have given a lot of thought to how visual assets are managed. At the moment it is poor. The way discussion happens around designs is designs are pasted in markdown and loaded into comments. This is not how a good design process works in real life. You lose a lot of data this way.
- Goals of integrating the design workflow into issues and general collaboration: https://gitlab.com/gitlab-org/gitlab-ee/issues/3028#note_36082221.
Design
-
The general design approach is that we will have a separate visual assets repo at the project level (https://gitlab.com/gitlab-org/gitlab-ee/issues/3029).- Per issue, there will be features that can take link/associate/take those assets from that project-level repo, and integrate them right in the issue collaboration flow.- This means you will be able to see those assets (versioned) in the issue, and be able to comment on them, and interact with them.- You will be able to manage the assets on their own (in the visual assets repo itself in #3029 (closed)). But you should also be able to do some management of the relevant assets in the issue itself.- There will be deep integration. For example, if you comment on an asset in an issue, you should probably be able to see the associated comment when you view the same asset back in the visual assets repo views. - The latest plan (https://gitlab.com/gitlab-org/gitlab-ee/issues/3029#note_36197997) is to focus on improving our asset collaboration features in merge request diffs, and then use this issue here to identify areas where we can take a design project/repo's merge requests / mr diffs, and have that tightly integrated into an issue of another project. Basically, have tighter cross-project integration.
- One set up is having a GitLab group with multiple projects.
- One project (call it P) contains the main code repo that contains software that is shipped to production.
- This same project (and possibly others) contains issues to discuss and plan those features.
- There is another project (call it D) that houses visual designs, mockups, etc. As designs are updated here, designers collaborate in the merge requests in this project.
- The merge requests in the design project (D) are tightly integrated with the issues in the other projects (P and others). So that while you are working in P issues, you can easily D designs.
Original description
Each issue also gets an asset (or design, or artwork) library, which I originally proposed here https://gitlab.com/gitlab-org/gitlab-ce/issues/19562 10 months ago
- Add assets to the issue.
- Assets would be links to repo files. Could be a design in a different repo. That way there are revisions and we can track them.
- Assets could also be static images which we already store but there would not be revisions for those.
- Display library of assets in the issue:
- Clicking the thumbnail opens a modal which shows comments about that revision of the design.
- If it is a git asset we can click through previous or future revisions and see their comments.
- Comments exist as regular comments in the issue. So a comment added to an asset also appears in the comments in the discussion below. With a special avatar.
When people want to talk about a specific design they can link to it instead of pasting images. This link will bring up the thumbnail in the modal along with associated comments.
We already have comments on diffs and comments in an issue. This would act as a normal comment in the issue but also just have an association with an asset. This way we can query for comments on a specific asset.
This is not just a benefit for designer. Think about people who are designing for aerospace, blueprints, cad files. Whatever it is. Anything that is visual needs to have a better flow instead of copy and pasting into an issue. That copy and paste should be a living revision. Something that exists as a reference to an asset.
Comments that are added can be added to a specific x and y coordinate of a picture.
This would also be great to take advantage of all the file viewers I have been creating. This way we can view a Sketch file or a 3D file. Even zip files.