迈克尔·巴布克的访谈
迈克尔·巴布克专注于基于 Joomla 的开发,并致力于开源项目已有超过四年时间。他曾是生产领导团队的活跃成员,现在作为志愿者从事 CMS Joomla 代码开发。我很高兴能就与任何开发者都感兴趣的技术特性和整个开发过程向他提问。
我希望看到 Joomla 继续与互联网的其他部分一起成长和发展,甚至为其他平台铺平道路,使它们能够自然地向前发展。
-迈克尔·巴布克
迈克尔,多年来你一直参与网页开发和志愿者活动。你最初是计划从事开源工作的吗?还是这一切都是偶然发生的?
这一切都是偶然的。我最初在信息技术行业工作,在企业环境中担任系统管理员,这意味着我大量使用微软资源。直到2010年开始使用 Joomla,我才真正开始沉浸在开源社区中。
请告诉我们如何将严肃的截止日期与开源的自愿性状态和志愿者工作相结合,团队成员在业余时间贡献自己的力量?
这完全取决于软件项目和围绕它的社区。仅仅因为某物是开源的,并不意味着它完全由志愿者支持。Joomla 是我想到的最大的例子之一,实际上它完全由志愿者支持,这在长期规划方面确实带来很多挑战。就我们的发布计划而言,我们通常评估已经提交的代码和想要在版本中完成的目标,并尝试从这个时间表进行评估,但如果时间表未能实现,就无法对任何人负责。总的来说,我认为 Joomla 可以在衡量时间表和设定合理目标方面做得更好,以减少时间表延误的感知问题。
就您而言,Joomla 现在已经为初学者和开发者建立了良好的基础设施。为了使 Joomla 对第三方开发者更具吸引力,您认为还需要哪些方面?
灵活性和现代化。开发者应该能够将他们已经熟悉的工具集成到Joomla中,并在他们的项目中相对容易地使用Joomla提供的有力工具集。在某种程度上,Joomla通过将过去十年支持CMS的代码抽象成可独立使用的包(而不仅仅局限于Joomla CMS)的形式,已经实现了其承诺,这就是Joomla! 框架。现在,开发者可以将Joomla的数据库API或我们的GitHub API包集成到他们基于WordPress或Symfony构建的项目中。
就现代化而言,我们应该关注CMS的某些领域,使其更容易构建“下一代应用程序”。在过去几年中,一些经常被提及的术语是RESTful API和Web服务,这两者对Joomla的未来发展至关重要。许多网站虽然仍然专注于内容展示,但也正在构建API,并允许用户从其网站上获取数据。虽然这可以用Joomla实现,但并不容易。我认为,通过使平台能够支持这些数据共享方式,将有助于Joomla的发展。
CMS已经采用了第三方供应商的代码。CMS的哪些部分可能被切换到他们那里?
Joomla一直在其合理的地方使用第三方代码,我们正在继续这样做。在过去几年中发生的最大变化之一是采用第三方表示库Bootstrap。Joomla已经在幕后使用PHPMailer和SimplePie XML库很长时间。通过框架,我们使引入可能适合您正在从事的项目所需工具变得更加容易,这样您就不必使用Joomla的选项(尽管我们完全希望您这样做!)或自己编写它。在CMS中,这使我们能够更加专注于我们的代码库,而无需维护某些库的自身版本。这只是我的观点,但我可以想象,在4.0版中,Joomla的日志记录和会话处理代码可能会被第三方代码替换,但考虑到那还很长的时间,这只是一个想法。
Joomla 3.4将集成Composer。CMS是否会因为这一点而在开发者中受到欢迎?
坦白说,这一变化不会产生太大影响。它立即使我们的项目能够更容易地管理第三方依赖项(而不是从源代码库复制他们的代码并试图将其纳入我们的结构中,我们让Composer为我们做这件事)并为开发者提供了一个API,使他们能够更容易地将其他工具集成到Joomla中。
某些第三方扩展可能通过在.htaccess文件中添加规则来提高Joomla的安全性,避免XSS攻击或通过插件阻止扫描等。是否有计划在Joomla发行版中包含类似的解决方案?
Joomla核心发行版必须支持各种配置和环境,而并非所有扩展的资源都服务于相同的通用目的。例如,Joomla支持Apache、IIS和Nginx作为Web服务器,因此我们无法引入在这些环境中破坏代码。这也是Joomla强大和灵活的部分原因;扩展开发者可以创建更适合特定环境和配置的产品,并执行Joomla可能无法直接执行的操作。当然,我们始终关注周围发生的事情,并不断改进我们的安全实践和默认配置,以提供最好的产品。
Joomla传统上在教育和政府领域表现强劲。您是否计划实施一些新功能,以便网站管理员使用标准工具构建内部资源或增强前端用户功能?
除了更新检查(可以禁用)之外,Joomla今天仍然可以在内网环境中运行得很好,并且与世界其他地方断开连接。讽刺的是,我的第一次Joomla体验是在一个内网设置中。至于前端功能,我们一直致力于改进用户可以做的事情,这可以从我们最近几次的版本中看到。3.2版本在前端引入了有限的系统配置和模板配置视图,3.4版本将把前端模块编辑功能带给用户。这还加上我们核心组件现有的前端内容编辑功能。
生产领导团队计划何时完成从CMS中移除所有Mootools包含?
这在我们社区中已经进行了一段时间的工作,并且继续是关注的焦点。目前还没有明确的截止时间,但正如去年所展示的,它已经成为我们发布中的重点。我们现在只剩下少数几个依赖于Mootools的脚本,这些脚本转换起来更困难。由于它们也有公开的API,根据我们的开发策略,在该API中必须有向后兼容性。最早,Mootools将在4.0版本中完全弃用。
多年来,很多人要求将基本CCK包含到J!的核心功能中。这个主题被讨论过吗?
在某种程度上,您可以通过我们的插件系统在内网的CMS中包含类似CCK的基本功能。我认为将完整的CCK功能包含到Joomla中不是一个好主意,这不是大多数网站管理员在他们的安装中需要的资源。此外,真正的CCK在代码维护方面具有很高的维护成本,会给我们的代码增加很多复杂性。在某种程度上,我们开始构建类似API的CCK,称之为UCM(统一内容模型),但我认为这个顶级API应该就是Joomla核心的极限,而扩展开发者应该扩展这个API来添加他们的功能
一些核心组件(联系信息、网站链接)很快将从Joomla中移除。我们可以期待看到新的组件吗,或者主要的目标是只提供Joomla必要的扩展,并允许用户通过第三方扩展来扩展网站功能吗?
一个目标是将CMS模块化,以使管理员更容易管理他们的网站,并且只包括所需的组件。现在的计划不是向CMS添加新的扩展,而是将CMS分解成更小的组件,可以单独更新,或者如果您不使用它们,甚至可以卸载。主要发行版将继续提供即插即用的工具,其中一种情况是,如果您使用K2等扩展,您有一天可以完全删除com_content。
由于PLT资源有限,无法控制一切,如何刺激第三方开发者在他们的产品中提供更好的代码?
PLT与第三方扩展的编写无关,我们所能做的就是为开发者提供一个稳定的API来构建,并建议他们遵循的最佳实践。《JED团队》(https://extensions.joomla.net.cn/about-the-jed-team)实际上有一个简单的质量控制流程,检查扩展代码中的某些内容,因此我们对扩展在目录中列出有一些基本的检查,但实际的代码结构由扩展开发者决定。Joomla的伟大之处在于代码有很大的灵活性,这使得开发者能够以不同的方式构建扩展(并引入如框架在框架上这样的资源),我们不应该通过要求所有开发者始终遵循“Joomla方式”来限制这种灵活性,因为这实际上只会伤害开发者和我们的生态系统。
Bug Tracker工作得真的很好,还是您希望看到Joomla社区有更多的反应?那么非英语使用者的社区呢?
目前还很难说新的问题跟踪器如何改变了事情。我们对跟踪器设定了几个目标,包括将我们的代码和问题系统恢复到一个位置(所有问题都通过GitHub记录,我们的跟踪器只是扩展它),改善与非英语用户的互动(界面目前翻译成15种不同的语言,唯一的限制是我们要求问题和评论提交仍然是英文),以及提高问题跟踪器的实用性。跟踪器的未来开发路线图在https://developer.joomla.net.cn/tracker/roadmap.html上,概述了我们的网站扩展计划。这包括恢复我们在开发者网站上发布的使用者活动图表,并将想法池整合到问题跟踪器中。最后,自志愿者门户在《Joomla!世界大会》期间启动以来,有几条关于通过某种形式的API将两个网站整合的建议,我认为这很有趣,可以完成。
Michael,如果你没有错的话,你是一个热衷于旅行的旅行者。你是否会将旅行与Joomla活动结合起来?
我非常喜欢旅行和体验不同的文化。我的上一次旅行是去Joomla世界大会,这是我第一次访问墨西哥。总的来说,我在近十个国家留下了足迹,并计划明年访问新的国家。与Joomla旅行只使我做到了这一点;我可以看到世界各地的不同地方,遇见我可能不会在线或亲自遇见的人。
你对2014年的Joomla世界大会有什么印象?
我在michaels.website/blog/jselfie-joomler-and-joomlaheart-my-jwc-experience上写了一篇关于它的博客,但简而言之,它并不是我进入活动时所期望的,我个人在活动中有相当积极的体验,我很高兴参加了。
好了,我们差不多结束了。Michael,非常感谢你有趣的对话。最后的话留给社区。
在PLT的过去几年里,虽然压力很大,但也是我最喜欢的参与项目的几年,我很高兴我能在那个角色中做得很好。退出一个角色永远不会容易,但这样做将让我有时间放松,帮助我重新集中精力,更有效地贡献我的时间。Joomla作为一个不断发展的软件平台,还有很大的改进空间,我希望Joomla能够继续与互联网的其他部分一起成长和发展,甚至为其他平台铺平前进的道路。
《Joomla社区杂志》上发布的一些文章代表了作者在特定主题上的个人观点或经验,可能并不与Joomla项目的官方立场一致
通过接受,您将访问由 https://magazine.joomla.net.cn/ 外部的第三方提供的服务
评论