Add an extension for setting severity on comments.

Review Request #4740 — Created Oct. 13, 2013 and submitted

Information

rb-extension-pack
master

Reviewers

Add an extension for setting severity on comments.

This extension adds the concept of severity levels to comments. There
are three severity levels: Major, Minor, and Info. Every new comment
will have one of these levels.

The comment dialog now has new replacements for the Save button for each
severity level, which both ensures that a level is picked, and makes it
easy to save with a given level. It's far less annoying than most UIs,
which have an additional field that must be picked from.

The severity levels are then shown alongside the comment in the review
dialog, reviews, and e-mails.

This work is sponsored by NetApp.

  • Tested creating comments with different severities.
  • Tested creating comments with a default severity, using control-enter.
  • Tested HTML e-mails, with and without severities on comments.
  • Tested plain text e-mails, with and without severities on comments.
  • Tested review comments, with and without severities on comments.

Description From Last Updated

Can we put a label on these? Something like "Severity: Minor"? Especially for "Info" it's kind of nonsense.

daviddavid

Same here with labels.

daviddavid

In the screenshot we got, these had some color. I think I'd like to see that.

daviddavid

If "severity" is something unexpected (for example, if there's a conflict with another extension), this will print "None". I think …

daviddavid

Same here with unexpected severities.

daviddavid
david
  1. 
      
  2. Show all issues

    Can we put a label on these? Something like "Severity: Minor"? Especially for "Info" it's kind of nonsense.

    1. Yeah, went back and forth on that. I was trying to find a good way to make it show the severity without being too ugly and didn't love how it looked with the label, but it's probably better to be explicit.

  3. Show all issues

    Same here with labels.

  4. Show all issues

    In the screenshot we got, these had some color. I think I'd like to see that.

    1. Planning to add that once I make it easier to define CSS for extensions. That's one of my goals for today.

  5. rbseverity/rbseverity/extension.py (Diff revision 1)
     
     
    Show all issues

    If "severity" is something unexpected (for example, if there's a conflict with another extension), this will print "None". I think it would be better to return the empty string.

  6. rbseverity/rbseverity/extension.py (Diff revision 1)
     
     
     
     
     
     
     
    Show all issues

    Same here with unexpected severities.

  7. 
      
chipx86
david
  1. Ship It!

  2. 
      
chipx86
Review request changed
Status:
Completed
RA
  1. Hi i have installed rbseverity extension on review board got below errors:
    could you please guide hot resolve this.

    root@linux:/home/rk/rbseverity# python setup.py install
    running install
    running bdist_egg
    running egg_info
    creating rbseverity.egg-info
    writing rbseverity.egg-info/PKG-INFO
    writing top-level names to rbseverity.egg-info/top_level.txt
    writing dependency_links to rbseverity.egg-info/dependency_links.txt
    writing entry points to rbseverity.egg-info/entry_points.txt
    writing manifest file 'rbseverity.egg-info/SOURCES.txt'
    reading manifest file 'rbseverity.egg-info/SOURCES.txt'
    writing manifest file 'rbseverity.egg-info/SOURCES.txt'
    installing library code to build/bdist.linux-x86_64/egg
    running install_lib
    running build_py
    running build_static_files
    Copying '/home/rk/rbseverity/rbseverity/static/js/severity.js'
    Copying '/home/rk/rbseverity/rbseverity/static/css/severity.less'
    Traceback (most recent call last):
    File "setup.py", line 38, in <module>
    'Programming Language :: Python',
    File "/opt/bitnami/apps/reviewboard/lib/ReviewBoard-2.0.1-py2.7.egg/reviewboard/extensions/packaging.py", line 48, in setup
    setuptools_setup(setup_kwargs)
    File "/opt/bitnami/python/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
    File "/opt/bitnami/python/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
    File "/opt/bitnami/python/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
    File "/opt/bitnami/python/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/install.py", line 73, in run
    self.do_egg_install()
    File "/opt/bitnami/python/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/install.py", line 93, in do_egg_install
    self.run_command('bdist_egg')
    File "/opt/bitnami/python/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
    File "/opt/bitnami/python/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
    File "/opt/bitnami/python/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/bdist_egg.py", line 179, in run
    cmd = self.call_command('install_lib', warn_dir=0)
    File "/opt/bitnami/python/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/bdist_egg.py", line 166, in call_command
    self.run_command(cmdname)
    File "/opt/bitnami/python/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
    File "/opt/bitnami/python/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
    File "/opt/bitnami/python/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/install_lib.py", line 20, in run
    self.build()
    File "/opt/bitnami/python/lib/python2.7/distutils/command/install_lib.py", line 109, in build
    self.run_command('build_py')
    File "/opt/bitnami/python/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
    File "/opt/bitnami/python/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
    File "/opt/bitnami/python/lib/python2.7/site-packages/Djblets-0.8.1-py2.7.egg/djblets/extensions/packaging.py", line 270, in run
    self.run_command('build_static_files')
    File "/opt/bitnami/python/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
    File "/opt/bitnami/python/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
    File "/opt/bitnami/python/lib/python2.7/site-packages/Djblets-0.8.1-py2.7.egg/djblets/extensions/packaging.py", line 139, in run
    self._build_static_media(extension)
    File "/opt/bitnami/python/lib/python2.7/site-packages/Djblets-0.8.1-py2.7.egg/djblets/extensions/packaging.py", line 206, in _build_static_media
    call_command('collectstatic', interactive=False, verbosity=2)
    File "/opt/bitnami/python/lib/python2.7/site-packages/Django-1.6.5-py2.7.egg/django/core/management/init.py", line 159, in call_command
    return klass.execute(*args,
    defaults)
    File "/opt/bitnami/python/lib/python2.7/site-packages/Django-1.6.5-py2.7.egg/django/core/management/base.py", line 285, in execute
    output = self.handle(args, options)
    File "/opt/bitnami/python/lib/python2.7/site-packages/Django-1.6.5-py2.7.egg/django/core/management/base.py", line 415, in handle
    return self.handle_noargs(
    options)
    File "/opt/bitnami/python/lib/python2.7/site-packages/Django-1.6.5-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py", line 173, in handle_noargs
    collected = self.collect()
    File "/opt/bitnami/python/lib/python2.7/site-packages/Django-1.6.5-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py", line 119, in collect
    for original_path, processed_path, processed in processor:
    File "/opt/bitnami/python/lib/python2.7/site-packages/django_pipeline-1.3.24-py2.7.egg/pipeline/storage.py", line 32, in post_process
    packager.pack_stylesheets(package)
    File "/opt/bitnami/python/lib/python2.7/site-packages/django_pipeline-1.3.24-py2.7.egg/pipeline/packager.py", line 94, in pack_stylesheets
    variant=package.variant,
    *kwargs)
    File "/opt/bitnami/python/lib/python2.7/site-packages/django_pipeline-1.3.24-py2.7.egg/pipeline/packager.py", line 103, in pack
    paths = self.compile(package.paths, force=True)
    File "/opt/bitnami/python/lib/python2.7/site-packages/django_pipeline-1.3.24-py2.7.egg/pipeline/packager.py", line 97, in compile
    return self.compiler.compile(paths, force=force)
    File "/opt/bitnami/python/lib/python2.7/site-packages/django_pipeline-1.3.24-py2.7.egg/pipeline/compilers/init.py", line 55, in compile
    return list(executor.map(_compile, paths))
    File "/opt/bitnami/python/lib/python2.7/site-packages/futures-2.1.6-py2.7.egg/concurrent/futures/_base.py", line 549, in map
    yield future.result()
    File "/opt/bitnami/python/lib/python2.7/site-packages/futures-2.1.6-py2.7.egg/concurrent/futures/_base.py", line 404, in result
    return self.__get_result()
    File "/opt/bitnami/python/lib/python2.7/site-packages/futures-2.1.6-py2.7.egg/concurrent/futures/_base.py", line 356, in __get_result
    raise self._exception
    pipeline.exceptions.CompilerError: /usr/bin/env: lessc: No such file or directory

    root@linux:/home/rk/rbseverity#

    1. This is not a bug tracker. I've asked many times, but PLEASE use ONLY the community support list at reviewboard@googlegroups.com.

  2. 
      
ZC
  1. can severity level be set?

    1. Can i add further more severity levels like "Critical" etc. 
      Is that possible?
  2.