-
Notifications
You must be signed in to change notification settings - Fork 83
Roadmap to new Sorting Hat
Santiago Dueñas edited this page Oct 27, 2023
·
4 revisions
Sorting Hat was been used as a command line tool but also as a library. Despite this usage, Sorting Hat was not conceived for the simultaneous access of multiple actors to its data. This causes many problems and produces complex workflows to operate it.
To solve these problems, Sorting Hat will be converted into a web service. This implies many changes in the project. This is a summary of these changes:
- Implement the web service (using Django framework) [done]
- Improve the data model (currently implemented using SQLAlchemy) [done]
- Define an API to access data and execute operations (using GraphQL) [mostly done]
- Implement a basic client library to avoid the usage of wire protocols [done]
- Create a UI web interface based on Hatstall tool [done]
- Automatic affiliation support (https://github.com/chaoss/grimoirelab-sortinghat/issues/292)
- History of changes (https://github.com/chaoss/grimoirelab-sortinghat/issues/145)
- Replace SQLAlchemy ORM by Django ORM (https://github.com/chaoss/grimoirelab-sortinghat/issues/166)
- Implement basic search API using GraphQL (https://github.com/chaoss/grimoirelab-sortinghat/issues/167)
- Implement GraphQL mutations to add/remove organizations and domains (https://github.com/chaoss/grimoirelab-sortinghat/issues/173)
- Implement GraphQL mutations to add/remove identities (https://github.com/chaoss/grimoirelab-sortinghat/issues/178 and https://github.com/chaoss/grimoirelab-sortinghat/issues/179)
- Implement GraphQL mutation to edit a profile identity (https://github.com/chaoss/grimoirelab-sortinghat/issues/184)
- Implement GraphQL mutations to enrol/withdraw identities (https://github.com/chaoss/grimoirelab-sortinghat/issues/185 and https://github.com/chaoss/grimoirelab-sortinghat/issues/186)
- Implement GraphQL mutation to move identities (https://github.com/chaoss/grimoirelab-sortinghat/issues/187)
- Implement GraphQL mutation to merge identities (https://github.com/chaoss/grimoirelab-sortinghat/issues/188)
- Redefine Organizations command line client (https://github.com/chaoss/grimoirelab-sortinghat/issues/174)
- Redefine add command (https://github.com/chaoss/grimoirelab-sortinghat/issues/256)
- Redefine rm command (https://github.com/chaoss/grimoirelab-sortinghat/issues/257)
- Redefine mv command (https://github.com/chaoss/grimoirelab-sortinghat/issues/258)
- Redefine enroll command (https://github.com/chaoss/grimoirelab-sortinghat/issues/259)
- Redefine withdraw command (https://github.com/chaoss/grimoirelab-sortinghat/issues/260)
- Redefine profile command (https://github.com/chaoss/grimoirelab-sortinghat/issues/261)
- Redefine merge command (https://github.com/chaoss/grimoirelab-sortinghat/issues/262)
- Redefine show command (https://github.com/chaoss/grimoirelab-sortinghat/issues/276)
- Add command to lock/unlock identities (https://github.com/chaoss/grimoirelab-sortinghat/issues/274)
- Add command to split unique identities (https://github.com/chaoss/grimoirelab-sortinghat/issues/275)
- Redefine client configuration (https://github.com/chaoss/grimoirelab-sortinghat/issues/281)
- Log command [not supported]
- First UI [done]
- Remaining commands [done]
- Sync command [sync done with other datasources]
- UI improvements [done]
- Release [done]