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.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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 ( There is a third backend for GemStone/S 64 that is in the proof of concept stage.


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




Just install it from you Pharo catalog.

You can also install it executing scripts:


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


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


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
cd GsDevKit_home
. bin/defHOME_PATH.env # define $GS_HOME in your shell ... needed when running GsDevKit_home shell commands

# Create tODE client
createClient tode

Create Voyage stone and Voyage client

# Create Voyage stone
createStone -u -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 / '') fileIn

Client-Server Architecture References

Voyage References

Client-Server Architecture References

You can’t perform that action at this time.