zoukankan      html  css  js  c++  java
  • 对DNT二次开发的一些经验总结!

    引子

    这几天一直在做DNT的二次开发,产生 了一些经验,跟大家分享下。
    客户需要导入旧论坛数据和开发一个新活动功能。
    所以详细研究DNT的帖子相关表(dnt_topics,dnt_postid, dnt_posts1)。
    向园子里的代兄和戏水请教,代兄反应极快,他说戏水是做数据转换的,比他更有经验!汗,并要我去官方论坛发贴。
    我去发了,点击量很高,至今0回复。

    而给戏水的消息,有去无回。

    看来,得自已动手。花了些时间,终于明白:
    dnt_topics 保存主题相关信息,注意没保存正文。主键为自动增长。
    dnt_posts1 系统保存主题正文,和回帖。主键却来源于dnt_postid.

    这样做可以提高查询主题列表的速度。
    但如果站长需要从主题正文提取部分做为摘要显示,那就得不偿失了。

    用dnt_postid 单独生成帖子主键,不太理解,反正是增加了导入其它论坛数据的难度。
    或者增加了将数据导出到其它论坛的难度。
    反正导入旧数据,花了好长时间,才弄明白。
    人为制造门槛?

    数据导入完成。

    开发活动功能,还是比较顺利和快速的。基本可以借用DNT的通用类和方法。

    经验
    1. 导入数据后,dnt_topics 和dnt_posts1 的 lastposterid,posterid 必须大于0,不然主题和回帖不能翻页或不显示。花了好久时间还找此原因。
    2. 需要手工改变dnt_postid的pid的初始值,不然回复贴会出现在前面,pid也会重复。
    BUG
    1. 如果修改表情组名称和表情文件夹名称不同,发贴时将不能转换表情。修改默认表情名将出现图片出现红叉叉.
    2. 在默认安装下没有相册和空间,查找查看用户的所有发贴时。如/search.aspx?posterid=2988,出现"对象名 'dnt_albums' 无效。对象名 'dnt_spaceposts' 无效。"
    3. 修改广告时没有绑定原状态,展现方式每次都变成默认。
    4. 有时登陆时提示你已登陆,不用重复登陆,返回首页看不到登陆信息,查看本机COOKIE却又COOKIE记录。
    5. 用户分组的问题。现在分为积分组,管理组,系统组,特殊组。不明白特殊组存在的意义。而且还有问题。添加一个特殊组,修改时关联管理组,就变成了管理组,再修改时取消关联管理组,就变成了积分组。变不回特殊组了。
    6. 无缘无故出现错误,刷新一下又好了。如: 无法在“Discuz.Plugin.Spread”已存在的情况下创建/影像复制该文件。
    7. ...
    不足(个人看法)
    1. 添加分表后,不能撤销,或删除,估计有些站长喜欢抱着试试看的心态。
    2. 太庞大,刚安装,就占用了二三十MB的空间了.asp.net 较asp 占资源,特别是内存,不太适合虚拟主机,VPS也比较悬。
    3. 还要N多操作上的不便。 比例添加表情要将相应文件夹拷到相应目录,然后刷新页面。但我在后台页面上始终找不到相应的帮助,或者说明。
    4. 上传头像时路径前加了"/",而选择系统头像时没"/";完全可以统一的。给二次开发者造成不变.
    5. 表太多了,越来越不像论坛了。
    6. ...
    总结
    1. 套用一名话,革命尚未成功,DNT仍需努力。
    2. ...
  • 相关阅读:
    Python 不同数据类型比较
    计算机外语收集
    d3.js学习-联系力学图
    d3.js学习11
    d3.js学习10
    d3.js学习9
    d3.js学习8
    [springboot jpa] [bug] Could not open JPA EntityManager for transaction
    [spring cloud feign] [bug] 使用对象传输get请求参数
    [ethereum源码分析](5) 创建新账号
  • 原文地址:https://www.cnblogs.com/wei/p/1359357.html
Copyright © 2011-2022 走看看