Review Board


I decided to try out Review Board. I was happy to find a deployment using Docker. Even better, the docker compose file lists instructions for starting the whole thing. As a result, it just took a couple of minutes and I got my instance running. Sweet!

With the instance to log in, there was a last step, log in. It seems there is an “admin” user, but what is the password? I searched the Docker compose logs and found this:

rb-site install --noinput --copy-media --admin-email=admin@example.com --admin-password=admin --admin-user=admin --allowed-host=127.0.0.1 --cache-info=memcached:11211 --cache-type=memcached '--company=My Reviewboard' --db-host=db --db-name=reviewboard --db-user=reviewboard --db-pass=reviewboard123 --db-type=postgresql --domain-name=localhost --web-server-port=80 --web-server-type=apache /site

So, the password for “admin” should be “admin”.

Unfortunately, when I try to log in, I get Forbidden 403. Looking again at the logs:

reviewboard-1  | 2024-11-15 20:31:56,233 - WARNING - None - AnonymousUser - /account/login/ - django.security.csrf - Forbidden (Origin checking failed - http://localhost:9010 does not match any trusted origins.): /account/login/

There is a domain option in the configuration. Maybe I need to include the port as well.

Time to stop the container, update configuration, and re-run. The docker compose down -v should take care of this. Nope, setting domain to localhost:9010 does not work at all.

Last chance, use port 80, and .. it works. It is not what I would like it to be, but should be good enough for initial testing. I may need to look more into django.security.csrf to support running with a non-default port.

It seems that I can create a review. Add files to the review, add reviewer. I can add comments on the lines of the uploaded files. Once published, I can see the review even without being logged in.

There is another part of the Review Board tool called RBTools. It is a command line tool to allow for easy of of Review Board. There is even best-practice guideline for use with Git.

After about 10 minutes of using the Review Board, I got my first impression.

What I liked:

Where I see misalignment with my expectations:

Overall, the project is interesting, and I can see the benefits of using it. On the other hand, there is a learning curve and best practices to follow. The main issues are access control and the lack of an IDE-like environment. While the first may be fixed by reading documentation, the second one may be a design choice. The thing is that the Review board is designed to be able to review almost anything. As a result, it is not a perfect fit for my use-case of reviewing software artifacts. With that said, I would not hesitate to revisit Review Boards in the future should I need a review tool.