home forums resources search newsjoinmembers: 6956
Sections PHP Flash Java Ruby Windows Linux
windows's picture

windows | Tue, 2008-08-19 14:37  tags: , , , ,

Cuyahoga is an open source .NET web site framework. It provides content management capabilities and has a modular approach. Currently it works with MS .NET 2.0 with SQL Server, PostgreSQL or MySQL as database backend. Also, from version 1.5.2, Mono is fully supported again.

The main goal of the project is to show .NET developers that there is a different way of building web applications than the well known sample applications. Although the project is targeted primarily at .NET developers, anybody interested can download the source and start playing.

You can browse the source for Cuyahoga 1.5.2 here.
 

Features

With Cuyahoga you can maintain a web site structure and manage templates, users and roles. All content management is done with separate modules. The webmaster can maintain the site structure, templates, users and roles from a secured administration module. Content management is done via the site itself, so contributors don't need to have access to the site administration.

Users of DotNetNuke, Rainbow Portal or the Portal Starter Kit (former IBuySpy Portal) might recognize some of the concepts that are used (for example, modules) but the main difference is that the layout is completely flexible. The templates are ASP.NET user controls with placeholder web controls where the content is injected. There is no restriction to have a particular layout (no, not everybody likes the 3 column layout :)).

The screenshots section gives an impression of the site administration and some basic content management.

Detailed feature list

  • Node-based site structure with unlimited depth.
  • Multiple sites with one installation.
  • Connectable sections: content modules can communicate with each other across pages.
  • Site aliases: make your site or a specific part of your site accessible from an alternative url.
  • Templates with user-defined content regions.
  • Search engine.
  • Content localization.
  • Authorization on multiple levels (view and edit).
  • Search engine friendly url's.
  • Web based installer
  • Highly configurable caching for better performance (object caching for the core objects and output caching for modules).
  • Content syndication (RSS).
  • WYSIWYG content editor.
  • Database independency due to NHibernate (scripts for MS SQL Server, PostgreSQL and MySQL included).
  • ASP.NET 2.0 support
  • Mono support.
  • Open Source (BSD license)

Cuyahoga Modules

Cuyahoga is divided in a core framework for site structure, authorization and template management on one side and separate modules for displaying content and user interaction on the other side. The modules are completely separated from the core (in their own assemblies). This allows for great flexibility. You can develop your own modules and easily integrate them in your site.

Since Cuyahoga is not meant to be a complete portal solution like DotNetNuke or Rainbow Portal it ships with a limited amount of modules. These function as a sample for how to build your own modules but nevertheless have enough features to enable you to setup a pretty web site with content management abilities that enable non-technical users to maintain a web site.

Currently seven modules are included in Cuyahoga:

  • Articles
    Publish articles or news on your web site including content expiration, rss feeds and comments. See the news section on the homepage for an impression what the outside looks like.
  • StaticHtml
    The most simple form of content management. Just edit the contents of a section and save it. Note that the content (and the content of the Articles module) is edited by a richtext editor, in this case FCKEditor. This editor lets you do some formatting so your pages don't have to look that dull :).
  • Downloads
    Upload files that become available for download. The number of downloads is count and you can restrict download permissions for individual roles and individual files.
  • RemoteContent
    Display content on your site from external sources. Combining multiple sources in one list is possible. The external content is cached locally. You can let the content refresh asynchronously to reduce page loading time when the cached content is expired. Currently only RSS 2.0 feeds are supported as external sources.
  • User
    A login section with links to user-related pages (registration, password reset, edit profile information).
  • Search
    Find content of different modules.
  • Language Switcher
    Navigate to the pages in a site that have a different language.

Maybe some more modules will added in the feature but everybody is greatly encouraged to try and develop their own modules. I'm planning to add a module building how-to to this site. In the meantime check the current modules and how things are done in there. It's not that hard and you're free to ask anything you want in the modules section of the forum.


Happy Publishing!

windows's picture
Join Hiveminds and link to your website or blog.
Thoughtbox - So what did you think?



 
CMS Comparison Matrix

Newsletter

Get updates on Hiveminds services, articles and downloads by signing up for the newsletter.

Editor's choice

Some of the better articles, stories and tutorials found at Hiveminds.

Find more

Find more of Hiveminds articles, stories, tutorials and user comments by searching.




Picked links

Hand picked websites and articles from around the web that provide quality reading.