JCR - Java Code Reviewer

Contents

Introduction

JCR is a web application for conducting formal code reviews. It can be used for reviews of any type of source code, although it has some special smarts for reviewing Java projects. It has special features to make large-scale reviews not only practical but easy and fast.

JCR is intended to assist:

Glossary of Terms

The Glossary explains all the terms used in JCR.

Instructions for Use by Role

Use of JCR pretty much breaks down by role, as follows:

General

All users need to be able to login to the system, and change their own passwords. Reports that aren't project-specific are also generally available.

See General Instructions.

Reviewers

Reviewers need to know how to review code in projects (strange that a code review tool should do this, no?). See Project Reviewer Instructions.

Project Owners

Project owners are responsible for creating and administering review projects, as well as ensuring that all required actions are carried out after the review. See Project Owner Instructions.

Administrators

System administrators get to:

  • Administer users
  • Make changes to projects that the owner isn't allowed to, e.g. adding a review file after the project's in the 'Reviewing files' stage
  • Archive and delete old projects and file sets
  • Set up VCS repositories
  • Back up JCR.

See Administrator Instructions.

Installation

Installation and Configuration

For installation and configuration of JCR, see the installation page. This also covers how to upgrade from an existing version.

Configuration Reference

See the configuration page for all the configuration options available in JCR (including modifications to scripts and web pages etc.).

FAQ

You can probably guess the contents of the Frequently Asked Questions page.

Other Information

Change log:
See the changes page for information on what was in each release (at least since 0.5.0)
Licence:
JCR is released under the GNU Public Licence. See the LICENCE file in the distribution
Things I've stolen from elsewhere:

I've learnt a lot through writing JCR, much of it from other open source projects on the web. I've also 'liberated' (you might prefer 'stolen') code and/or ideas from several projects or people.

This list probably isn't complete, but hopefully it'll serve to give credit where it's due.

  • Frameworks and libraries:

    • Pylons - webapp framework
    • SQLAlchemy - object-relational mapping library
    • AuthKit - authentication middleware
    • JQuery - Javascript library
    • Pygments - syntax highlighting for source code
    • Pysvn - Subversion integration
  • Codestriker:

    Codestriker gave me many of the original ideas for JCR. I also shamelessly stole much of the Codestriker CSS stylesheet to get started with JCR. Codestriker was the first indication I had that not all Perl code makes me want to throw up

  • Audacity:

    The styles I used for tab pages come from the Audacity site

  • Andrew Davidson:

    The animated icon indicating that file diffs are being generated. Released under the Creative Commons Non-Commercial Share-Alike licence

  • Fedora Core:

    The little green tick used as the favicon.ico file for JCR was lifted from Fedora

  • Wikipedia:

    The external indicator for links comes from Wikipedia. Given that those 100 pixels have probably been seen by everyone on the planet, I'm hoping Wikipedia won't miss one copy...

  • Other icons:

    The up and down arrows I found on the web. If your graphics abilities matched mine, you'd know why...