我的名字是 Kumar Shivam。终于,谷歌暑期开源项目 2021 的第一阶段在这里结束了,这个博客是关于我在第一阶段的经验以及我是如何为我的项目做出贡献的。从社区融合到加入 Joomla! 成为开源贡献者的这段时间,我学到了很多东西。
第一天是从管理员和学生的会议开始的,我们通过 Google meet 进行视频会议通话。管理员讨论了如何加入社区,通过贡献和完成在 GSoC 中分配的项目成为其中一部分的想法。
关于项目
管理员-学生会议
社区融合期(5月20日 - 6月6日):在这段时间里,我有机会近距离了解 Joomla! 及其社区规范。我从连接我的导师所在的频道和其他参与 GSoC'21 的学生开始。在社区融合期的这个阶段,我阅读了很多与 Joomla! 最新版本相关的文档,这些文档可以在 Joomla! DOCS 这里找到。这让我对 Joomla! 的开发有了初步的了解。
接下来,我开始测试 Pull 请求,以更好地理解 Joomla! 遵循的编码风格。
thereafter,我正在研究整个 GSoC'21 需要研究的项目想法。我的导师通过讨论项目的想法和实施工作来帮助我。导师还提供了许多关于无障碍性的文档和文章,这有助于我深入理解。
第一周编码期(6月7日 - 6月12日):编码期开始了,我需要通过将所有提交推送到 Github 来处理项目。我与导师讨论了项目任务分配。我被添加到了 Joomla! 无障碍性频道。我分享了测试无障碍功能并对其进行改进的想法。
第一周执行的任务
- 处理 aria 属性和键盘功能。
- 键盘测试和其他无障碍功能测试。
- 在创建一个针对“新建、保存 & 关闭”、“保存 & 新建”和“关闭”的键盘快捷键扩展的想法下工作。
- 为Joomla 4.1设置插件。
第一周以与导师的团队会议结束,他们为我提供了结构文档。
这周遇到的问题是:我需要对Joomla!领域的知识更加精通。
第二周编码期(6月14日 - 6月20日)
编码期的第二周进展顺利,我已经创建了插件的结构。有一个现成的由第三方制作的键盘快捷键插件。我检查了执行情况并浏览了MAC和Windows键盘的功能。
第二周执行的任务
- 在Github中添加了插件的结构
- 为用户实现了几个键盘快捷键(例如:保存、新建、保存 & 关闭)。
- 讨论了MAC用户的键盘快捷键。
- 改进了代码风格。
第二周以与导师的团队会议结束,他们提供了关于改进Joomla!编码标准的反馈。
这周遇到的问题是:我需要更深入地学习JavaScript的概念并保持Joomla!的编码标准。
如何改进:添加了函数并创建了一个键盘快捷键列表。
第三周编码期(6月21日 - 6月26日)
第三周到来,有很多重大变化需要我投入工作,所以这周比其他周更忙。根据最后的提交,我对编码部分不满意,所以我决定升级插件并更高效地改进它。
第三周执行的任务
- 实现了可以从后端执行的新插件。
- 更新了一个新分支并将所有最新的提交推送到Github。
第三周以与导师的团队会议结束,他们建议在键盘快捷键插件中添加一些功能。
这周遇到的问题是:我不了解Joomla!的Web-Assets。
如何改进:我阅读了Joomla Web Assets文档并在代码中实现了所需的内容。
第四周编码期(6月28日 - 7月3日)
第四周充满了激动,因为新的插件是在一个新的分支下创建的,为了给它留下一个好的印象,我必须检查所有所需的功能以获得最佳结果。
第四周执行的任务
- 为特殊键如alt、ctrl、shift等添加了开关。
- 模态弹出的想法诞生了,我将其添加到键盘快捷键组合中。
- 在模态中添加了键捕获组合。
- 添加了“恢复”,它将恢复插件中的所有默认键组合。
第四周以与导师的团队会议结束,并获得了关于实现的反馈。
这周遇到的问题是:在为按钮添加模态窗口时遇到了问题。
如何改进:导师提供了现成的Joomla!模态窗口,我已经为键盘快捷键插件实现了同样的功能。
总的来说,Joomla!社区超出了我的期望,所有优秀的人们都在指导我并一起工作,我每天都在学习和提高自己。