[Seaside] Question about remote admin and vnc

Florian Minjat florian.minjat at emn.fr
Sun Feb 12 14:46:02 UTC 2006


I made a small Seaside component to load package from Monticello into 
the image. See the attached fileout if you are interested.

Florian

Todd Blanchard wrote:
> Oh thank goodness - I was just about to write something that did that!  :-)
> 
> You don't happen to have a little listener that will let me sync a prod 
> image from my dev image by treating prod image as a MC repository do you?
> 
> I've just rented a server at a hosting facility and am going to begin 
> deploying some stuff for real so lots of little operational kinks to 
> work out.
> 
> On Feb 12, 2006, at 12:03 AM, Avi Bryant wrote:
> 
>>
>> On Feb 10, 2006, at 10:47 PM, Todd Blanchard wrote:
>>
>>> Do people use the VNC server in squeak usually or just set one up for 
>>> the whole box?  Is the squeak one good enough to manage a seaside app 
>>> running on a remote linux server?
>>
>> We use the one in Squeak, it works great.  Check out WAVNCController 
>> as a way to turn it on only as needed (and suspend/resume the UI 
>> process while you're at it, to reclaim a few CPU cycles).
>>
>> Avi
>> _______________________________________________
>> Seaside mailing list
>> Seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
-------------- next part --------------
'From Squeak3.8 of ''5 May 2005'' [latest update: #6665] on 12 February 2006 at 3:44:06 pm'!
WAComponent subclass: #WAMonticello
	instanceVariableNames: 'load mch password user repository version'
	classVariableNames: ''
	poolDictionaries: ''
	category: 'FoilFoil'!

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:28'!
load
	load ifNil: [ load _ false].
	^load! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:27'!
load: aBool
	load _ aBool! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:30'!
mch
	^ mch! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:30'!
mch: aMch
	mch _ aMch! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:03'!
password
	^ password! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:02'!
password: aPswd
	password := aPswd! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 2/12/2006 15:43'!
repository
	repository ifNil: [ repository := 'http://kilana.unibe.ch:8888/' ].
	^ repository! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:03'!
repository: aRep
	repository _ aRep! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:52'!
reset
	self load: nil.
	self mch: nil.
	self password: nil.
	self user: nil.
	self repository: nil.
	self version: nil.! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:02'!
user
	^user! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:02'!
user: aUser
	user := aUser! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:03'!
version
	^version! !

!WAMonticello methodsFor: 'accessors' stamp: 'FM 11/30/2005 18:03'!
version: aVer
	version _ aVer! !


!WAMonticello methodsFor: 'seaside' stamp: 'FM 12/12/2005 14:05'!
initialize
	self reset! !

!WAMonticello methodsFor: 'seaside' stamp: 'FM 2/12/2006 15:43'!
renderContentOn: html
	| fileNames versionSnap |

	(self repository notNil) & (self user notNil) & (self password notNil) 
	ifFalse: [ "ask for repository/user/pass"
		html form: [
			html text: 'Repository : '.
			html textInputOn: #repository of: self; br.
			html text: 'User : '.
			html textInputOn: #user of: self; br.
			html text: 'Password : '.
			html passwordInputWithValue: (self password) callback: [: pass | self password: pass ] ; br.
			html submitButtonWithText: 'GetVersions'; br; submitButtonWithAction: [ self reset ] text: 'Reset'.
		]
	] ifTrue: [
		(self version notNil) & (self mch notNil) & (self load)
		ifFalse: [ "get versions"
			html form: [
				[ 	self mch: ( MCHttpRepository location: (self repository) user: (self user) password: (self password) ).
					fileNames := self mch allFileNames.
					html text: 'Version : '; selectFromList: fileNames selected: 1 callback: [:v | self version: v]; br. 
					html submitButtonWithAction: [ self load: true ] text: 'Load!!'.
				] on: Error do: [:error | html text: 'ERROR : '; text: error messageText; br ]
			]
		]
		ifTrue: [ "load!!"
			html form: [
				[	versionSnap := self mch loadVersionFromFileNamed: self version.
					versionSnap load.
					html text: 'Version ', self version, ' successfully loaded'.
				] on: Error do: [:error | html text: 'ERROR : '; text: error messageText; br ]
			]
		]
	]! !

"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!

WAMonticello class
	instanceVariableNames: ''!

!WAMonticello class methodsFor: 'as yet unclassified' stamp: 'FM 11/30/2005 17:56'!
canBeRoot
	^ true! !

!WAMonticello class methodsFor: 'as yet unclassified' stamp: 'FM 11/30/2005 17:57'!
initialize
	self registerAsApplication: 'MonticelloLoad'.! !


WAMonticello initialize!


More information about the Seaside mailing list