Goliat Installation Guide for v0.1.1

Goliat is written in Python programming language and needs a database SQLite, MySQL or PostgreSQL to create and use schemes. For HTML rendering, Goliat uses the ExtJS library and the Evoque template engine. For communicate with the database Goliat uses the Canonical Storm ORM or the twisted-storm branch. For COMET real time web communication Goliat uses Orbited. For schema and config files parse Goliat uses PyYAML.

Installation Steps

  1. Gentoo Users
  2. Dependencies
    1. Mandatory Dependencies
    2. Optional Dependencies
  3. Installing Goliat
    1. The easy way: Goliat Interactive setup script
    2. Advanced Options
  4. Using Goliat

Gentoo Users

If you are a Gentoo user and you are in love with portage just go to the Donwloads wiki page

Dependencies

Mandatory Dependencies

To install Goliat, the following dependencies must be installed.

You also need a database manager and the corresponding Python bindings. The database can be either SQLite, MySQL or PostgreSQL(recommended).

For the SQLite database

As you will be running Python 2.5 or later you don't need anything more to communicate with SQLite database.

For MySQL database

You need to install the database and its Python bindings if you are planning to use MySQL as your database system.

  • MySQL, version 5.0 or later
  • MySQLdb, version 1.2.2 or later

On Debian based you can install it using apt tools as:

sudo apt-get install python-mysqldb mysql-server 

On Gentoo based you can install it using portage as:

sudo emerge -avD mysql mysql-python

For PostgreSQL database

You need to install the database and its Python bindings if you are planning to use PostgreSQL as your database system.

On Debian based you can install it using apt tools as:

sudo apt-get install python-psycopg2 postgresql

On Gentoo based you can install it using portage as:

sudo emerge -avD postgresql-base psycopg

Optional Dependencies

Orbited

According to their web site Orbited provides a pure JavaScript/HTML socket in the browser. It is a web router and firewall that allows you to integrate web applications with arbitrary back-end systems. You can implement any network protocol in the browser—without resorting to plugins.

This mean that orbited can offer networking related stuff to our Web Clients without any type of 3rd party software involved. Goliat can configurate and start Orbited proxies for your web applications but is not needed to work with if you are not planning to use COMET in your application.

To install Orbited just execute the easy_install command as root:

sudo easy_install orbited

Maybe your ditribution also has a packed version of Orbited, check it, if so, install it as any other package.

If you are planning to use the STOMP protocol in your Goliat Modules (backend) you will want to install stomper and stompservice too. You can install it with easy_install or look for it in your distribution packages repository as well.

Storm Twisted integration

Goliat can work with or without twisted integration for Storm, work with the twisted integration offers several advantages in optimization as Goliat will use DeferredStore instead of Store for the database transactions.

In order to install Storm with twisted-integration you will uninstall any previous Storm installation in your system, and then donwload the bazaar repository from Canonical launchpad and install it manually.

The Twisted-Storm intergration can be found here.

Note that Goliat can build a Storm Twisted-Integration and install it for you, look at The easy way for details.

Installing Goliat

There are two ways of install Goliat in your system.

The first one is install all the Goliat dependencies as with any other software, downloading it from sources, precompiled binaries or just using your distribution package manager.

The seccond one is following the easy way described below.

The easy way: Goliat Interactive setup script

The Goliat interactive setup script can install some Goliat dependencies for you. Before to proceed with the setup script just install those dependencies that Goliat can not install for you, those are:

  • Database System and Python Bindings reference.
  • Bazaar libraries, are needed for the interactive setup to donwload and build Twisted Storm integration.

Donwload the latest stable Goliat release 'release_here' and uncompress it at your will, when done, just cd to the goliat directory and execute the setup script as root:

$ sudo python setup.py install

The setup script will detect which dependencies are missing on your system and ask you about their installation.

$ sudo python setup.py install

Storm Twisted branch is required to use the deferred stores from Storm ORM
Goliat can work with the regular Storm libraries but using the Twisted branch (at this
moment waiting for merge to the official branch) should offer a high performance.
NOTE: You need the Bazaar bzrlibs installed in your system to get the branch.
Would you like to install the twisted branch from storm bazaar repository? (recommended) [Yes/No] Yes

The installation script is donwloading the Bazaar repository...
Installing Storm with twisted-integration

...

Goliat uses evoque as template engine.
Would you like to install evoque now? [Yes/No] Yes

Installing evoque.

...

Continue.

Goliat uses qpy with evoque.
Would you like to install qpy now? [Yes/No] Yes

Installing qpy.

...

Continue.

Note that qpy is not really a Goliat dependent software but from Evoque. Goliat code does not require qpy in order to properly work with evoque. For more information about Qpy and Evoque refer to this page.

The setup script will also look for PyYAML and Twisted without need your interaction. In that way you will have a full installed Goliat Framework with all dependencies in your system.

Advanced Options

To install Goliat to a custom directory or find out another advanced installation options run:

$ python setup.py --help 

For example, to install Goliat in a custom directory just run:

$ python setup.py install --prefix=/home/user/custom_directory

Using Goliat

Once you have Goliat installed in your system, you should be able to create new Projects using goliat-mgr command line tool.

Enjoy It!

The Goliat Team