暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GSoC谷歌编程之夏2025招募中,DolphinScheduler需要你的提案!

海豚调度 2025-04-02
104

点击蓝字



关注我们

GSoC谷歌编程之夏活动火热进行中!今年,Apache DolphinScheduler项目也依然参与其中,设立了有趣且有挑战性的项目任务,与通用OIDC认证有关。欢迎有才华的你们来挑战!

1

GSoC的起源与目的

GSoC 即 Google Summer of Code(谷歌编程之夏),是谷歌公司发起的一项全球性活动,旨在鼓励学生参与开源软件项目的开发。GSoC 始于 2005 年,最初是谷歌为了促进开源社区的发展,鼓励更多学生投身于开源软件的开发和创新而设立的项目。通过该项目,谷歌希望能够为开源世界注入新鲜血液,让学生们在实践中提升技术能力,同时也为开源项目带来新的思路和贡献。

2

参与条件

  • 您必须年满18周岁才能注册(学生、已参加工作都可以)
  • 您未曾多次被接受为GSoC贡献者/学生。

3

丰厚奖金

如果有幸参与进来,您将获得相关证书与奖金(实际以 Google 发放为准)。

4

提案征集:增强DolphinScheduler

的通用OIDC认证

项目链接https://issues.apache.org/jira/browse/GSOC-284
GitHub:https://github.com/apache/dolphinscheduler


5

背景

Apache DolphinScheduler 是一个分布式、可扩展的工作流调度平台,旨在编排复杂的数据处理任务。它提供了一个用户友好的界面,用于定义、调度和监控工作流,从而简化数据管道的管理和自动化。DolphinScheduler 支持多种任务类型,包括 Shell 脚本、SQL 查询和自定义脚本,并与流行的大数据生态系统无缝集成。

目前,Apache DolphinScheduler 系统支持密码登录、LDAP、Casdoor SSO 和 OAuth 登录。然而,作为一个数据平台,它经常需要与企业内部用户账户集成,以实现统一身份认证,这是确保系统安全性和用户账户统一管理的关键。

现有的 Casdoor 实现对 Casdoor 项目依赖性较高,而 OAuth 实现缺乏通用性和灵活性。

6

目标

实现更通用的 OIDC(OpenID Connect)登录认证机制,使用户能够更好地利用统一登录认证。此外,诸如 Dexidp、Keycloak 和 OAuthProxy 等流行的开源登录认证项目均支持 OIDC。通过支持 OIDC,用户可以集成企业内部和第三方登录认证方式,例如飞书登录和企业微信登录。

7

具体功能实现

  1. 对 Apache DolphinScheduler 进行实验和测试,以全面理解其当前功能。
  2. 实现并支持更通用的 OIDC(OpenID Connect)登录认证机制。
  3. 编写相应的端到端(E2E)测试用例。
  4. 编写第三方登录集成的相关文档,包括 Keycloak、Dexidp、OAuthProxy,以及飞书登录和企业微信登录。
  5. 优化 Apache DolphinScheduler 登录页面的 UI。
  6. 在增强功能的过程中,确保与 Apache DolphinScheduler 现有功能兼容。

8

相关技能要求

  • 熟练掌握 Java 开发。
  • 具备现代前端技术和框架的开发经验。
  • 精通 Spring Boot 开发。
  • 深入理解 OIDC 和 OAuth2 协议。
  • 对开源项目充满兴趣,并具有较强的学习和适应能力。


9

项目规模

  • 难度:中等
  • 项目规模:约 150 小时(中等)

10

联系导师

如果您有意向可邮件发送给导师,带上您的方案和想法。

  • Gallardot
    ,Apache DolphinScheduler Committer,邮箱:gallardot@apache.org
  • SbloodyS
    ,Apache DolphinScheduler PMCMember,邮箱:zihaoxiang@apache.org


11

学习资料

  • Apache DolphinScheduler 主页:https://dolphinscheduler.apache.org
  • Apache DolphinScheduler GitHub 仓库:https://github.com/apache/dolphinscheduler
  • Spring OAuth 2.0 Client 文档:https://docs.spring.io/spring-security/reference/reactive/oauth2/client/index.html
  • pac4j OIDC 文档:https://www.pac4j.org/docs/clients/openid-connect.html
  • OIDC(OpenID Connect)官方文档:https://openid.net/developers/how-connect-works/


12

提案入选Tips

有意向的选手该怎么做才能提高被选为 GSoC 贡献者的几率?下面是几条tips:

  1. 在组织名单公布后,请访问计划网站查看这些组织,并找到几个您感兴趣的组织。
  2. 仔细阅读这些组织的“项目想法”列表。
  3. 如果您看到了感兴趣的想法,请通过组织的首选沟通方式(列在 GSoC 网站上的组织页面上)与该组织联系。
  4. 与导师和社区成员沟通,确定这个项目想法是否是你在该计划期间乐于着手实施的。如果您所做的不是自己感兴趣的事情,那么对您和您的导师来说,这将不会是一个愉快的暑假。
  5. 在与导师和其他组织社区成员沟通期间,您获得了一些信息,请利用这些信息撰写提案。
  6. 请尽早提交提案,以便导师有时间提供反馈。您需要有时间根据他们的反馈进行修改,并在截止日期之前重新提交。请勿等到最后一刻才提交提案!


13

2025年Google编程之夏时间轴

所有时间均为世界协调时间(UTC)

  1. 1月27日 - 18:00:导师组织可以开始向Google提交申请。
  2. 2月11日 - 18:00:导师组织申请截止日期。
  3. 2月11日至26日:Google计划管理员审核组织申请。
  4. 2月27日 - 18:00:发布已获批准的导师组织列表。
  5. 2月27日至3月24日:潜在的GSoC贡献者与指导组织讨论提案想法。
  6. 3月24日 - 18:00:开始接受Google全球服务学习贡献者(即GSoC贡献者)申请。
  7. 4月8日 - 18:00:GSoC贡献者申请截止日期。
  8. 4月29日 - 18:00:组织管理员需要确定GSoC贡献者提案排名。
  9. 5月8日 - 18:00:公布已接受的GSoC贡献者项目。
  10. 5月8日至6月1日:社区互动期。参与Google开放式项目贡献者(GSoC贡献者)结识导师、阅读文档,了解相关信息,为开始项目工作做准备。
  11. 6月2日:正式开始编码!
  12. 7月14日 - 18:00:导师和Google开放式项目贡献者可以开始提交中期评估(适用于标准12周编程项目)。
  13. 7月18日 - 18:00:中期评估截止日期(标准编码周期)。
  14. 7月14日至8月25日:工作阶段。在导师的指导下,GSoC贡献者开展项目。
  15. 8月25日至9月1日 - 18:00:最后一周。GSoC贡献者提交最终成果和最终导师评估(标准编码周期)。
  16. 9月1日至8日 - 18:00:导师提交最终的GSoC贡献者评估结果(标准编码周期)。
  17. 9月1日至11月9日:有延长时间表的GSoC贡献者可以继续编码。
  18. 11月10日 - 18:00:所有Google开放式课程贡献者提交最终成果和最终评估的截止日期。
  19. 11月17日 - 18:00:导师针对延长截止日期的GSoC贡献者项目提交评估的最终日期 。
  • 附:Google 编程之夏常见问题解答
    https://developers.google.com/open-source/gsoc/faq?hl=zh-cn




用户案例



每日互动 惠生工程  作业帮 博世智驾

蔚来汽车 长城汽车集度长安汽车
思科网讯食行生鲜联通医疗联想
新网银行唯品富邦消费金融 
自如有赞伊利当贝大数据
珍岛集团传智教育Bigo
YY直播  三合一太美医疗
Cisco Webex兴业证券




迁移实战



Azkaban   Ooize(当贝迁移案例)
Airflow (有赞迁移案例)
Air2phin(迁移工具)
Airflow迁移实践



发版消息




Apache DolphinScheduler 3.2.2版本正式发布!
Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
Apache DolphinScheduler 3.1.9 版本发布:提升系统的稳定性和性能




加入社区



关注社区的方式有很多:

  • GitHub: https://github.com/apache/dolphinscheduler
  • 官网:https://dolphinscheduler.apache.org/en-us
  • 订阅开发者邮件:dev@dolphinscheduler@apache.org
  • X.com:@DolphinSchedule
  • YouTube:https://www.youtube.com/@apachedolphinscheduler
  • Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。

📂非代码方式包括:

完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。

👩‍💻代码方式包括:

查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

如果你❤️小海豚,就来为我点亮Star吧!

https://github.com/apache/dolphinscheduler


你的好友秀秀子拍了拍你

并请你帮她点一下“分享”

文章转载自海豚调度,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论