Crystal Core Documentation

From OpenWiki

Jump to: navigation, search

Contents

[edit] Crystal Core

Crystal Core is a framework that is based on the Zend Framework and uses Doctrine as the ORM package. This framework has a defined filesystem and configuration structure that supports the use of modules.

[edit] Benefits

The main benefits of using Crystal Core over the plain Zend Framework is the integration of Doctrine and the addition of a number of classes and modules that do a lot of the mundane work required in most web applications for you automatically. Some examples include.

  • Crystal_View - Supports layouts in addition to all the Zend_View features
  • Crystal_Record - Enhances validation for Doctrine records and provides integration with Crystal_Form
  • Crystal_Form - Dynamically create web forms based on one or more Crystal_Records and validate input

Crystal Core also provides a number of modules that can be used in your web applications that create new functionality or extend existing functionality.

  • Auth - The authentication module extends the Zend_Auth functionality to provide associated views and models
  • ACL - The ACL module extends the Zend_ACL module to provide a consistent interface, views and models

Finally, Crystal Core also integrates client side javascript libraries to allow you to make Web 2.0 apps a lot easier.

  • YUI - The Yahoo User Interface library
  • Ext - The yui-ext extension library that provides rich client side controls.

[edit] Filesystem Structure

The file system structure follows the outline laid out in the Modular Directory setup described in the Zend Framework.

[edit] Getting Started

If you have never used Crystal Core or the Zend Framework you should probably start by looking at the sample application provided. Once you have that working you can create your own application by following the instructions in the Starting a Crystal Core App.

[edit] Sample Application

You can check out a sample application by doing a checkout of the following url http://open.uversainc.com/svn/crystalcore/sample/trunk. This is a complete application that uses crystal core.

[edit] Starting a Crystal Core App

We provide a skeleton application that you should export into an empty directory to use as a starting point for your own application. Follow the instructions below to create a new application.

svn export http://open.uversainc.com/svn/crystalcore/skel/trunk /home/cpowers/newapp
svn co http://open.uversainc.com/svn/crystalcore/core/trunk/ /home/cpowers/newapp/library

Then you can edit the default config.ini file to meet your needs and setup apache to use /home/cpowers/newapp/htdocs as the DocumentRoot for the new application.

Personal tools