Project Information:
Project lead: Matthew Goodman
Project mentors: Christian Hammond, Mike Conley, David Trowbridge
Project Start Date: September 17th 2021
Project apart of the CANOSP 2021 Fall Cohort
The Project:
Review Board supports Emoji shortcodes, like :+1:
in any text field. These are similar to what's allowed in Slack or Discord, but are limited to the standard Emoji set.
This project involves allowing custom Emoji to be added on a server. There are three parts:
- The Emoji registry. This would provide a mapping of custom Emoji shortcodes to Emoji information (title and image path). If given a
LocalSite
instance, it would access these Emoji from local_site.extra_data['custom_emoji']
. Otherwise, it'll come from the SiteConfiguration
's (global Review Board settings's) settings['custom_emoji']
- The Emoji configuration UI. This would live in the Admin UI as Emoji Settings. Administrators could define the new emoji here, storing it in the
SiteConfiguration
.
- Support for choosing the right emoji in Markdown. We use "pymdown-extensions" to provide Emoji shortcodes. You'd be defining new "Emoji Indexes" and "Emoji Generators" that piggy-back on default functionality, but also look up emoji shortcodes in the Emoji registry. See https://facelessuser.github.io/pymdown-extensions/extensions/emoji/#custom-emoji-indexes
Customer Benefit:
- Review Board reviewers will be able to add Emojis to any text field via a UI Emoji Picker instead of shortcodes
- Shortcodes will still be supported
- Review Board administrator will be able to add custom emojis for their users to use on their own hosted version of Review Board via their administrative dashboard
- With the Reactions to comments and review requests project, customers will be able to leave Emojis as reactions to comments on review requests
Tasks & Goals (in order):
- Create an Emoji registry
- Create wrapper for current Emoji extension where Custom Emoji's can be added in the future under a 'Custom' category
- This emoji registry will map shortcodes to Emoji information
- Create Emoji Picker UI popup where users can select emojis to add to a textbox (or reaction in the Emoji Reactions project) with emojis from registry. These can be organized into categories as defined in the emoji set.
Examples of Emojis that will be stored in the registry. The above