Why it was Built

Roddeh CMS was built with the objective of simplifying the task of providing a CMS solution for flash websites.

A typical CMS is designed to manage HTML based websites. Integrating a flash website with such CMS solutions typically requires a large effort from both flash developers and a developer to setup the CMS, prepare webservices etc. Roddeh CMS was designed to absorb this effort.

Features

Roddeh CMS allows administers to modify complex data and manage media in a simple interface.


Modeling Data

The following concepts are supported when modeling data.

The following simple types are supported for modeling the properties of a Class/Data Type.


Uploading Media

Site administrators are able to upload media to folders that have been defined by the flash developer that setup the site CMS.


Multiple Environments

A flash developer can easily define several environments so a site administrator can preview their changes before they are published to the world. The site administrator can then move content between environments without having to manually copy and paste their changes which often leads to human error. Environments can also be used in this fashion to archive old content that may be retrieved at a later date.


Versioning of Content

As site content is updated previous versions are automatically saved allowing the site administrator to roll back to older versions.


No Databases

Roddeh CMS does not use any databases to store data or metadata of any sort. No need to engage a backend developer with database experience.


No Webservices

Due to the nature of how Roddeh CMS stores its data no webservice development is required in order to transfer the data from the webserver to the flash website. All the content of the site is stored in static JSON files. This content is downloaded by the flash website, interpreted based on the definition files and the objects are reconstructed in memory. All of this is done for the flash developer by a library of classes provided with Roddeh CMS.


Code Generation

Typically a flash developer would need to write the model classes for their website. Roddeh CMS has a feature that will generate all the model classes based on the definition files and then bind them to the data that is downloaded from the CMS making integration pain free.

How it Works

Roddeh CMS uses JSON (Javascript Object Notation, more info here) to store, transmit, define and transform data. JSON is a format that allows for modeling of complex data structures that are easily consumed by Object Oriented languages like Flash/Actionscript.

Definitions

Roddeh CMS uses definition files written in JSON to describe the data to be stored. A definition file lists all the properties/fields that are associated with that type of data. The following is an example definition file that could be used to model a book.

{
	"singleton":false,
	"abstract":false,
	"properties":{
		"title":{
			"type":"string",
			"maxLength":50
		},
		"author":{
			"type":"string",
			"maxLength":50	
		}
		"price":{
			"type":"float"
		},
		"image":{
			"type":"string"
		},
		"inStock":{
			"type":"boolean"
		}
	}
}

Transforms

Transforms are used to instruct the CMS interface on how the data will be manipulated through forms. The corresponding transform for the above definition is given as an example below.

{
	"properties":[
		{
			"name":"title",
			"label":"Title",
			"control":"TextInput"
		},
		{
			"name":"author",
			"label":"Title",
			"control":"TextInput"
		},
		{
			"name":"price",
			"label":"Price",
			"control":"TextInput"
		},
		{
			"name":"image",
			"label":"Image",
			"control":"FilePicker"
		},
		{
			"name":"inStock",
			"label":"In Stock",
			"control":"CheckBox"
		}
	]
}

Bringing it Together

The CMS interface uses the definition and the transform to understand the type of data that it is dealing with. It can then generate a form in Flex that is used to manipulate that data. This process is illustrated in the diagram below:

Requirements

Server requirements

Client requirements