'From Squeakland 3.1.4295 of 24 August 2001 [latest update: #107] on 5 June 2002 at 11:59:54 am'! "Change Set: macRelServer-mir Date: 5 June 2002 Author: Michael Rueger Introduces a workaround so references to local project directories can be in relative form."! !ServerDirectory class methodsFor: 'server prefs' stamp: 'mir 6/4/2002 14:41'! determineLocalServerDirectory: directoryName "This is part of a workaround for Mac file name oddities regarding relative file names. The real fix should be in fullNameFor: but that seems to break other parts of the system." | dirName | dirName _ directoryName. (Smalltalk platformName = 'Mac OS' and: [directoryName beginsWith: ':']) ifTrue: [dirName _ (FileDirectory default pathName , directoryName) replaceAll: '::' with: ':']. ^FileDirectory default directoryNamed: dirName! ! !ServerDirectory class methodsFor: 'server prefs' stamp: 'mir 6/4/2002 14:42'! parseServerEntryFrom: stream | server type directory entries serverName | entries _ self parseServerEntryArgsFrom: stream. serverName _ entries at: 'name' ifAbsent: [^nil]. directory _ entries at: 'directory' ifAbsent: [^nil]. type _ entries at: 'type' ifAbsent: [^nil]. type = 'file' ifTrue: [ server _ self determineLocalServerDirectory: directory. entries at: 'userListUrl' ifPresent:[:value | server eToyUserListUrl: value]. entries at: 'baseFolderSpec' ifPresent:[:value | server eToyBaseFolderSpec: value]. ^self addLocalProjectDirectory: server]. type = 'bss' ifTrue: [server _ SuperSwikiServer new type: #http]. type = 'http' ifTrue: [server _ HTTPServerDirectory new type: #ftp]. type = 'ftp' ifTrue: [server _ ServerDirectory new type: #ftp]. server directory: directory. entries at: 'server' ifPresent: [:value | server server: value]. entries at: 'user' ifPresent: [:value | server user: value]. entries at: 'group' ifPresent: [:value | server groupName: value]. entries at: 'passwdseq' ifPresent: [:value | server passwordSequence: value asNumber]. entries at: 'url' ifPresent: [:value | server altUrl: value]. entries at: 'loaderUrl' ifPresent: [:value | server loaderUrl: value]. entries at: 'acceptsUploads' ifPresent: [:value | server acceptsUploads: value asLowercase = 'true']. entries at: 'userListUrl' ifPresent:[:value | server eToyUserListUrl: value]. ServerDirectory addServer: server named: serverName. ! !