[ANN] [PR] Pier 1.0.0-alpha on SqueakMap

stéphane ducasse ducasse at iam.unibe.ch
Sat Nov 19 13:04:17 UTC 2005


>
> Hi,
>
> I just published a first version of Pier (formerly called SmallWiki  
> 2) on SqueakMap, it is still an unofficial and incomplete version,  
> but it is closer to release than ever. Some things are still  
> missing or incomplete (such as a proper and fully functional  
> persistency, lots of tests, query engine is probably too  
> complex ...), but that will certainly improve!
>
> The package includes all the requirements to use Pier within a 3.8  
> image, probably it also works in 3.7 and 3.9. The installer will  
> ask in the beginning if Seaside should be installed, if you tell  
> so, it will automatically go through all the requirements and load  
> DynamicBindings, KomServices, KomHttpServer, Seaside and  
> Scriptaculous. Then Magritte will be loaded and finally Pier.
>
> Start Seaside using "WAKom startOn: 8888" and fire up a browser on  
> "http://localhost:8888/seaside/pier" to play with the system ...
>
> Now for those that have an existing image with code and a model  
> inside they want to keep. That is possible as well of course, but  
> it is not strait-forward: loading the new code from SqueakMap or  
> Monticello won't work, because I renamed package- and class- 
> prefixes. Copy the attached script to a workspace and follow the  
> instructions step-by-step and everything will magically work. If  
> you followed the naming conventions of SmallWiki 2 your code will  
> be automatically updated as well, you just need to publish the new  
> packages ;-)
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
-------------- next part --------------
" 1. rename classes "
Smalltalk allClassesDo: [ :class |
	(class name beginsWith: 'SW2')
		ifTrue: [ class rename: 'PR' , (class name allButFirst: 3) ] ].

" 2. rename class organization "
Smalltalk organization categories do: [ :category | 
	 (category findString: 'smallwiki2' startingAt: 1 caseSensitive: false) = 1
		ifTrue: [ 
			Smalltalk organization 
				renameCategory: category 
				toBe: 'Pier' , (category allButFirst: 10) ] ].

" 3. rename method organization "
Smalltalk allClassesDo: [ :each |
	{ each. each class } do: [ :class |
		class organization categories do: [ :category | 
			(category findString: '*smallwiki2' startingAt: 1 caseSensitive: false) = 1
				ifTrue: [
					class organization
	 					renameCategory: category 
						toBe: '*pier' , (category allButFirst: 11) asLowercase ] ] ] ].

" 4. load Pier-All manually from http://mc.lukas-renggli.ch/pier. This will ask
     for a new instance within Seaside, if you choose the default settings your 
     old wiki will still be available at /seaside/smallwiki and a new one has been
     created at /seaside/pire. The following code removes the now unused Monticello
     packages. "
MCWorkingCopy allManagers copy do: [ :each |
    (each packageName beginsWith: 'SmallWiki2')
        ifTrue: [ each unregister ] ].
     
" 5. display undeclared references in your code "
SystemNavigation default 
	browseMessageList: (SystemNavigation default allMethodsSelect: [ :method |
		method literals anySatisfy: [ :each |
			each isVariableBinding
				and: [ each value isBehavior ]
				and: [ each value name beginsWith: 'PR' ]
				and: [ method getSourceFromFile asString includesSubString: 'SW2' ] ] ])
	name: 'undeclared references to SmallWiki 2 classes'
	autoSelect: 'SW2'.
-------------- next part --------------
>
>
> Lukas
>
> -- 
> Lukas Renggli
> http://www.lukas-renggli.ch
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>



















More information about the Squeak-dev mailing list