Thanks Yifan for starting this discussion. I'm +1 to the refactoring.

Best Regards,

Chufeng (Eric) Gao


On Sun, Oct 29, 2023 at 9:32 AM 孙一凡 <abzymeins...@gmail.com> wrote:
>
> 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.
>

This is a good point. If the community wants to attract more users,
especially those who use APIs directly without front-end,
we need to decrease the bar for users to use dolphin open APIs.

> 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.
>

IMHO, we could also have a PoC example by refactoring `ProjectController`.

> Thanks.
>
> [1] https://github.com/apache/dolphinscheduler/issues/10257
>
> Best Regards,
>
> Yifan Sun

Reply via email to