Expand the Joomla Extension Manager with Nuno Lopes

扩展管理器项目介绍

我们的项目旨在改善用户在 Joomla CMS 管理扩展的体验,并为开发者在开发他们的组件时提供更好的支持。

这个项目包括几个用于改进扩展管理器的特性

  • 显示更新(安装前或安装后)的更新日志
    使用这个特性,用户可以查看当前扩展的更新日志和相同扩展更新的更新日志
  • 编辑更新站点的选项
    目前,你只能发布和取消发布、删除更新站点,使用这个特性,用户还可以修改更新站点的 URL。
  • 第三方扩展的数据库修复
    目前,Joomla CMS 只提供核心数据库的修复,使用这个特性,用户还可以纠正其他扩展。
  • 添加一个字段来输入更新/下载密钥,并有一个地方来管理它们
    目前,没有为带有更新/下载密钥的扩展提供用户界面。这个特性的想法是引入一个新的部分,你可以在其中管理所有更新/下载密钥。这个列表还应该有一个列显示密钥的到期日期和续订 URL。
  • 扩展的校验和
    • 目前,在安装扩展或更新的过程中,没有方法可以检测到在传输过程中可能引入的错误或修改,当从更新站点下载文件时。这个特性的主要目标是添加一个方法来确认只下载和安装了原始文件,降低安装损坏的软件包或获取可能危及用户网站的感染文件的风险。这是所有特性中最重要和最困难的一个,它将是最后一个实现的特性。
    • 讨论过的最佳选项是与我的导师商定的,在清单文件中添加一个链接到开发者的服务器上的哈希/校验和,当返回时,我们会将其与我们之前解压文件前创建的哈希进行比较。如果结果为负,则应显示一个警告,以供用户决定是否继续,但还需要进一步研究如何实现这一点,并在会议中与导师继续讨论。

到目前为止取得的进展

目前,“显示更改日志”和“编辑更新站点”功能几乎已经完成

显示更改日志

Extension Overview with Changelog feature
View a Changelog

编辑更新站点

Joomla Extension Update sites
Joomla Extension Edit Update site

在项目的当前阶段,我们正在编写关于这些功能的技术笔记,以供核心团队审查,并确认这些功能的最终提交。

这些功能已经可以正常使用,你可以在我的GitHub仓库中查看,每个功能都有专门的分支
https://github.com/NunoLopes96/gsoc17_expand_extension_manager

到目前为止的个人经历

目前,由于我正处于考试期间,时间上有些困难。此外,我还有很多工作要交付,所以我并不是每天工作8小时在我的项目上,但我正试图管理我的时间来处理所有的事情(会议、编码会话、考试、工作交付、家庭)。一切都在按照项目进度进行。下个月,我将完全投入到这个项目。我喜欢与Joomla一起工作。我的专业没有提供任何网页开发课程,所以我在这里学到了很多,我的导师非常友好,他们很有帮助,我对这次独特的体验感到非常满意。

接下来要做的事情

还有3个功能尚未完成(第三方扩展的数据库修复、添加输入更新/下载密钥的字段以及管理它们的地方、扩展的校验和),并且还需要对这些功能进行大量研究,以及修改文档、技术笔记和博客文章,以成功完成Google Summer of Code。