关于 Discuz! 的二次开发

可能是因为 Discuz! 庞大的用户群的原因吧,发现有些中小网站也有在 Discuz! 基础上做二次开发的,巧的是,到了某个阶段,不约而同的遇到类似的问题:开发进度明显滞后。

个人觉得 Discuz! 设计的初衷是面向中小站长的,对于二次开发可能并不是很重视。去官方论坛看了半天,甚至都没有专门二次开发的板块。莫非大家的二次开发都是各自为政,摸着黑搞的么?(好像的确是这样,代码开源,对着修改就成) 一些简单的门户开发估计问题都不大的,如果业务复杂一些,并且流量相对较大,可能隐忧就会比较明显了。

有次因为要验证一点东西,看了一点 Discuz! 的代码,发现一些基本的模块性能上并非很好(我自己并不很懂 PHP,只是出于性能考虑罢了),类似的页面在一定规模下并不会对性能有太大影响,可一旦突破某个量级,影响就非常明显了。有的网友可能会说,别装了,你不知道 Discuz! 功能有多强大吧? 问题可能恰恰就在于功能强大这儿了,一个软件如果自身已经在一些细节上考虑的足够细致,那么无疑也会给二次开发带来不必要的开销。就这一点上说,或许 Discuz! 有必要开发一个面向二次开发的版本,削减一些锦上添花的小功能。

另外,UCenter 这个 SNS 产品我觉得也不会有太大作为,千站一面的 SNS ,除了让大家消磨一些无谓的时间,会带来什么创新呢?

这只是我心血来潮,对产品设计的一点思考罢了,可别真的绕到 Discuz! 到底有哪些优点上去…

EOF
更新,有朋友和我说

Discuz! 代码里面本身包含监控隐私的东西,如果你的网站达到一定数量的用户,程序会触发通知 Discuz! 公司。

谁来证实一下?

附加阅读:

此文作者:, 位于 Web 分类 标签: , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

20 thoughts on “关于 Discuz! 的二次开发

  1. HeaTeR

    很赞成你的看法。从宏观上来看,discuz 是渴望把一个产品做大做全,希望占据产业链的上游和下游,而这个市场太大也许不是 discuz 可以全面占有的,反而是做好一个上游,培养无数下游,可能是更好的一条路。
    当然,可能而已,并且这个好不一定代表着商业利润。
    这个方面,Wordpress是个很好的典范。

    Reply
  2. 小聪

    说实话,我对阿里妈妈是否收购了phpwind感兴趣。
    discuz还是不错的,不过我不太喜欢现在的作风了,太臃肿了。
    discuz的二次开发,我看到的站点比较少。

    Reply
  3. Yimin

    最近在改discuz的代码,那个叫痛苦啊。天呐,最基本的sql都不封装一下,论坛的各个配置居然会释放到全局变量中去,那个一堆堆的代码看了,让人发昏。
    命苦啊。

    Reply
  4. aw

    discuz和ucenter一样,都是为了让分众站长自己去笼络周围的小群体。
    说实话,这玩意,根本不需要用户体验,需要的是销售量,安装量,规模。
    discuz在创新上投入资源,远远不如在销售,策划,售后服务,稳定性上投入资源有意义。
    discuz不是facebook。这是实际情况,这是符合大多数网民意识形态的,因为大多数人不在乎用户体验,而不是discuz不想去把它做好。

    Reply
  5. ztka

    dz一开始还好,性能什么都不错,现在太臃肿了,性能和功能还是有取舍的,功能越来越复杂,包括AJAX等技术,带来的是dz的性能下降很多。
    dz和pw的二次开发基本都是中小站个人摸索的。
    另外说到模块化方面vbb这点做的很好,但是性能更差劲。

    Reply
  6. adex

    我曾經長期使用Discuz,也試圖在其上做過二次開發,文中提到量級問題確實存在,而且並不像有些人說的高那麼高。
    我理解,這是它的設計和開發習慣問題,編碼還相對較初級。Discuz最初的編碼習慣(如大量的全局變量和Join表操作、頻繁UPDATE語句的彆腳優化)一直在保留著,我不清楚這是什麼原因,但它的設計和編碼問題的確是影響擴展的一個重要因素。
    Discuz一個相對較贊的決定是,不使用PHP內置的Session而自己包裝通過Cookie+DB來實現。但也由於這個原因,使得多台負載均衡時前面的量級問題更加明顯。

    Reply
  7. bugii

    你忽略了很重要的一点
    在中国 90%以上的开发者第一件事就是去掉版权信息
    然后自己拿出去卖钱
    其实在license里都是明确说明 这些都是不被允许的
    可是谁又能遵循呢

    Reply
  8. adex

    關於涉及隱私的問題
    1. 管理登錄後台首頁會有段js鏈接discuz官方網站,並提交本服務器相關環境,如WEB服務器軟件、PHP版本、網站名稱、DZ版本、總會員數、總主題數、總回覆數、訪問來源、瀏覽器信息等。如果有DZ的新版本,會提示升級。
    2. 大多數情況下,當論壇到一定規模後(這個數字我忘了),用戶每發一篇貼子,都會向qihoo的搜索引擎提交一份記錄,包括經過處理的主題和關鍵字,這也是qihoo社區搜索數據的一個重要來源,明明網站沒有登錄,但仍然可以搜索到。而且這些搜索內容完全不在BBS的權限規則之內。也許這些將來會有調整,但在qihoo投資期內釋出的版本可能不會有太大變化。

    Reply
  9. kimi

    不得不说的是:Discuz!是通用软件,站在通用软件和使用者的角度考虑,Discuz!的发展路线显然是没有问题的。
    与做项目不同的是,你需要把更多的配置和更多的选项交给你的用户(也就是站长)来完成。
    而站在项目的角度考虑,如果是以前没有接触过Discuz!对Discuz!进行二次开发并不是一件简单的事情。
    另外说到负载,就我本人的经验来看,解决高访问压力下的Discuz!论坛的负载并不是一件非常困难的事情(等闲了详细的写一写)。而且通常情况下,一个需要负载均衡的论坛已经有足够的能力和资金去需求第三方技术协助来进行。
    前Discuz!开发组成员留

    Reply
  10. Fenng

    负载均衡这些东西可能问题都不大,麻烦的还在于如何进行敏捷类似的开发
    :)
    欢迎 Kimi 留言

    Reply
  11. dowei

    其实他根本不想支持二次开发吧,路线是通过各种扩展来实现更多功能,而不是改变原有代码。而扩展也是整个链条中他挣钱的地方(当然还有模版设计和制作)
    如果需要改变原有代码,还不如找个好的框架重新开发,而开源的这些产品(其他如joomla等)并不适合二次开发,那些为了支持组件,模块,触发器而实现的hook,没完没了的发现机制简直是噩梦,他们只适合初级的小修小改。

    Reply
  12. 大徐

    以前有个freediscuz.net,专门搞插件的,现在还有。这个组织很松散,但至少有5年了,头两年好像被discuz收编了。

    Reply
  13. 感性流

    大C想把DISCUZ做大做强。
    但也只能是跟着潮流走
    SNS的观念早在几年前就有人在DISCUZ论坛里强调。
    但没人重视,
    现在出来有点像“抗秦”的意思。
    弄的太形势了。
    不过还好,有人提供这样的服务,对大的SNS站点也是推进。

    Reply
  14. TerryChan

    偷偷的浏览了DBANOTES的文章,第一次写这个评论
    最近公司的网站要上论坛,我选了discuz,做了passport,发现discuz似乎没有传说中那么“很强很牛”
    理由:如果使用passport,那么discuz不支持注册用户的积分体系的初始化---和discuz的技术支持交互过了。

    Reply
  15. test

    另外,UCenter 这个 SNS 产品我觉得也不会有太大作为,千站一面的 SNS ,除了让大家消磨一些无谓的时间,会带来什么创新呢?
    这句话,我这几年一直在和朋友说,中国的网站千篇一律,很是恶心。

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *