zoukankan      html  css  js  c++  java
  • CommunityServer2.0改造的一些心得[粗糙版]

    1,关于选型
     如果打算快速实现BBS,BLOG,相册,下载等系统的通用社区型网站,CS2还是很好的选择来的.
     不过如果希望它作为一网站的一个产品独立发展,则CS2不是最好选择,如果让我选择,我觉得
     ANF(bbs.hidotnet.com) + 博客园的blog会更好一些,因为CS2整合的东西太多,内部复杂度很大
     每个APP的改造幅度过大.都很可能对其他的APP产生影响.为了不影响,要考虑的东西比较多.
     对于大型应用.发展到最后还是要分离的.迟早要分,还不如早分.而且各个功能点独立发展
     自由度会更高.特别适合团队开发方式.当然,分离了就要考虑用户信息的SSO等等,但那不是重点.
     置于相册和下载等系统.目前未发现有好的东西.
     下载部分,DNN的文件上传和管理非常强大,可以拿来借鉴和改造.

    2,CS2的个性化是基于皮肤的,但换皮肤的成本很高.需要重新做很多的UserControl.
    现在有很多的论坛系统是基于风格的.换风格只是换颜色和图片,相对来说成本比较低.
    但不能改变布局,所以各有千秋.其实CS2只要处理得当,是可以同时兼顾两种方式的.


    3,关于html的DOCTYPE的问题
    如果你为CS2改造而设计新的界面,最后在设计阶段的页面观看效果的时候,一定要加上(不同的DTD可参考其他资料)
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

    因为有和没有这个JS和CSS的行为和效果很不相同,而CS2的很效果的JS是需要有这个才正常运行的
    所以设计时要考虑这个.

    4, 同一个页面不同的文本框回车响应不同的事件
     这个文章(http://www.dezai.cn/index/Article_Show.asp?ArticleID=7694)提了两个方式。
    有一个需要改form的onkeydown event,这样不好。我综合了一下,不用改form.
      function SearchShortCut(evt)
      {
        if(evt.keyCode == 13)
        {
            OpenSearchWin() ; //这个为一JS方法
            evt.keyCode = 9 ; //转移为tab事件
        }
      }
    然后设置搜索框的onkeydown="SearchShortCut(event);",这样输入关键字按回车就可以提交搜索了。

    5,图片大小可按鼠标滚轮滚动自动缩放的JS 。
      function bbimg(o)
      {
     var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%';
     return false;
      }
    然后在img标签上加上onmousewheel="return bbimg(this);"

    6,CS2.x freetextbox的问题。以及初步解决方案
    在CS2.x出现下面的两个FTB问题:
    1)
    FreeTextBox has not been correctly installed. To install FreeTextBox either:
    (1) add a reference to FtbWebResource.axd in web.config:
    <system.web>
    <httpHandlers>
    <add verb="GET"
    path="FtbWebResource.axd"
    type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" />
    </httpHandlers>
    </system.web>

    (2) Save the FreeTextBox image and javascript files to a location on your website and set up FreeTextBox as follows
    <FTB:FreeTextBox id="FreeTextBox1" SupportFolder="ftbfileslocation" JavaScriptLocation="ExternalFile" ButtonImagesLocation="ExternalFile" ToolbarImagesLocation="ExternalFile" ButtonImagesLocation="ExternalFile" runat="server" />
    分析,方案:按照上面的提示加上(观察中,未能确定是否有问题)。不过奇怪的是不加也没问题,只不过不知道什么时候又出现上面的提示。

    2)出现异常,提示如下:
    The path \ITDBClub\FreeTextBox3\Languages\ cannot be found (D:\BBS\ITDBBBS\Web\FreeTextBox3\Languages\).
    分析,方案:这个问题比较难跟踪。因为所提示的路径确实是存在的,后来我把Languages下的所有语言问题去掉。只保留zh-cn。到目前为止还未发现这个异常了。估计和缓存有一定关系

    7,打开窗口最大化
    一般看帖都喜欢最大化
    window.moveTo(0,0);
    window.resizeTo(screen.width,screen.height);

    8,提交的html文本,自动修正html格式(比如,开头闭和不完整的去除)
    参见:CommunityServer.Components.HtmlNestingCorrectionModule类


    ================17:04 2006-8-17===================
    1,发帖恢复上次提交功能
    参考资料:
    http://blog.csdn.net/asthlon/archive/2004/11/11/177291.aspx
    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/persistence/overview.asp

    2,在线用户信息
    参考资料:
    http://hesicong.cnblogs.com/archive/2005/08/17/216956.aspx
    http://www.cnblogs.com/rexsp/archive/2004/12/27/82740.html
    http://lumaqq.linuxsir.org/article/qqwry_format_detail.html

    3,图片上传功能
    主要的一点是CS2的安全性控制的很严格和灵活。所有没有在CommunityServer.config的MarkUp的HTML,JS标签等会被过滤掉。
    如果需要出现类似<img src='url' onmousewheel='return bbimg(this)' onload='if(this.width>550)this.width=550' border='0'>
    这样的标签的话,那就需要在MarkUp里定义一下,否则,会被过滤掉一部分标签。

  • 相关阅读:
    异常处理的设计和重构学习一
    设计模式之禅之六大设计原则-里氏替换原则
    设计模式之禅之六大设计原则-单一职责原则
    swagger-ui生成api文档并进行测试
    功能强大的swagger-editor的介绍与使用
    swagger-codegen自动生成代码工具的介绍与使用
    Swagger使用教程大全,从入门到精通
    Linux下MySQL的数据文件存放位置
    JUC组件扩展(三):BlockingQueue(阻塞队列)详解
    http_load的安装及使用方法
  • 原文地址:https://www.cnblogs.com/kwklover/p/556649.html
Copyright © 2011-2022 走看看