feature_matrix.md

  1# User facing capabilities
  2
  3This document tries to give an overview of what is currently supported, and by extension where effort can be focused to bring feature completion and parity.
  4
  5As git-bug is a free software project, accept and rely on contributor, those feature matrices kinda define a roadmap, in the sense than anything mentioned below is a planned feature and can be worked on. This does not mean that a feature not mentioned here should not be considered, just maybe check the issue tracker and come talk about it.
  6
  7This document however does not show all the untold work required to support those user-facing capabilities. There has been a ton of work behind the scene and more will be required over time.
  8
  9✅: working  🟠: partial implementation  ❌: not working
 10
 11## Entities
 12
 13The most high level overview of what kind of entities are supported and where.
 14
 15|              | Core | CLI | TermUI | WebUI |
 16|--------------|:----:|:---:|:------:|:-----:|
 17| Identities   |  ✅   |  ✅  |   ✅    |   ✅   |
 18| Bug          |  ✅   |  ✅  |   ✅    |   ✅   |
 19| Board        |  🟠  | 🟠  |   ❌    |   ❌   |
 20| Pull-request |  ❌   |  ❌  |   ❌    |   ❌   |
 21
 22More specific features across the board.
 23
 24|                    | Core | CLI | TermUI | WebUI |
 25|--------------------|:----:|:---:|:------:|:-----:|
 26| Media embedding    |  🟠  |  ❌  |   ❌    |   ❌   |
 27| Fast indexing      |  ✅   |  ✅  |   ✅    |   ✅   |
 28| Markdown rendering | N/A  |  ❌  |   ❌    |   ✅   |
 29
 30#### Identities
 31
 32|                         | Core | CLI | TermUI | WebUI |
 33|-------------------------|:----:|:---:|:------:|:-----:|
 34| Public keys             |  🟠  |  ❌  |   ❌    |   ❌   |
 35| Private keys management |  🟠  |  ❌  |   ❌    |   ❌   |
 36| Identity edition        |  ✅   |  ✅  |   ❌    |   ❌   |
 37| Identity adoption       |  ✅   |  ✅  |   ❌    |   ❌   |
 38| Identity protection     |  🟠  |  ❌  |   ❌    |   ❌   |
 39
 40#### Bugs
 41
 42|                   | Core | CLI | TermUI | WebUI |
 43|-------------------|:----:|:---:|:------:|:-----:|
 44| Comments          |  ✅   |  ✅  |   ✅    |   ✅   |
 45| Comments edition  |  ✅   |  ✅  |   ✅    |   ✅   |
 46| Comments deletion |  ✅   |  ❌  |   ❌    |   ❌   |
 47| Labels            |  ✅   |  ✅  |   ✅    |   ✅   |
 48| Status            |  ✅   |  ✅  |   ✅    |   ✅   |
 49| Title edition     |  ✅   |  ✅  |   ✅    |   ✅   |
 50| Assignee          |  ❌   |  ❌  |   ❌    |   ❌   |
 51| Milestone         |  ❌   |  ❌  |   ❌    |   ❌   |
 52 
 53
 54## Bridges
 55
 56### Importers
 57
 58General capabilities of importers:
 59
 60|                                                 | Github | Gitlab | Jira | Launchpad |
 61|-------------------------------------------------|:------:|:------:|:----:|:---------:|
 62| **incremental**<br/>(can import more than once) |   ✅    |   ✅    |  ✅   |     ❌     |
 63| **with resume**<br/>(download only new data)    |   ✅    |   ✅    |  ✅   |     ❌     |
 64| **media/files**                                 |   ❌    |   ❌    |  ❌   |     ❌     |
 65| **automated test suite**                        |   ✅    |   ✅    |  ❌   |     ❌     |
 66
 67Identity support:
 68
 69|                   | Github | Gitlab | Jira | Launchpad |
 70|-------------------|:------:|:------:|:----:|:---------:|
 71| **identities**    |   ✅    |   ✅    |  ✅   |     ✅     |
 72| identities update |   ❌    |   ❌    |  ❌   |     ❌     |
 73| public keys       |   ❌    |   ❌    |  ❌   |     ❌     |
 74
 75Bug support:
 76
 77|                  | Github | Gitlab | Jira | Launchpad |
 78|------------------|:------:|:------:|:----:|:---------:|
 79| **bug**          |   ✅    |   ✅    |  ✅   |     ✅     |
 80| comments         |   ✅    |   ✅    |  ✅   |     ✅     |
 81| comment editions |   ✅    |   ❌    |  ✅   |     ❌     |
 82| labels           |   ✅    |   ✅    |  ✅   |     ❌     |
 83| status           |   ✅    |   ✅    |  ✅   |     ❌     |
 84| title edition    |   ✅    |   ✅    |  ✅   |     ❌     |
 85| Assignee         |   ❌    |   ❌    |  ❌   |     ❌     |
 86| Milestone        |   ❌    |   ❌    |  ❌   |     ❌     |
 87
 88Board support:
 89
 90|           | Github | Gitlab | Jira | Launchpad |
 91|-----------|:------:|:------:|:----:|:---------:|
 92| **board** |   ❌    |   ❌    |  ❌   |     ❌     |
 93
 94### Exporters
 95
 96**General capabilities of exporters**:
 97
 98|                                                 | Github | Gitlab | Jira | 
 99|-------------------------------------------------|:------:|:------:|:----:|
100| **incremental**<br/>(can export more than once) |   ✅    |   ✅    |  ✅   |
101| **with resume**<br/>(upload only new data)      |   ✅    |   ✅    |  ✅   |
102| **automated test suite**                        |   ✅    |   ✅    |  ❌   |
103
104**Identity support**:
105
106|                   | Github | Gitlab | Jira |         
107|-------------------|:------:|:------:|:----:|
108| **identities**    |   ✅    |   ✅    |  ✅   |
109| identities update |   ❌    |   ❌    |  ❌   |
110
111Note: as the target bug tracker require accounts and credentials, there is only so much that an exporter can do about identities. A bridge should be able to load and use credentials for multiple remote account, but when  they are not available, the corresponding changes can't be replicated.
112
113**Bug support**:
114
115|                  | Github | Gitlab | Jira |         
116|------------------|:------:|:------:|:----:|
117| **bugs**         |   ✅    |   ✅    |  ✅   |
118| comments         |   ✅    |   ✅    |  ✅   |
119| comment editions |   ✅    |   ✅    |  ✅   |
120| labels           |   ✅    |   ✅    |  ✅   |
121| status           |   ✅    |   ✅    |  ✅   |
122| title edition    |   ✅    |   ✅    |  ✅   |
123| Assignee         |   ❌    |   ❌    |  ❌   |
124| Milestone        |   ❌    |   ❌    |  ❌   |