使用Ninjaboard进行黑带论坛设计
这个月我们采访了Ninjaboard的主要开发者Stian Didriksen,Ninjaboard是Ninjaforge最新发布的Joomla!论坛组件。Ninjaboard在设计师的工作室中特别有趣,因为它在设计时考虑了Joomla!模板。
Ninjaboard的灵感是什么?为什么我们需要为Joomla!再增加一个论坛组件?
Ninjaboard最初是JooBB的分支。我们在为Joomla! 1.5重建网站时,寻找一个好的论坛,因为我们已经在当前的Joomla! 1.0网站上使用了Fireboard。我们觉得大多数现有的论坛扩展都很臃肿,难以使用。它们大多数都有很长的历史,充满了旧代码,使得自定义变得困难。因此,我们决定自己开发,为Joomla!创建一个灵活的现代论坛。
我们最初选择分支是因为JooBB虽然功能不足,但有一个很好的稳定的MVC设置,这使得它更容易使用,我们也知道这将减少我们的开发时间。开源的一个伟大之处在于我们可以重用和修改代码。所以我们不希望浪费这个机会。然而,从最初的0.5版本开始,我们实际上在将其转换为使用Nooku框架(也称为Koowa)时,几乎替换了所有的代码,这使得我们进入了1.0的测试版本。我们希望在未来几周内消除最后一个错误,并发布稳定的1.0版本,这将结束Ninjaboard的“创建”阶段。
Ninjaboard与其他流行论坛(如Kunena或Agora)相比有哪些优势?
Ninjaboard与Joomla!核心的集成程度超过了我们之前所做的任何其他组件。例如,核心SEF、com_search和mod_breadcrumbs都无需额外配置即可与Ninjaboard协同工作。Ninjaboard还允许你拥有多个配置配置文件,并将它们分配给每个菜单项ID。这实际上允许你在网站上设置多个论坛,每个论坛都有不同的外观和感觉,还可以选择不同的功能。
另一个大优势是维护。论坛更新很多,检查你是否拥有最新版本可能会很麻烦,更不用说去网站下载新包,并在你的网站上安装它可能真是一个大麻烦。Ninjaboard在仪表板中有一个“检查更新”按钮。如果有新版本可用,你只需点击“安装”,它就会立即在你的网站上更新Ninjaboard。你甚至可以从你的手机上做到这一点!:)
从设计师的角度来看,什么是Chameleon?
Chameleon是我们为Ninjaboard构建在Nooku Framework之上的一个特殊模板引擎的代号。Chameleon最令人兴奋的特性是它可以直接在板风格中直接使用Joomla!站点模板中发现的任何模块样式。Chameleon这种蜥蜴以其能够改变颜色以融入周围环境的能力而闻名,这是一种有效的伪装形式。因此,Chameleon引擎基本上做的是同样的事情。它改变HTML输出,以便与模板CSS中的样式规则相匹配。这样,Ninjaboard就能够与周围的模板融为一体。最令人兴奋的是,通过两个文本输入和一个选择列表,你可以控制Chameleon“融合”的各个方面。你不再需要编辑PHP文件,就能在你的网站上获得一个令人惊叹的论坛。
关注设计如何影响论坛的功能?
这是我们关注与Joomla!核心集成的其中一个原因。例如,大多数论坛都在行内处理面包屑。这样做使论坛在面包屑的外观和感觉上有更大的自由度。但从设计角度来看,这种自由度并不很有趣。当与mod_breadcrumbs集成时,这意味着站点模板中的面包屑样式不会浪费。我们的登录表单也是这样。许多论坛也喜欢这样做,但当你关注设计时,你更感兴趣的是让它与网站目前为com_user提供的现有样式和功能相匹配。这也包括搜索。有各种各样的ajax搜索模块,大多数模板都提供与搜索字段匹配的样式,这使整体设计看起来很棒。我们选择集成,而不是像其他人一样在组件中行内执行搜索。
你已经为Ninjaboard做了很多管理员自定义设置。你对采取非标准方法有什么担忧吗?
是的,我们总是担心我们可能会因为一些界面元素不同或行为不同而让现有的Joomla!用户感到困惑。但如果非标准方法更直观、更简单,最终效果更好,我们认为这是正确的做法。还有这样的担忧,即某些事情可能会损坏,或者在非khepri管理员模板中看起来很糟糕。但Joomla!Praise和Joomla!Bamboo都足够慷慨,向我们发送了他们的管理员模板,以确保一切正常。目前,我们还没有达到这一点,但Ninjaboard稳定版1.0将会改变这一点。;)
你认为这些类型的特性应该包含在所有组件的核心中吗?
是的,我们认为应该这样。我最喜欢苹果电脑的一点是,一旦你学会了像iTunes这样的一个Apple应用,你就已经知道如何使用其他应用了。仅仅因为它们是一致的。尽管我们许多扩展开发者是竞争对手,并且因为想要让我们的扩展从人群中脱颖而出,但我们真的不应该忘记,我们的主要竞争对手不是彼此,而是其他平台。比如Wordpress、Drupal等。我们真正与他们竞争的唯一方法就是共同努力创新,使我们的直观解决方案彼此一致。这样,我们就能吸引比以往任何时候都多的用户份额。
使用Nooku对您的发展有何影响?这对最终用户有什么好处?
使用Nooku就像钢铁侠升级他的战衣。里面还是同一位托尼·斯塔克,但他更快、更好、更强,可以做到以前做不到的事情。对最终用户来说有很多好处,但大多数都是间接的。实际上,使用Nooku FW最直接的好处是安全性。Nooku FW对每个表单都进行令牌检查,每次编辑或添加内容时都会自动过滤数据,沙箱视图布局,它防止了每个数据库查询上的SQL注入,还有更多。所以你不必担心SQL注入,或者许多Joomla!扩展中常见的其他安全问题。
使用Nooku是如何改变模板系统开发方式的呢?
Nooku推广了KISS(保持简单,傻瓜式)方法论来设计布局。并且严格的MVC(模型-视图-控制器)。这意味着我们的模板布局不包含数据库查询、控制器代码或视图逻辑。业务逻辑和其他复杂的PHP代码应该放在它们所属的地方:控制器、模型或视图。布局应该尽可能接近静态HTML。这就是我们改变布局方式的原因。正因为如此,覆盖Ninjaboard布局更加安全,因为代码需要同步的风险更小(例如,数据库查询是可能会改变的代码的一个例子)。
主题现有论坛组件可能具有挑战性。是什么让Ninjaboard更容易呢?
自从我开始在NinjaForge担任模板设计师以来,我非常了解您的痛苦。Ninjaboard之所以与众不同,是因为Chameleon,当Chameleon不足以满足需求时,我们将覆盖提升到了新的水平。本指南更详细地解释了覆盖工作原理:http://nekkidninjas.com/index.php/2010/08/30/how-to-override-ninjaboard-css-js-images。当将Ninjaboard集成到现有网站时,需要一点工作。你使用Joomla!核心部分越多,比如mod_breadcrumbs或com_search(或核心SEF),工作就越少。你只需安装Ninjaboard,在“工具”部分下导入示例内容,创建Ninjaboard的菜单链接,创建一个新的设置配置文件来配置Chameleon,并在需要比Chameleon提供更多功能的地方使用覆盖(例如,当需要特定论坛的标记时)。
既然Ninjaboard是一个新组件,你能告诉我们一些关于计划的细节吗?比如你希望添加到组件中的未来功能?
在过去的六个月里,Ninjaboard的三个主要焦点是ACL(访问控制列表)、转换系统和快速、稳固的基础。ACL现在非常稳固,我们的转换系统也是如此,我们的基础是钢铁般的。
所以Ninjaboard目前在功能上非常轻量级。我们现在将专注于与其他社交扩展集成,并最终完成我们的配置文件系统,包括自定义字段等。接下来,我们将最终确定我们的API,以便第三方和网站集成商可以完全控制、扩展和操作Ninjaboard的工作方式。我们将通过即将推出的讨论机器人插件展示如何做到这一点。我们将为Ninjaboard提供亮色和深色基础模板,作为使用具有较弱模块样式的Joomla!模板用户的替代方案。还将有更多论坛转换器出现,我们将为现有的转换器添加文件附件支持,通过电子邮件发送带回复主题的电子邮件通知。哦,还有个大事,我们将添加类似CCK(内容构造器)的功能,你可以更改和创建论坛和主题类型,为主题添加自定义字段等。不过,它们将不同于你以前在CCK中看到的一切,记住我们不会在可用性上妥协! ;) 最后,由于Ninjaboard是基于Nooku FW构建的,这意味着一旦Nooku FW在J!1.6上完全运行,并且我们的安装脚本升级到与1.6兼容,Ninjaboard将准备好支持1.6。
在Joomla社区杂志上发表的一些文章代表了作者在特定主题上的个人观点或经验,可能与Joomla项目官方立场不一致。
通过接受,您将访问 https://magazine.joomla.net.cn/ 以外的第三方外部服务
评论