-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathConfigurationOfOmniBase.st
682 lines (527 loc) · 24 KB
/
ConfigurationOfOmniBase.st
1
'From Pharo3.0 of 18 March 2013 [Latest update: #30787] on 4 March 2014 at 5:22:30.542861 pm'!Object subclass: #ConfigurationOfOmniBase instanceVariableNames: 'project' classVariableNames: 'LastVersionLoad' poolDictionaries: '' category: 'ConfigurationOfOmniBase'!!ConfigurationOfOmniBase commentStamp: '<historical>' prior: 0!!!ConfigurationOfOmniBase methodsFor: 'accessing' stamp: 'sebastiansastre 3/4/2014 10:47'!customProjectAttributes "Edit to return a collection of any custom attributes e.g. for conditional loading: Array with: #'Condition1' with: #'Condition2. For more information see: http://code.google.com/p/metacello/wiki/CustomProjectAttrributes" ^ #().! !!ConfigurationOfOmniBase methodsFor: 'accessing' stamp: 'sebastiansastre 3/4/2014 10:47'!project ^ project ifNil: [ | constructor | "Bootstrap Metacello if it is not already loaded" (self class baseConfigurationClassIfAbsent: [ ]) ensureMetacello. "Construct Metacello project" project := MetacelloMCProject new projectAttributes: self customProjectAttributes. constructor := (Smalltalk at: #MetacelloVersionConstructor) on: self project: project. project loadType: #linear. "change to #atomic if desired" project ]! !!ConfigurationOfOmniBase methodsFor: 'versions' stamp: 'sebastiansastre 3/4/2014 11:16'!version01: spec <version: '0.1' imports: #('0.1-baseline')> spec for: #'pharo3.x' do: [ spec blessing: #stable; author: 'sebastianconcept'; repository: 'gitfiletree://github.com/sebastianconcept/OmniBase.git?protocol=git&readOnly=1&branch=Pharo3.0'; description: 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'. spec package: 'OmniBase' with: 'OmniBase-sebastiansastre.8' ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:04'!baseline10: spec <version: '1.0-baseline'> spec for: #squeakCommon do: [ spec blessing: #baseline. spec project: 'FFI' with: [ spec className: 'ConfigurationOfFFI'; file: 'ConfigurationOfFFI'; repository: 'http://squeaksource.com/MetacelloRepository'. ]. spec package: 'OSProcess' with:[ spec repository: 'http://www.squeaksource.com/OSProcess']. spec repository: 'http://www.squeaksource.com/odb'. spec package: 'OmniBase'. spec package: 'Unexpire' with: [spec requires: 'OmniBase']. spec package: 'omnibasePatch' with: [spec requires: 'OmniBase'].. spec package: 'omnibaseExtensions' with: [spec requires: 'OmniBase']. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version13: spec <version: '1.3' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-sebastiansastre.8'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.16'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version10: spec <version: '1.0' imports: #('1.0-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-NicolasPetton.7'. spec package: 'Unexpire' with: 'Unexpire-sebastiansastre.19'. spec package: 'omnibasePatch' with: 'omnibasePatch-NicolasPetton.15'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-sebastiansastre.24'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version12: spec <version: '1.2' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-NicolasPetton.7'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.16'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version11: spec <version: '1.1' imports: #('1.0-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-NicolasPetton.7'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.16'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 13:35'!version14: spec <version: '1.4' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release; author: 'sebastianconcept'; repository: 'gitfiletree://github.com/sebastianconcept/OmniBase.git?protocol=git&readOnly=1&branch=Pharo3.0&dir=src'; description: 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'. spec package: 'OmniBase'. spec package: 'Unexpire'. spec package: 'omnibasePatch'. spec package: 'omnibaseExtensions'. "spec package: 'OmniBase' with: 'OmniBase-sebastiansastre.11'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.23'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'." ].! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 13:16'!baseline11: spec <version: '1.1-baseline'> spec for: #common do: [ self class ensureGitFileTree. spec blessing: #baseline. spec project: 'FFI' with: [ spec className: 'ConfigurationOfFFI'; file: 'ConfigurationOfFFI'; repository: 'http://squeaksource.com/MetacelloRepository'. ]. spec project: 'OSProcess' with: [ spec className: 'ConfigurationOfOSProcess'; file: 'ConfigurationOfOSProcess'; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'. ]. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 17:12'!version15: spec <version: '1.5' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release; author: 'sebastianconcept'; repository: 'gitfiletree://github.com/sebastianconcept/OmniBase.git?protocol=git&branch=Pharo3.0&dir=src'; description: 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'. spec package: 'OmniBase'. ].! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 17:20'!baseline12: spec <version: '1.2-baseline'> spec for: #common do: [ self class ensureGitFileTree. spec blessing: #baseline. spec project: 'FFI' with: [ spec className: 'ConfigurationOfFFI'; file: 'ConfigurationOfFFI'; repository: 'http://squeaksource.com/MetacelloRepository'. ]. spec package: 'OSProcess' with:[ spec repository: 'http://www.squeaksource.com/OSProcess']. "spec project: 'OSProcess' with: [ spec className: 'ConfigurationOfOSProcess'; file: 'ConfigurationOfOSProcess'; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'. ]." ]! !!ConfigurationOfOmniBase methodsFor: 'symbolic versions' stamp: 'sebastiansastre 3/4/2014 14:25'!stable: spec <symbolicVersion: #'stable'> spec for: #'pharo3.x' version: '1.5'! !!ConfigurationOfOmniBase methodsFor: 'accessing' stamp: 'sebastiansastre 3/4/2014 10:47'!customProjectAttributes "Edit to return a collection of any custom attributes e.g. for conditional loading: Array with: #'Condition1' with: #'Condition2. For more information see: http://code.google.com/p/metacello/wiki/CustomProjectAttrributes" ^ #().! !!ConfigurationOfOmniBase methodsFor: 'accessing' stamp: 'sebastiansastre 3/4/2014 10:47'!project ^ project ifNil: [ | constructor | "Bootstrap Metacello if it is not already loaded" (self class baseConfigurationClassIfAbsent: [ ]) ensureMetacello. "Construct Metacello project" project := MetacelloMCProject new projectAttributes: self customProjectAttributes. constructor := (Smalltalk at: #MetacelloVersionConstructor) on: self project: project. project loadType: #linear. "change to #atomic if desired" project ]! !!ConfigurationOfOmniBase methodsFor: 'versions' stamp: 'sebastiansastre 3/4/2014 11:16'!version01: spec <version: '0.1' imports: #('0.1-baseline')> spec for: #'pharo3.x' do: [ spec blessing: #stable; author: 'sebastianconcept'; repository: 'gitfiletree://github.com/sebastianconcept/OmniBase.git?protocol=git&readOnly=1&branch=Pharo3.0'; description: 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'. spec package: 'OmniBase' with: 'OmniBase-sebastiansastre.8' ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:04'!baseline10: spec <version: '1.0-baseline'> spec for: #squeakCommon do: [ spec blessing: #baseline. spec project: 'FFI' with: [ spec className: 'ConfigurationOfFFI'; file: 'ConfigurationOfFFI'; repository: 'http://squeaksource.com/MetacelloRepository'. ]. spec package: 'OSProcess' with:[ spec repository: 'http://www.squeaksource.com/OSProcess']. spec repository: 'http://www.squeaksource.com/odb'. spec package: 'OmniBase'. spec package: 'Unexpire' with: [spec requires: 'OmniBase']. spec package: 'omnibasePatch' with: [spec requires: 'OmniBase'].. spec package: 'omnibaseExtensions' with: [spec requires: 'OmniBase']. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version13: spec <version: '1.3' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-sebastiansastre.8'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.16'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version10: spec <version: '1.0' imports: #('1.0-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-NicolasPetton.7'. spec package: 'Unexpire' with: 'Unexpire-sebastiansastre.19'. spec package: 'omnibasePatch' with: 'omnibasePatch-NicolasPetton.15'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-sebastiansastre.24'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version12: spec <version: '1.2' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-NicolasPetton.7'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.16'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 11:08'!version11: spec <version: '1.1' imports: #('1.0-baseline')> spec for: #common do: [ spec blessing: #release. spec description: 'Publishing a maintained OmniBase for Pharo'. spec package: 'OmniBase' with: 'OmniBase-NicolasPetton.7'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.16'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 13:35'!version14: spec <version: '1.4' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release; author: 'sebastianconcept'; repository: 'gitfiletree://github.com/sebastianconcept/OmniBase.git?protocol=git&readOnly=1&branch=Pharo3.0&dir=src'; description: 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'. spec package: 'OmniBase'. spec package: 'Unexpire'. spec package: 'omnibasePatch'. spec package: 'omnibaseExtensions'. "spec package: 'OmniBase' with: 'OmniBase-sebastiansastre.11'. spec package: 'Unexpire' with: 'Unexpire-NicolasPetton.20'. spec package: 'omnibasePatch' with: 'omnibasePatch-sebastiansastre.23'. spec package: 'omnibaseExtensions' with: 'omnibaseExtensions-NicolasPetton.25'." ].! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 13:16'!baseline11: spec <version: '1.1-baseline'> spec for: #common do: [ self class ensureGitFileTree. spec blessing: #baseline. spec project: 'FFI' with: [ spec className: 'ConfigurationOfFFI'; file: 'ConfigurationOfFFI'; repository: 'http://squeaksource.com/MetacelloRepository'. ]. spec project: 'OSProcess' with: [ spec className: 'ConfigurationOfOSProcess'; file: 'ConfigurationOfOSProcess'; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'. ]. ]! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 17:12'!version15: spec <version: '1.5' imports: #('1.1-baseline')> spec for: #common do: [ spec blessing: #release; author: 'sebastianconcept'; repository: 'gitfiletree://github.com/sebastianconcept/OmniBase.git?protocol=git&branch=Pharo3.0&dir=src'; description: 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'. spec package: 'OmniBase'. ].! !!ConfigurationOfOmniBase methodsFor: 'as yet unclassified' stamp: 'sebastiansastre 3/4/2014 17:20'!baseline12: spec <version: '1.2-baseline'> spec for: #common do: [ self class ensureGitFileTree. spec blessing: #baseline. spec project: 'FFI' with: [ spec className: 'ConfigurationOfFFI'; file: 'ConfigurationOfFFI'; repository: 'http://squeaksource.com/MetacelloRepository'. ]. spec package: 'OSProcess' with:[ spec repository: 'http://www.squeaksource.com/OSProcess']. "spec project: 'OSProcess' with: [ spec className: 'ConfigurationOfOSProcess'; file: 'ConfigurationOfOSProcess'; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'. ]." ]! !!ConfigurationOfOmniBase methodsFor: 'symbolic versions' stamp: 'sebastiansastre 3/4/2014 14:25'!stable: spec <symbolicVersion: #'stable'> spec for: #'pharo3.x' version: '1.5'! !"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!ConfigurationOfOmniBase class instanceVariableNames: ''!!ConfigurationOfOmniBase class commentStamp: '<historical>' prior: 0!!!ConfigurationOfOmniBase class methodsFor: 'gitfiletree support' stamp: 'sebastiansastre 3/4/2014 10:47'!ensureGitFileTree "And all related dependencies." Smalltalk at: #MCFileTreeGitRepository ifAbsent: [ Gofer new url: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'; configurationOf: 'GitFileTree'; loadDevelopment ]! !!ConfigurationOfOmniBase class methodsFor: 'accessing' stamp: 'sebastiansastre 3/4/2014 10:47'!project ^self new project! !!ConfigurationOfOmniBase class methodsFor: 'loading' stamp: 'sebastiansastre 3/4/2014 10:47'!load "Load the #stable version defined for this platform. The #stable version is the version that is recommended to be used on this platform." "self load" <apiDocumentation> ^(self project version: #stable) load! !!ConfigurationOfOmniBase class methodsFor: 'loading' stamp: 'sebastiansastre 3/4/2014 10:47'!loadDevelopment "Load the #development version defined for this platform. The #development version will change over time and is not expected to be stable." "self loadDevelopment" <apiDocumentation> ^(self project version: #development) load! !!ConfigurationOfOmniBase class methodsFor: 'development support' stamp: 'sebastiansastre 3/4/2014 10:47'!DevelopmentSupport"See the methods in the 'development support' category on the class-side of MetacelloBaseConfiguration. Decide what development support methods you would like to use and copy them the the class-side of your configuration." <apiDocumentation>! !!ConfigurationOfOmniBase class methodsFor: 'development support' stamp: 'sebastiansastre 3/4/2014 10:47'!validate "Check the configuration for Errors, Critical Warnings, and Warnings (see class comment for MetacelloMCVersionValidator for more information). Errors identify specification issues that will result in unexpected behaviour when you load the configuration. Critical Warnings identify specification issues that may result in unexpected behavior when you load the configuration. Warnings identify specification issues that are technically correct, but are worth take a look at." "self validate" <apiDocumentation> self ensureMetacello. ^ ((Smalltalk at: #MetacelloToolBox) validateConfiguration: self debug: #() recurse: false) explore! !!ConfigurationOfOmniBase class methodsFor: 'metacello tool support' stamp: 'sebastiansastre 3/4/2014 10:47'!isMetacelloConfig "Answer true and the Metacello tools will operate on you" ^true! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 11:56'!catalogKeywords ^ #(#Database #Persistence)! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 10:54'!catalogDescription ^ 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 11:56'!catalogKeyClassesAndExample ^ 'OmniBase:http://www.slideshare.net/esug/omni-baseobjectdatabase'! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 10:52'!catalogChangeLog ^ 'Date: March 4, 2014First OmniBase configuration using github'! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 10:54'!catalogContactInfo ^ 'https://github.com/sebastianconcept'! !!ConfigurationOfOmniBase class methodsFor: 'private' stamp: 'sebastiansastre 3/4/2014 10:47'!ensureMetacelloBaseConfiguration Smalltalk at: #MetacelloBaseConfiguration ifAbsent: [ | repository version | repository := MCHttpRepository location: 'http://seaside.gemstone.com/ss/metacello' user: '' password: ''. repository versionReaderForFileNamed: 'Metacello-Base-DaleHenrichs.2.mcz' do: [ :reader | version := reader version. version load. version workingCopy repositoryGroup addRepository: repository ] ]! !!ConfigurationOfOmniBase class methodsFor: 'private' stamp: 'sebastiansastre 3/4/2014 10:47'!baseConfigurationClassIfAbsent: aBlock ^Smalltalk at: #MetacelloBaseConfiguration ifAbsent: [ self ensureMetacelloBaseConfiguration. Smalltalk at: #MetacelloBaseConfiguration ifAbsent: aBlock ].! !!ConfigurationOfOmniBase class methodsFor: 'private' stamp: 'sebastiansastre 3/4/2014 10:47'!ensureMetacello (self baseConfigurationClassIfAbsent: []) ensureMetacello! !!ConfigurationOfOmniBase class methodsFor: 'gitfiletree support' stamp: 'sebastiansastre 3/4/2014 10:47'!ensureGitFileTree "And all related dependencies." Smalltalk at: #MCFileTreeGitRepository ifAbsent: [ Gofer new url: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'; configurationOf: 'GitFileTree'; loadDevelopment ]! !!ConfigurationOfOmniBase class methodsFor: 'accessing' stamp: 'sebastiansastre 3/4/2014 10:47'!project ^self new project! !!ConfigurationOfOmniBase class methodsFor: 'loading' stamp: 'sebastiansastre 3/4/2014 10:47'!load "Load the #stable version defined for this platform. The #stable version is the version that is recommended to be used on this platform." "self load" <apiDocumentation> ^(self project version: #stable) load! !!ConfigurationOfOmniBase class methodsFor: 'loading' stamp: 'sebastiansastre 3/4/2014 10:47'!loadDevelopment "Load the #development version defined for this platform. The #development version will change over time and is not expected to be stable." "self loadDevelopment" <apiDocumentation> ^(self project version: #development) load! !!ConfigurationOfOmniBase class methodsFor: 'development support' stamp: 'sebastiansastre 3/4/2014 10:47'!DevelopmentSupport"See the methods in the 'development support' category on the class-side of MetacelloBaseConfiguration. Decide what development support methods you would like to use and copy them the the class-side of your configuration." <apiDocumentation>! !!ConfigurationOfOmniBase class methodsFor: 'development support' stamp: 'sebastiansastre 3/4/2014 10:47'!validate "Check the configuration for Errors, Critical Warnings, and Warnings (see class comment for MetacelloMCVersionValidator for more information). Errors identify specification issues that will result in unexpected behaviour when you load the configuration. Critical Warnings identify specification issues that may result in unexpected behavior when you load the configuration. Warnings identify specification issues that are technically correct, but are worth take a look at." "self validate" <apiDocumentation> self ensureMetacello. ^ ((Smalltalk at: #MetacelloToolBox) validateConfiguration: self debug: #() recurse: false) explore! !!ConfigurationOfOmniBase class methodsFor: 'metacello tool support' stamp: 'sebastiansastre 3/4/2014 10:47'!isMetacelloConfig "Answer true and the Metacello tools will operate on you" ^true! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 11:56'!catalogKeywords ^ #(#Database #Persistence)! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 10:54'!catalogDescription ^ 'OmniBase is a Smalltalk efficient object repository based on BTrees and filesystem with full ACID features.'! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 11:56'!catalogKeyClassesAndExample ^ 'OmniBase:http://www.slideshare.net/esug/omni-baseobjectdatabase'! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 10:52'!catalogChangeLog ^ 'Date: March 4, 2014First OmniBase configuration using github'! !!ConfigurationOfOmniBase class methodsFor: 'catalog' stamp: 'sebastiansastre 3/4/2014 10:54'!catalogContactInfo ^ 'https://github.com/sebastianconcept'! !!ConfigurationOfOmniBase class methodsFor: 'private' stamp: 'sebastiansastre 3/4/2014 10:47'!ensureMetacelloBaseConfiguration Smalltalk at: #MetacelloBaseConfiguration ifAbsent: [ | repository version | repository := MCHttpRepository location: 'http://seaside.gemstone.com/ss/metacello' user: '' password: ''. repository versionReaderForFileNamed: 'Metacello-Base-DaleHenrichs.2.mcz' do: [ :reader | version := reader version. version load. version workingCopy repositoryGroup addRepository: repository ] ]! !!ConfigurationOfOmniBase class methodsFor: 'private' stamp: 'sebastiansastre 3/4/2014 10:47'!baseConfigurationClassIfAbsent: aBlock ^Smalltalk at: #MetacelloBaseConfiguration ifAbsent: [ self ensureMetacelloBaseConfiguration. Smalltalk at: #MetacelloBaseConfiguration ifAbsent: aBlock ].! !!ConfigurationOfOmniBase class methodsFor: 'private' stamp: 'sebastiansastre 3/4/2014 10:47'!ensureMetacello (self baseConfigurationClassIfAbsent: []) ensureMetacello! !