开源项目Cuyahoga (兴趣小组 詹鑫昌)

开源项目Cuyahoga就是利用Nhibernate开发的 感觉Cuyahoga 就是一个website framework 也可以说是一个一种ORM工具 更通俗一点 就是一个大的新闻系统 以前曾对Nhibernate有一定的了解 Cuyahoga学习起来还是步履蹒跚 弄了2 进度缓慢 总体来说有以下几点体会

  

    1. 安装需求  vs 2005 sp1开发环境

 


    2.
安装步骤 1.打开解决方案文件用VS.NET编译

                  2.打开SQL SERVER,建立数据库

                  3.修改web.config中的连接字符串

                  4.default设置成起始页 按照提示一步一步搭建后台

 

 

    3. 内容管理(从网上了解到的 切身体会还不深):首先,Cuyahoga是采用节点式来管理内容的,说节点太陌生,说页面大家都理解吧,本来网站就是若干个由页面组成的书,但是,其又不是完全是树型的,链接相当于对一个节点的快速引用,因此,Cuyahoga就把页面视为节点
第二点是关于布局的,CUYAHOGA把页面分成三部分,顶部的GlobalMenu,左侧的Maincontent,右侧的Section,其实很好理解嘛,主菜单,正文节,导航段
每一个节点都是一个页面,都包含这三个部分,每一个页面都可以自由设计,但是,有一点需要知道的就是,只有根节点有MENU选项,允许使用MENU的方式添加顶部莲接,其他页面都继承ROOT的顶部菜单
另外,还有就是Maincontent,SectionGlobalMenu的内容问题了
内容,其实在这里划分为以下几种,也就是对应模块了,有文章型,搜索表单,用户登录框,静态HTML,切换语言按钮,下载列表和RSS引用,当然,这些是它内置的模块了,可以直接引用,但如果你需要有PHOTO GALLERY模块,你可能就要自己开发了,这些模块实际上扮演内容提供者的角色,每一种模块提供一种类型的内容,每一种内容皆可放置于页面的三个布局位置,这种设计非常符合分离模式,页面中的三部分相当于容器,需要在Section部分(右侧)添加用户登录时,你就添加一个SECTION的引用即可
所以,Cuyahoga是使用节点来组织页面,节点与节点形成层次关系,节点与节点间,相互引用,节点反映的是站点的组成页间的关系,至于每一页,则采用布局和内容分离,由内容提供者提供内容,然后,某个布局节来引用,这样一来,设计上可以说是非常灵活了

还有一个问题,就是许多人添加了节点,例如根节点吧,想在节点正文区放内容,例如放一段静态公告,于是,添加了引用STATICHTML模块内容的SECTION,可是,却不知道如何编辑该SECTION的内容(很多人都是在这里卡住了)
其实很容易,那就是,在根节点上添加一个用户登录SECTION,然后浏览该节点,登录该节点,登录后,你就会发现,节点上每个SECTION上都有EDITSection Property链接了,通过EDIT链接,就可以编辑内容了

 

    4框架结构: 1.      Articles 发表文章用类似于个人Blog可以回复;

            2.      DownLoads 下载列表;

            3.      Search 搜索引擎 采用Lunece,对这个我还没有了解过;

            4.      StaticHtml等等,发布公告用;

 

 

   (这部分目前我也仅仅是我看到的 实践不深) Cuyahoga.Core项目正如名称的意思它是Cuyahoga的核心项目,主要是封装了cuyahoga的持久化对象以及相应的公共处理类,它下面主要分为Domain,Search,Security,Service,Util等。

Domain里面保存的整个系统的持久化对象类和相应的配置文件(*.hmb.xml),关于查找Nhiernate的各种表关系如何写配置文件的朋友,可以多看看这里,您的疑问大部分都能在这里找到例子:);

Search里面是关于整个系统全文索引的内容,想研究dotLuncene的朋友可以在这里找例子,由于对这个不熟悉,偶不敢多言;

Security里用来设置授权用户的;

Service文件夹里保存的时候该系统能用到的公共处理类,不要看这里文件少,这里的文件比较重要,想采用Nhibernate框架的朋友,这里可是精华中的精华哦,曾经有个朋友问我怎么找不到Cuyahoga再哪里加载持久化对象呢,呵呵,看到这里后估计大家就不会再问这样的问题了;

Util保存的是一些放之四海都能用的公共类信息,很基础的,大家如果项目中能用到的话就赶快发挥拿来主义精神吧:)。

 

Cuyahoga.Modules项目保存的是Cuyahoga内置的那几种模块,通过这里可以了解到如何用Nhibernate来封装业务逻辑了。内置的模块主要有:文章管理模块(article, 语言转换模块(LanguageSwitcher),远程内容管理模块(RemoteConent,搜索模块(Search,静态公告管理模块(staticHtml,用户注册模块(User)。这些是Cuyahoga内置的模块,这里可以用来学习都是如何应用Nhibernate来处理业务层的,其中业务层的处理文件都名命名为***Module.cs,譬如:在文章管理模块的业务处理文件是ArticleModule.cs

 

Cuyahoga.Modules.Downloads项目是下载管理模块的源代码,我想Cuyahoga通过这个模块想向大家展示的应该是如何在Cuyahoga里自由添加模块,这样用户可以根据自己的需要在Cuyahoga里面添加模块了。

 

Cuyahoga.ServerControls是保存整个项目都能用到的一些控件,这里主要有两个控件,一个日历控件和一个分页处理控件。

 

Cuyahoga.Test里面主要是保存Cuyahoga的测试用例

 

你可能感兴趣的:(开源项目Cuyahoga (兴趣小组 詹鑫昌))