Skip to content

Voyage is an object persistence abstraction layer for Pharo.

License

Notifications You must be signed in to change notification settings

dalehenrich/voyage

 
 

Repository files navigation

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

About

Voyage is an object persistence abstraction layer for Pharo.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Smalltalk 85.6%
  • HTML 14.4%