与竞争对手并肩工作
Stephen Brandon 和 Peter van Westen 并不是一个很可能一起工作的搭档。事实上,MetaMod Pro 和高级模块管理器的作者最好被描述为友好的竞争对手。然而,当用户在使用这两个产品时遇到困难时,Brandon 和 van Westen 都做出了回应。
"我在论坛里收到一些报告,有人试图同时使用高级模块管理器和 MetaMod,并遇到了问题/冲突。Stephen Brandon 给我发邮件讲述了他的情况,并询问我是否对尝试找到协作解决方案感兴趣。" van Westen 说。
两人意识到问题是两者都覆盖了同一个核心 Joomla 文件。所做的更改允许一个模块工作,但另一个模块则不行。
"在 libraries/joomla/application/module/helper.php 定义的 JModuleHelper 类从数据库中获取分配给特定菜单项(或所有页面)的模块列表,并处理一些渲染模块的工作。这个类最重要的作用是 Advanced Module Manager 和 MetaMod Pro 都需要能够操纵的,是为任何给定页面创建模块列表," Brandon 说。
为用户利益而共同工作的决定很容易做出。
"最终的解决方案相当简单:创建一个适用于两者的文件。然后,无论一个扩展是否覆盖了另一个的文件,都没有关系。我们实际上只是在模块(列表)渲染过程的各个阶段添加了触发器," van Westen 说。
新文件允许在同一 Joomla 安装中同时使用高级模块管理器和 MetMod Pro。
"我已经调整了包含新模块辅助类的方式,使其与Peter的方法一致。它的优点是,它对插件管理器中插件顺序可能引起的问题不太敏感。Peter和我都在各自的扩展中包含了我们共同同意的模块辅助类。两个类中的一个将被加载,具体取决于系统插件列表中的顺序,但哪个都无所谓,因为它们都是一样的。” Brandon说。
虽然这两个产品在功能上确实存在一些重复,但每个产品都有一些高度赞誉的元素,在另一个产品中找不到。这种协作努力并没有强迫用户在两者之间做出选择,这使得市场对双方都更加友好。
"当我于2009年底看到互联网营销企业家Frank Kern(“2009年互联网状况”)的一段有趣视频时,我对这种竞争的感觉被打破了。他说道:与你的竞争对手并肩工作,以确保我们集体客户的进步和整体幸福。扩大我们的集体市场,共同努力提供优质价值。” Brandon说。“这也得益于Peter是一个真正善良的人,有着很好的幽默感,并且在一个我可以理解的技术水平上工作。”
开发人员和他们的用户都对结果感到满意,如果未来版本的产品对它们共同使用的文件产生影响,他们会考虑再次合作。
协作在意识到它可以造福整个行业的开发者中变得越来越受欢迎。
Van Westen曾与Kyle Ledbetter(JoomlaPraise/AdminPraise)合作,使其扩展能与Ledbetter的admin模板协同工作。Van Westen经常就代码问题和新想法向其他开发者如Emmanuel Danan(FlexiContent)和Daniel Chapman(NinjaForge)咨询。
"我发现很多开发者都非常愿意互相帮助。”他说。
Brandon也正在努力确保他的产品可以与其他产品良好地协同工作。
"我不断接到人们的要求,他们想使用MetaMod或MetaTemplate将特定模块或模板定位到其他Joomla扩展的特定页面上。这意味着我经常需要安装其他扩展并了解它们,以便为用户提供食谱。这些其他扩展的制作者在需要帮助时总是非常支持和有帮助——这对他们的客户和我的客户都有好处,”他说。
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人意见或经验,可能并不与Joomla项目的官方立场一致
通过接受,您将访问由https://magazine.joomla.net.cn/之外的第三方提供的服务
评论