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里定义一下,否则,会被过滤掉一部分标签。

  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/kwklover/p/556649.html
Copyright © 2011-2022 走看看