[SW2] Some new features

Lukas Renggli renggli at iam.unibe.ch
Mon Jul 26 10:16:09 MEST 2004



Hi David,

some comments about your code:

- I don't know if we want to do this again in SmallWiki 2. It caused 
some confusion in SmallWiki 1:

	InternalLink>>accept: aVisitor
		self isBroken
			ifFalse: [ aVisitor visitInternalLink: self ]
			ifTrue: [ aVisitor visitInternalLinkBroken: self ]

- Mhh, I'm not quite happy with your extensions to the smiley-class. I 
do want to keep the Model free of any HTTP dependent stuff and you 
define the smilies using URLs pointing to the university server. I 
would prefer to have the images within the code and serve them using 
Seaside. A lot of people complained about being dependent of the 
university server.

- A previously running test fails.

- You added a space into the tree component before the label. This is 
the responsibility of the CSS-Stylesheet. No layout information in the 
Smalltalk code. Not even a single space :) It is much more consistant 
to put a ".label { margin-left: 10px }" into the style-sheet. Hey 
Frederic, could you have a look at the generated XHTML code and create 
some funky CSS? This would be really cool!

	TreeComponent>>renderNodeLabel: aModel on: html
		html spanClass: #label with: [
			html anchorWithAction: [ self select: aModel ] do: ' ' , aModel 
title ].

- For your code in the subclasses of RelatedComponent: You start your 
search in the root of the wiki, but I think the default should be to 
start in the current structure. Maybe we want to add a property to let 
the user specify where to start.

- I suspect you didn't understand the idea of RelatedComponent. Why do 
you have for all your subclasses two almost identical method-bodies 
like #structures and #search...? Why do you customize the rendering for 
each subclass? The only thing you need to do is to override the method 
#structures and everything else should be handled by the abstract 
parent. The strings you define in your rendering methods (e.g. 'There 
are no external links in the wiki' or 'In ... these links are 
outgoing:') shouldn't be there, this is the responsibility of the 
CSS-Stylesheet as this is a property of the layout. Generally every 
component should consist only of a configurable title-string (provided 
by BodyComponent) and all the necessary information within div, span, 
ul, li, etc tags.

Of course I'm open for your opinions, I just tried to explain how I 
intended to implement the new generation of SmallWiki.

Cheers,
Lukas

-- 
Lukas Renggli
http://renggli.freezope.org




More information about the SmallWiki mailing list