Blame View

Last modified by Vincent Massol on 2022/02/25 09:25

Estimated workload

2 months


A blame view is applied to a specific version of a document (or more generically, some content) and displays which user is responsible for introducing or modifying each section (paragraph/line/word, depends on the granularity) of that content. An example of this can be GitHub`s blame view.

Since 2014 we have a nice Blame Module extension (source code) which is able to provide all the needed information (an analogous of the git blame command, if you like).

What we still need, however, is to create a nice UI over the outputs of the blame module and to integrate it in the history view. You can consider the previously mentioned GitHub blame UI as s starting point, but you are most welcomed (and encouraged) to propose improvements that might be more adapted to XWiki's use case.

Since this is mostly an UI project, your proposal will also need to feature UI mockups on how you plan for the UI to look and justifications for the design choices you`ve made in the attempt of making your result intuitive and easy to use. You could even propose more than one direction, showing pros and cons, etc.

Remember that this is supposed to be a feature used mostly by non-technical persons, so it might need a bit more thinking about it.

As with all projects, this would have to be packaged and published as an extension on so you will also need to think about how it would be the best way of integrating the extension in XWiki's UI, once installed, so that it becomes useful in day to day use, and not just something optional that nobody will discover or use.

Getting this project right has a high chance of it making it into the XWiki product itself, since it is a feature that we've wanted to have in XWiki for a long time.

Developer profile

Since this would be about creating the UI, we`re looking for a student interested in front-end that is:

  • Comfortable with web technologies: HTML/CSS
  • Familiar with working with a templating engine (e.g. PHP)
    • Familiar with Apache Velocity would be a big plus
  • Not afraid of JavaScript
  • Acquainted with Java (not required, but a plus)




Get Connected