Skip to content
Voyage is an object persistence abstraction layer for Pharo.
Branch: tugrik
Clone or download
Pull request Compare This branch is 261 commits ahead, 255 commits behind pharo-nosql:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gsdevkit/tode
mc
.gitignore
.smalltalk-tugrik.ston
.smalltalk-unqlite.ston
.smalltalk.ston
.travis.yml
LICENSE
README.md

README.md

Voyage Build Status

Voyage is an object persistence abstraction layer for Pharo.

Voyage is a common layer for different backends but currently it supports just two: an in-memory layer and a backend for the MongoDB database (http://mongodb.org). There is a third backend for GemStone/S 64 that is in the proof of concept stage.

Documentation

Pharo for the enterprise book

Voyage is part of the upcoming "Pharo for the Enterprise 2" book, and Johan Fabry (along with Damien Cassou) has written a nice chapter on it: HTML / PDF

Others

MongoDB

###Install

Just install it from you Pharo catalog.

You can also install it executing scripts:

Voyage-Mongo

Metacello new 
	repository: 'github://pharo-nosql/voyage/mc';
	baseline: 'Voyage';
	load: 'mongo tests'.

Voyage-UnQLite

Metacello new 
	repository: 'github://pharo-nosql/voyage/mc';
	baseline: 'Voyage';
	load: 'unqlite tests'.

Voyage-Tugrik

Voyage-Tugrik is a GemStone/S 64 backend for Voyage that is based upon Tugrik a persistence layer for Pharo5.0 that is compatible with the MongoTalk Smalltalk API.

Proof of Concept

At this stage, Tugrik is passing all of the Mongo tests and Voyage-Tugrik is passing all of the Voyage tests. In total there are a little over 100 tests, so the work is far from complete, but it is encouraging to be at this stage.

Install GsDevKit_home

The following are based on the GsDevKit_home installation instructions:

# Install GsDevKit_home
git clone https://github.com/GsDevKit/GsDevKit_home.git
cd GsDevKit_home
. bin/defHOME_PATH.env # define $GS_HOME in your shell ... needed when running GsDevKit_home shell commands
installServerClient

# Create tODE client
createClient tode

Create Voyage stone and Voyage client

# Create Voyage stone
createStone -u http://gsdevkit.github.io/GsDevKit_home/Voyage.ston -i Voyage -l Voyage Voyage 3.3.1

# Create Voyage Pharo5.0 client
createClient -t pharo voyage -l -v Pharo5.0 -z $GS_HOME/shared/repos/voyage/.smalltalk-tugrik.ston

# Start interactive Voyage client
startClient voyage -s Voyage

Voyage client image update doIt

(FileLocator imageDirectory / 'customClientLoad.st') fileIn

Client-Server Architecture References

Voyage References

Client-Server Architecture References

You can’t perform that action at this time.