This week’s ChangeLog is a bit different in focus. Instead of the work we’re doing, we want to talk about some of the work our students are doing.
Want to skip the text but see some cool demos? Scroll down!
For over a decade now, we’ve worked with hundreds of CS students eager to get their feet wet in the industry, mentoring them and giving them cool projects in Review Board to explore. Some have turned into features you use today (such as issue tracking and extensions).
There have been multiple programs over the years that we’ve worked with:
- Google Summer of Code
- UCOSP (a Canadian university program we were a part of for many years, now defunct)
- Open Academy (an experimental university program ran out of Stanford, now defunct)
- CANOSP (the phoenix rising out of the ashes of UCOSP, currently focused on the University of Alberta)
We’re currently working with CANOSP, piloting the program and mentoring a small group of students as they build some features and prototypes for Review Board.
We have three students this semester: Adil Malik, Ceegan Hale, and Nicole Hagerman. They’re all working on various projects that improve the review experience:
- Review UIs for XML, JSON, and Jupyter Notebooks
- Hiding the content for minified files in the diff viewer, by default
- Supporting binary files in the diff viewer
These projects are considered prototypes at this stage. We’re hoping they’ll make it into a release sooner rather than later, but a big part of this work is seeing how feasible these ideas are and what sort of work still needs to be solved before rolling it into production.
XML, JSON, and Jupyter Notebook Review UIs
Adil and Nicole are both primarily focused on the Review UIs, working together on some aspects to beef up the Review UI capabilities under the hood.
Adil built a Review UI for XML files (letting you diff the tree structure, and providing options for changing how that tree is rendered). He’s also been working on a Jupyter Notebook Review UI, playing with ideas for how these would be rendered, diffed, commented on, etc.
Hey, if you’re interested in Jupyter Notebooks, he’s looking for feedback.
Nicole built a Review UI for JSON files, the counterpart to the XML Review UI. To allow for custom rendering options required by both, Nicole’s been building out our baseline Review UI support, allowing them to define utility URLs that can, for instance, re-render parts of content based on the toggle of a checkbox. Adil’s been working with her on the client side of this.
Binary Files and Minified Files in the Diff Viewer
Ceegan’s been building out a feature that we’ve been wanting to bring for a long time. Years back, when we first wrote Review UIs, we intended to use them in the diff viewer so that images, PDFs, etc. that are part of commits could be reviewed without having to upload a separate file attachment.
The base of this work existed in Review Board but was never completed. There were still some missing pieces, problems to solve. That’s what Ceegan’s focusing on: Prototyping the rest of this, getting binary files in the diff viewer working so we can see what’s left.
To get his feet wet, Ceegan built another really useful feature that will make web app developers out there happy. Minified files (
*.min.css, etc.) no longer show up as a giant wall of text. Instead, we note to the reviewer that it’s a minifed file and they might not care about it but they can click to see the content. Just like with deleted files.
Throughout the semester, we have our students put together demo videos showing off and talking about their work up to that point. We’ve recently completed the Demo 2 milestone, so we have a nice batch of videos to show off.
All videos are uploaded to our YouTube channel. Subscribe to keep up with content as we upload it.
And here are the videos this semester:
Our students work really hard for their projects, so if you have anything encouraging to say, you’d make their day by saying it on their videos 🙂
We’re hoping to get these in shape to land as part of Review Board 4.0 and 5.0, but it depends on the work that remains once the semester is over.
That’s it for this week, though. If you have any questions, or anything you’re curious about and want us to cover, please reach out on our community forum.