Hello developers,
We have noticed that current Apis of Apache DolphinScheduler are not
convenient to use and
there have been dozens of users (including users from North America, as we
have seen them ask questions in slack channel about Dolphin Apis)
attempting to use Dolphin Apis without front-end, but only to find
themselves consistently getting into troubles.
In order to make Dolphin more user-friendly and competitive around the
world, we suggest moving DolphinScheduler Api V2 forward.
Here are the main purpose of coming issue
- Clarifying the specification of api layer development that everyone
keep in mind and follow in action
- Performing an incremental refactoring on the whole api layer
- Refining api doc generation and distribution pipeline
And the working process may roughly include
- Specification of api layer development should be proposed, carefully
discussed, and finally aligned among project contributors, including
- Resource definition and relationship
- CRUD operation input and output
- Naming conventions
- Versioning and Lifecycle
- Error Code and Message
- The first stage of backend dev, until every core module is covered,
including
- project
- process definition/process instance
- task definition/task instance
- Followed by ui service refactoring
- The second stage of backend dev, util every module is covered
- Refining api doc generation and distribution pipeline, which may
finally be conforming with OpenApi specification instead of Swagger
AFAIK, DISP-7[1] has proposed api refactoring. However, there are several
details not covered. From my perspective, we could have more discussions
before continuing the previous work. BTW, credits to Zihao for bringing up
this issue : )
Above all, this is just a discussion. I will give a more specific proposal
with a linked GitHub issue once the discussion closed.
Thanks.
[1] https://github.com/apache/dolphinscheduler/issues/10257
Best Regards,
Yifan Sun