Joomla Google Summer of Code 2019

大家好!第二阶段已经完成,我将介绍这段时间取得的进展。

关于项目

正如我在第一篇博客文章中所说,Joomla中的Web服务是一个API层,帮助第三方开发者与Joomla网站合作。这将能够进一步发展Joomla CMS。

目前,以下组件被Web服务覆盖

  • com_banners
  • com_categories
  • com_config
  • com_contact
  • com_content
  • com_fields (NEW)
  • com_installer (NEW)
  • com_languages (NEW)
  • com_menus (NEW)
  • com_messages (NEW)
  • com_newsfeeds
  • com_plugins
  • com_privacy
  • com_redirect (NEW)

还有很多有趣的工作要做,我们需要实现计划中的剩余组件,用测试覆盖Web服务,并创建文档,但首先要做的是首要任务。

在过去的一个月中,以下工作已完成。
我实现了复杂的组件,如

  • com_fields现在使用API,您可以为文章、联系人、用户创建字段,当您请求每个对象时,这些字段都会显示。
  • com_languages使用这个组件,您现在可以在Joomla中安装语言,将两种不同语言的文章相互关联。您还可以创建和删除用于覆盖基本常量的常量。

我在这些组件上遇到一些困难,因为有很多工作与其他组件相交,特别是com_content,这仍然需要改进抽象和总体逻辑。
此外,在com_languages中覆盖常量时也有一些复杂性,因为它与文件系统交互。

我实现了简单的CRUD组件

  • com_messages
  • com_redirect
  • com_menus(仅CRUD)

您可以在这个视频中看到网络服务部分的工作

下一步行动

完成com_menus组件的工作是必要的,这也是一个复杂的组件,因为菜单项的类型可以是不同的:文章、标签、联系人、用户等。主要困难因此产生。

在接下来的一个月中,计划编写Joomla网络服务的文档。这是项目非常重要的一部分,因为文档将帮助第三方开发者了解API。

如果能有时间覆盖整个API层测试那就更好了。这将有助于发现可能的错误和问题,并加快未来的开发。

个人结论

第二阶段很激动人心。首先,我对Joomla CMS有了更深入的了解,这让我能够更快地开发新的组件。其次,第二阶段的任务更加复杂,也更有趣。

第三阶段非常重要,您需要有时间完成开发并将所有内容整合到一个完整的代码中,包括文档和测试 - 这将创建一个完整的Joomla网络服务产品!