[Seaside] ShoreComponents/Scriptaculous incompatibility

Norbert Hartl norbert at hartl.name
Tue Jan 16 11:54:24 UTC 2007


I discovered a problem when using scriptaculous and
shorecomponents in the same web application. I was
not able to use the html updater after loading and
using ShoreComponents. It depends on the order in
which the libraries are added to the application.
The conflicting libraries are SULibrary and 
ShoreStandardScripts. Loading ShoreStandardScripts
first and then SULibrary the updater works. The other
way round it doesn't.

I'll attach an example app which demonstrates the
problem. It registers the app at two entry points
with different library order. One is working the
other isn't. 

I'm using 

Seaside 2.7a1-pmm.153

-------------- next part --------------
'From Squeak3.9 of 7 November 2006 [latest update: #7067] on 16 January 2007 at 12:45 pm'!
WAComponent subclass: #ShoreScriptTestComp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Updater-Test'!
!ShoreScriptTestComp methodsFor: 'as yet unclassified' stamp: 'noha 1/15/2007 15:31'!
	^ false! !
!ShoreScriptTestComp methodsFor: 'as yet unclassified' stamp: 'noha 1/15/2007 15:37'!
renderCheckboxOn: html 
	html checkbox id: 'thecheckbox';
		 onChange: (html updater id: 'thediv';
			 triggerFormElement: 'thecheckbox';
			 on: #renderDivOn: of: self);
			on: #check of: self.
			html text: 'exchange text'.! !
!ShoreScriptTestComp methodsFor: 'as yet unclassified' stamp: 'noha 1/15/2007 15:38'!
renderContentOn: html
	super renderContentOn: html.
	html text: 'check box test'.
	html form: [ self renderCheckboxOn: html ].
	html div id: 'thediv'; with: [ html text: 'initial text' ].! !
!ShoreScriptTestComp methodsFor: 'as yet unclassified' stamp: 'noha 1/15/2007 15:31'!
renderDivOn: html
	html text: 'exchanged text'! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
ShoreScriptTestComp class
	instanceVariableNames: ''!
!ShoreScriptTestComp class methodsFor: 'as yet unclassified' stamp: 'noha 1/16/2007 12:44'!
	super initialize.
	(self registerAsApplication: '/shorescripttest-defect') addLibrary: SULibrary; addLibrary: ShoreStandardScripts.
	(self registerAsApplication: '/shorescripttest')  addLibrary: ShoreStandardScripts; addLibrary: SULibrary.! !
ShoreScriptTestComp initialize!

More information about the Seaside mailing list