Kooboo的定位是一个CMS,内容管理平台,从更严格意义上来说,它更应该网站快速开发平台。针对一般网站开发过程的分析和提炼,着重在解决网站的一般需求,提出一套快速开发网站的理念和方法。在这些理念和方法的指导下,来进行网站的开发,规范开发过程,提高开发效率,减少维护成本,提高网站质量。

我们在开发一个网站,一般会面对如下问题:

内容存储,这是一个基础性问题。内容是整个网站的肉体,也是灵魂,失去了内容,网站就无法体它的价值。网站开发的最重要的工作就是对内容的处理,也就是对内容进行增,删,改,查的处理。或者更为直接点,就是开发人员对数据库的操作。而如何对内容数据,直接影响着开发效率。开发人员不可避免的要处理大量的SQL语句,或者使用ORM等工具和框架来提高开发效率。但是不管怎么样,开发人员还是需要面对大量的开发和配置工作。而Kooboo要解决的首要问题就是要让开发人员从些重复,而又繁重的工作摆脱出来,实现一个通用化的存储,开发人员甚至不需要关心数据是存储在数据库,还是本地文件中。内容存储,开发人员只要根据自己需要的字段,设计好相应的数据结构(Schema,内容类型),建立相应的内容目录(Folder),就可以使用相应的接口对这些内容进行操作,而不需要去关心SQL或者是其它的存储细节,同时内容关系不是简单的一维关系,可以处理1对1,1对多,多对多的关系。并且,通过Kooboo的后台可以直接维护这些内容,不需要再重新开发单独的后台来维护网站内容,减少开发任务。

多网站处理,内容共享的问题。在现实中,我们可能会面对,一个组织关系中的各个机构需要有内容共享,但结构独立的网站。当我们遇到这种问题时,我们通常的处理办法是为各个机构单独开发网站,在遇到需要共享的数据时,通过一定的技术手段,或共享数据库,或共享目录来实现目的。再有一种典型场景,当我们要开发一个全球性的网站时,不可能避免的要解决各个地区语言和文化的问题。单单是语言,我们可以通过资源文件来解决,但当个地区站点除了语言要不同外,网站中的某部分内容要根据本地区文化特点进行一些改动时,如何通过最小改动来达到复用和定制?内容也需要根据不同地区进行本地化时,这也不是简单的通过资源文本就可以解决的。同样的,你可以把这些想法扩展一下,想开发一系列功能相同,UI类似的企业网站之间的复用。在Kooboo中,每一个网站,只是这个平台的一部分。这个平台可以同时存在很多有直接关系,或没有任何关系的网站。所有的网站都可以有自己独立的域名。网站之间,可以有直接或间接的继承关系。在继承的网站间,可以共享和复用网站的各种元素。子站可以完全继承父站点的所有的代码和内容,同时也可以根据需要对父站点的所元素进行一些特定的改动,以达到通过最小的改动,最大的复用,并且它不是简单的物理复制,也就是说,如果父站点发生的任何变化,同样会体现在继承的网站中。这个就是网站的继承,继承不仅可以继承内容,还可以继承代码和模板,可以支持本地化,也就是满足面向对象的三个基本特征。

模板管理。对一个网站来说,给用户最直观的体验就是网站的UI。对于动态页面来说,设计界面就是设计模板。在Kooboo中,使用传统的Webform的.ASPX页面做为模板,延续了ASP.NET程序员的开发体验。同时在提供了完善的皮肤管理,脚本管理,资源管理,并且提供了功能强大的在线语法编译器,把程序员从复杂的路径样式引用和语法记忆中解脱出来。模板可分为布局模板和内容模板,布局模板是控制整个页面布局的模板,其概念等同于MasterPage; 内容模板是页面中某一块内容的模板,它关心的是页面某一部分的展示

页面管理。与ASP.NET WebForm的页面概念不同的是,在Kooboo中,“页面”并不是一个物理存在的.ASPX页面模板。页面只是将模板和数据组合在一起的,同时具备URL表现的一些配置值。这些配置信息决定了,在该页面里,所选择的模板的某个位置上放上哪些页面模板; 决定了该页面需要传递的参数,以及这些参数以什么样的方式进行传递(普通传参或SEO友好); 决定了该页面从哪里查询所需内容(DataRule); 决定了哪些角色的人能访问该页面。同时页面管理,也可以用于生成前台页面导航菜单。

扩展插件。一个完善的开发平台,不可避免的要提供解决一些特殊情况的能力,同时也必须针对一些通用性的功能,比如论坛,博客,Wiki等功能的一整个模块的复用,以提供资源复用的共享。在Kooboo中,有两种插件:页面插件和模块插件。页面插件(PagePlugin),就是针对某个页面的特殊要求而开发的运行于通用Controller之上的Controller扩展,适用场景:一个网站前页,可能80%页面是用于显示,另外还有一部分可能还需要有提交数据的要求,那么这些提交的数据可以在View中通过传统的WebForm PostBack来处理,同时也可以通过编写页面插件来独立出来,从MVC的组成部分来讲,编写页面插件也更符合框架要求; 另一种情况可能是,页面需要的部分数据并不存储在Kooboo中,而是需要通过其它的一些渠道(例WebService)从其它地方获取,此时你也需要通过编写插件来达到你的目的。 模块插件是针对某一种应用的完整功能的复用而开发的完整的功能包,可能是一个简单的博客系统,论坛,或是其它可以被复用的小功能,这些功能模块可以被加到页面模板的任意位置上(与普通的内容模板一样使用)。在kooboo中,每一个模块插件都可以做为一个独立的网站而存在,不一定要求运行于Kooboo平台之上,你可以将它视为一个Mini Site,如果你了解ASP.NET MVC2,那你可以理解为一个类似于Area的功能。开发一个模块插件,也就是开发一个普通的MVC站点,你可以单独进行开发和调试。

站点包。一个网站开发后,可能需要从开发平台移植到生产环境平台去。此时,你可以将设计好的站点进行导出操作,然后在另一个Kooboo平台,选择导入操作。很快,你会发现,站点包还可以有另一种应用。如果你设计一个站点模板,然后根据这个模板快速生成一些类似的网站,这也就是很多网站快速生成软件的做法。也就是一个站点设计好,不仅能被继承复用,还可以被导出复用,达到最大的复用。

以上都是Kooboo的核心功能,但是当你深入了解Kooboo后,还会发现更多实用的功能,包括:

内置的全文搜索,使用Lucene.net,在维护内容时自动更新全文索引文件,通过一个简单的API可以快速实现全文搜索的功能。

简单的工作流管理,内置一个简单的工作流功能,方便内容维护时实现流程审核流程。

脚本和样式文件的自动合并和压缩,通过设置一个简单开关,来配置网站是运行于Debug模式或是Release模式。当运行于Release时,会自动合并压缩脚本文件和样式文件。

出错管理,站点在出现错时,可以根据错误类别配置要转到的页面。

以上的这些功能都是Kooboo要解决的核心问题,我会在稍后的一系列文章中,使用Kooboo 1.2 再深入的展开每一个功能点的各个细节。Kooboo 1.2会在稍后的一至两周内发布,敬请期待。

官方站点:http://www.kooboo.com/

CodePlex站点:http://kooboo.codeplex.com/

Live Demo: http://www.kooboo.com/demo

官方论坛:http://forum.kooboo.com/

kooboo Wiki: http://wiki.kooboo.com

Kooboo CMS 介绍相关推荐

  1. kooboo CMS之商城点赞

    ** 1.kooboo CMS介绍 ** Kooboo CMS本着功能独立数据页面分离的原则,将站点分为三部分组成:系统,开发和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完 ...

  2. Kooboo CMS 无聊随笔(2)

    上次写了一篇博客 http://www.cnblogs.com/kmsfan/p/Kooboo_CMS_suibi.html 作为这个系列的开篇,简单的介绍了一下Kooboo CMS的一些基本情况和界 ...

  3. Kooboo CMS 之TextContent详解

    TextCotent 在Kooboo.CMS.Content下面,在View中有使用到这个模型层. TextContent继承了ContentBase,而ContentBase是由2个部分类组成的,一 ...

  4. Kooboo CMS

    去年这个时候也是8月份,离开了生活9年的福州来到厦门,已整整一年的时间.离开福州的原因,就是不想让自己在安逸中沉沦下去,需要重新寻找技术的激情.来到新公司后,也开始投入老板梦想中的那个伟大CMS的研发 ...

  5. Kooboo CMS 无聊随笔 (1)

    因为公司的框架不开源,但是自己一直都有研究框架的兴趣,所以拿了一个开源的框架过来,而这个开源的框架就是Kooboo CMS.首先我无法用言语来形容我对这个CMS的赞美之词了,总之大家知道一点,这个CM ...

  6. Kooboo CMS - 之后台注册用户流程方法。

    今天决定写一篇好一点的文章,吼吼!首先我们必须找到这个文件,这个文件是UsersController.cs,我们找到和添加新用户有关的方法,如下代码: public virtual ActionRes ...

  7. CMS介绍和过程分析

    CMS介绍: CMS(Concurrent Mark-Sweep)(并发 标记-清除)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合.在 ...

  8. Kooboo CMS的安装步骤

    Kooboo CMS的安装步骤 来自Kooboo document 跳转到: 导航, 搜索 http://www.microsoft.com/web/gallery/install.aspx?appi ...

  9. Kooboo CMS技术文档之一:Kooboo CMS技术背景

    语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...

最新文章

  1. python学习一(python与pip工具下载与安装)
  2. 第八周项目二-用对象数组操作长方柱类
  3. 没有找到MFC80D.DLL,因此这个应用程序未能启动。重新安装应用程序可能会修复问题。...
  4. python之ORM操作
  5. 【ARM】Tiny4412裸板编程之Chip ID
  6. Linux命令sort的常用用法
  7. 算法_栈的Java的通用数组实现
  8. poj2828 Buy Tickets
  9. matlab gui伪色彩增强,基于Matlab GUI的医学灰度图像伪彩色增强判读系统
  10. fprintf() 用法
  11. 【转】聚类——GMM
  12. 2018-7-4 笔记
  13. MATLAB--微分方程
  14. 电脑版微信聊天记录和小程序视频播放黑屏,但有声音,qq和其浏览器视频播放正常。如何解决?
  15. 移动通信电波传播及损耗(二)
  16. libyuv接口NV12ToI420的实际使用
  17. HTML中table表格的常用标签及属性
  18. DGA 域名生成和检测算法
  19. 软件测试思想者 - “中华公网共图强”观后感
  20. 方法总结分享|金融时间序列联动相关及风险溢出

热门文章

  1. Python数据挖掘——概要
  2. 《一出好戏》讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何?...
  3. vuex是什么?怎么用?
  4. 每个猫群里都分为雄猫和雌猫,第一个猫群里有1只雄猫和n只雌猫,第二个猫群里有2只雄猫和n-1只雌猫....第n个猫群里有n只雄猫和1只雌猫。 xjy和hqy都很喜欢猫,他们对猫分别有好感度a和b,当
  5. 三星s4android操作系统耗电,三星s4耗电快怎么办?怎么解决?三星Galaxy S4耗电问题的解决方法...
  6. 爱拍就拍大头贴 v3.2 免费下载
  7. 线上沟通无忧,华为云会议SmartRoom了解一下
  8. Python爬虫之bs4解析实战篇_爬取星巴克菜单【Python爬虫】
  9. 【合作】网站提交入口
  10. java毕设项目果之芒农场销售系统(附源码)