Richard

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
前言

        接触NHibernateCuyahoga已经很久了,但是一直以来我都没有能够深入的了解Cuyahoga,实在是看不懂啊(水平比较菜),只是了解了NHibernate的一些基本的实体关系和关系数据库之间的映射应用。中间又断断续续的看了一些其他ORM的应用,都各有优缺点(只是在应用级别上),在试用了其他的ORM产品之后,有一种众里寻她千百度,那人确在灯火阑珊处的感觉,特别是我在接触了Coyahoga之后。刚好前天有人发了一片关于Cuyahoga文章,再次激起了我的兴趣,正好这几天比较闲,就学习了一下。

 

Coyahoga(下面是官方网站上的介绍)

        Cuyahoga是开源的.NETWeb站点框架。他提供了内容管理功能,并且提供了模块化的解决方式。目前她可以很好的在.NET 1.1Mono下以SQLServerPostgreSQLMySQL作为数据存储来运行。本项目的主要目标:向.NET开发者表现以不同于以往的构建Web应用程序的方式构建一个Web站点。虽然本项目主要面向.NET开发者,但是任何感兴趣的人都可以下载Soure并且运行她(当前版本0.9.0)。

 

安装

        菩提本非树Blog里已经写的很清楚了。

 

页面框架

        在开始研究源代码之前,必须要对Cuyahoga的页面对象模型要有了解,要不然会云里雾里,就象我第一次接触她一样。

        我们构建一个Web应用的时候,

第一步:创建一个Web站点,我们用WebSite对象来描述;

第二步:一个Web站点,是由多个页面组成的,在这里Node对象来描述,创建Node

第三步:每个页面可以由菜单(Menu),导航栏(同样以Node对象来描述)和正文部分(Section对象来描述) Node里添加Section

如图:Section有三种位置可以放(maincontent gloabmenu side1content)。

 
        Header

                                             Header  

                       Menu部分 Section部分(gloabmenu

 

 

Node或者叫

Navigate部分

 

                            Section部分(maincontent

 

 

                           Section部分(maincontent

 

  Section部分

side1content

 

                          

                            Section部分(maincontent

 

 

 

  Section部分

side1content

                          

                            Section部分(side1content  

 

 

 

 

                                 

                                                              Footer 

 

 

 

 

 

如果还不够直观看这里(http://www.cuyahoga-project.org/10/section.aspx/35)但是这里把Node放在右边。

 

创建站点

        按照上面的步骤:在管理页面创建一个站点,然后点击右上角的“View The Current Site”,就可以进入你刚才设置的站点(这里要注意NodeSection的权限设置,为了能够通过,暂时全部勾上)。

在您构建的时候,你可能已经发觉了,构建成功后,MenuNode基本就定下来了,而Section则是千变万化,你在一个节点上,可以在三个位置随意添加Section

 

Note:现在您应该对Cuyahoga有了一个直观的认识,利用Cuyahoga你可以很快的搭建出一个WebSite的框架。

 

Module理解(模块化) 
        框架搭建出来了,显示内容呢?? Section只是页面框架中正文部分的描述,Section的内容是从哪里来的呢??在Node 中添加Section的时候,General---àModule里你可以选择的Module有如下:

        1)      Articles 发表文章用类似于个人Blog可以回复;

        2)      DownLoads 下载列表;

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

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

        这些Module之间是没有关系的,在功能上来说是互相独立的,他们各自只和User有关,但他们在框架上又是有联系的,因为他们都继承了框架的基础类。 我们也可以自己开发Module,但要继承Cuyahoga的基础类,二次开发后面介绍。

  Note:我更觉得Cuyahoga像是一个插件式的框架,你可以将开发出来的Module,任意的插在Section中显示出来。

 

以上是我的粗糙的体会,希望不会挨骂,呵呵。

posted on 2008-02-19 21:05  Richard Sun  阅读(220)  评论(0编辑  收藏  举报