Log in | Register | Edit
last-edited 29-Aug-2008/10:23:06+1:00 by Luke
software/citrusweb/introduction

Introduction

What is it

CitrusWeb is a CGI based web application framework written in REBOL written specifically as a web application. It aims to be simple to use, even for novice users, yet powerful enough to implement a range of moderately sophisticated dynamic pages.

In concept it is inspired by many things, primarily:

  • Zope - an excellent web application framework written in python
  • Vanilla - a REBOL based wiki/weblog by Chris Langreiter and friends
  • REST - an architectural view of how to best develop "web-like" applications with url structure mapping directly onto logical application structure.

The most important aspect of CitrusWeb is that all day-to-day content editing and configuration is controlled via a web (browser) interface.
It aims for very high end-use usability and allows the creation of "self-editing" web sites, somewhat like the concept of Wiki or a web log, but has the following extra
features, not normally found in wiki or weblog software:
  • Structured nested content using "folders"
  • Simple familiar user interface (file explorer style)
  • Different "static" rendering engines (different wiki styles)
  • User editable "dynamic" content (i.e. "embedded"

  • REBOL cgi-bin scripts)
Other features include
  • User registration and log in
  • Simple installation process
  • Administration module for assigning permissions to users (i.e. restrict to certain parts of the tree or certain object types only)
  • User editable REBOL scripts run in a administrator-configurable "sandbox"
  • Simple internet style url mapping to content (e.g. http://yourserver/cgi-bin/viewer/folder1/page2)
  • Javascript clickable tree, but also non-javascript tree generated (i.e. works in all browsers)
  • Globally configurable styles and colours
  • Cross platform deployment (thanks to REBOL)

Credits
To the Vanilla team, Chris Langreiter, Andreas Bolka and friends for some of the underlying rendering concepts and some aspects of the session/user managment module. If you havent tried Vanilla yet, you should give it a go.
Also to Carl Sassenrath for providing the MakeDoc rendering engine which has been incorporated. And for REBOL of course!
Applications
Possible applications include:
  • simple content based website
  • weblog
  • dynamic web application

Example
This site!
Installation
  • Download the collection of REBOL CGI pages onto your local machine (see software/citrusweb/download. You must have a CGI compatible webserver capable of running REBOL cgi scripts.
  • Extract the contents into a folder (such as "citrus-web") beneath the webserver's CGI-BIN folder.
  • Configure the key scripts (viewer, static-viewer) to be executed by the REBOL executable for your platform. This can usually be done by editing the first line of the script to point to your instance of the REBOL binary. If you run on Unix/Linux you will need to chmod them to 755.
  • Edit config.txt to set up the application for your requirements, definining graphical elements to be used, and basic colour scheme etc
  • If everything has been set correctly, point your web browser at: http://yourserver/cgi-bin/citrus-web/viewer


powered by CitrusWeb 0.3b