File attachment demo

Review Request #1 — Created Sept. 30, 2023 and updated

Information

Reviewers

Review Board supports attaching and reviewing arbitrary files.

Any file can be attached. Source code outside a repository, test data,
logs, images, PDFs, Word documents, zip files, binary blobs, whatever.

Review UIs

Some types of files have special review UIs, such as Markdown files
and images. They'll also be shown with thumbnails previewing the file.

Using Power Pack, PDF documents can be reviewed and even diffed.

Custom-built extensions can provide new review UIs for the specific files
you need to work with.

Reviewing file attachments

For files that can be reviewed within Review Board, simply click the
thumbnail. Or hover and click Review. You'll be able to leave
comments right on the file, whether text, image, or PDF.

For files Review Board can't display, hover over the thumbnail and
click Download to download the file, or Comment to leave a comment.

Clicked on every one of the files.


Description From Last Updated

We attached a Markdown file above, and are able to comment on both the rendered view and the source.

chipx86chipx86

See? Here's the source comment!

chipx86chipx86

Comments can also bee left on images. This is really useful when putting up screenshots of new features. Reviewers can …

chipx86chipx86

And on diffs of images.

chipx86chipx86

And diffs of text-based file attachments.

chipx86chipx86

Clean up this mess

guest6312guest6312

Remove this line

guest6312guest6312

sample comment 2

guest6312guest6312

not bad

guest3580guest3580
chipx86
  1. Just like with diffs, you can leave comments directly on file attachments.
  2. README.md (Revision 2)
    1

    Review Board

    2
    3

    Review Board is an open source, web-based code and document review tool

    4 built to help companies, open source projects, and other organizations keep
    5 their quality high and their bug count low.

    Show all issues
    We attached a Markdown file above, and are able to comment on both the rendered view and the source.
  3. README.md (Revision 2)
    1
    Review Board
    2
    ============
    3
    4
    Review Board is an open source, web-based code and document review tool
    5
    built to help companies, open source projects, and other organizations keep
    6
    their quality high and their bug count low.
    Show all issues
    See? Here's the source comment!
  4. Show all issues
    Comments can also bee left on images.
    
    This is really useful when putting up screenshots of new features. Reviewers can select a region they want to discuss (a block of text, or a new icon, perhaps) and begin a discussion.
  5. Show all issues
    And on diffs of images.
  6. README.md (Revisions 1 - 2)
    
        
       
    14
    thousands.
    8
    
        
       
    15
    
       
    9
    Information on usage and installation can be found on
    16
    Information on usage and installation can be found on
    10
    http://www.reviewboard.org/docs/manual/dev/
    17
    https://www.reviewboard.org/docs/manual/latest/
    11
    
        
       
    18
    
       
    12
    General information on the project is available on
    19
    General information on the project is available on
    13
    http://www.reviewboard.org/
    20
    https://www.reviewboard.org/
    Show all issues
    And diffs of text-based file attachments.
  7. 
      
guest6353
  1. demo

  2. 
      
guest6312
  1. 
      
  2. tests.log (Revision 1)
    29
        confirm = input("Type 'yes' if you would like to try deleting the test database '%s', or 'no' to cancel: " % test_database_name)
    Show all issues

    sample comment 2

  3. 
      
guest6312
  1. Review comments

  2. tests.log (Revision 1)
    20
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/commands/test.py", line 89, in handle
    Show all issues

    Remove this line

  3. 
      
guest6312
  1. 
      
  2. tests.log (Revision 1)
    8
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/__init__.py", line 453, in execute_from_command_line
    9
        utility.execute()
    10
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/__init__.py", line 392, in execute
    11
        self.fetch_command(subcommand).run_from_argv(self.argv)
    12
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/commands/test.py", line 51, in run_from_argv
    13
        super(Command, self).run_from_argv(argv)
    14
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/base.py", line 222, in run_from_argv
    15
        self.execute(*args, **options.__dict__)
    16
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/commands/test.py", line 72, in execute
    17
        super(Command, self).execute(*args, **options)
    18
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/base.py", line 255, in execute
    19
        output = self.handle(*args, **options)
    20
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/commands/test.py", line 89, in handle
    21
        failures = test_runner.run_tests(test_labels)
    22
      File "/Users/chipx86/src/rb/reviewboard/reviewboard/test.py", line 76, in run_tests
    23
        old_config = self.setup_databases()
    Show all issues

    Clean up this mess

  3. 
      
guest6312
  1. Ship It!
  2. 
      
guest7316
  1. Ship It!
  2. 
      
guest7271
  1. Ship It!
  2. 
      
guest3580
  1. 
      
  2. tests.log (Revision 1)
    6
      File "./reviewboard/manage.py", line 165, in main
    7
        execute_from_command_line(sys.argv)
    8
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/__init__.py", line 453, in execute_from_command_line
    9
        utility.execute()
    10
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/__init__.py", line 392, in execute
    11
        self.fetch_command(subcommand).run_from_argv(self.argv)
    12
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/commands/test.py", line 51, in run_from_argv
    13
        super(Command, self).run_from_argv(argv)
    14
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/base.py", line 222, in run_from_argv
    15
        self.execute(*args, **options.__dict__)
    16
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/commands/test.py", line 72, in execute
    17
        super(Command, self).execute(*args, **options)
    18
      File "/Users/chipx86/buildroots/rb2.0/lib/python2.7/site-packages/Django-1.5.4-py2.7.egg/django/core/management/base.py", line 255, in execute
    Show all issues

    not bad

  3. 
      
Loading...