From renggli at student.unibe.ch Sun Jun 1 08:16:52 2003 From: renggli at student.unibe.ch (Lukas Renggli) Date: Sun, 1 Jun 2003 08:16:52 +0200 Subject: Search Engine Indexing Message-ID: Hi everybody, just discovered today morning that SmallWiki on Kilana got indexed by Google. Try the following keywords: SmallWiki Contents. Unfortunately all the management and edit pages are also indexed, but that is an easy thing to prevent them doing so: I added some lines of code to handle that (robots-meta-tag in html-head) and tell search engines to ignore other sites, except the ones generated by the view-actions. Cheers Lukas -- Lukas Renggli http://renggli.freezope.org From ducasse at iam.unibe.ch Wed Jun 4 22:04:22 2003 From: ducasse at iam.unibe.ch (Stephane Ducasse) Date: Wed, 4 Jun 2003 22:04:22 +0200 Subject: Trick to debug SmallWiki Message-ID: Just add a button in your page with a inspect message :) html submit: 'Inspect' callback: #inspect Now when you press the button you got an inspector. Cooooooool I'm working on a template repository, so this means that next tuesday with lukas we will fine tune it and that we will be able to create, store, modify template for our nice pages :) Stef From renggli at student.unibe.ch Wed Jun 4 22:55:41 2003 From: renggli at student.unibe.ch (Lukas Renggli) Date: Wed, 4 Jun 2003 22:55:41 +0200 Subject: Trick to debug SmallWiki In-Reply-To: Message-ID: > Just add a button in your page with a inspect message :) > > html submit: 'Inspect' callback: #inspect > > Now when you press the button you got an inspector. This is very cool, I was not aware about such things. I like the idea so much, that I added this example and some others to the callback-demo action in the bundle 'SmallWiki Examples'. html anchor: 'Inspector' to: self url callback: #inspect. html anchor: 'Browser' to: self url callback: #browse. html anchor: 'Debugger' to: self url callback: #halt. One could also create a template-component for developer (only) to have those commands always at their fingertip. I also changed the semantics of the callback slightly: A callback is now removed from the cache, after being executed. I think this solves some problems with blocks getting executed twice, when refreshing a page or going back and forward with the browser. As we do not have continuations (yet), it makes no sense to keep them cached. Cheers Lukas -- Lukas Renggli http://renggli.freezope.org From renggli at student.unibe.ch Wed Jun 4 22:55:41 2003 From: renggli at student.unibe.ch (Lukas Renggli) Date: Wed, 4 Jun 2003 22:55:41 +0200 Subject: Trick to debug SmallWiki In-Reply-To: Message-ID: > Just add a button in your page with a inspect message :) > > html submit: 'Inspect' callback: #inspect > > Now when you press the button you got an inspector. This is very cool, I was not aware about such things. I like the idea so much, that I added this example and some others to the callback-demo action in the bundle 'SmallWiki Examples'. html anchor: 'Inspector' to: self url callback: #inspect. html anchor: 'Browser' to: self url callback: #browse. html anchor: 'Debugger' to: self url callback: #halt. One could also create a template-component for developer (only) to have those commands always at their fingertip. I also changed the semantics of the callback slightly: A callback is now removed from the cache, after being executed. I think this solves some problems with blocks getting executed twice, when refreshing a page or going back and forward with the browser. As we do not have continuations (yet), it makes no sense to keep them cached. Cheers Lukas -- Lukas Renggli http://renggli.freezope.org From ducasse at iam.unibe.ch Wed Jun 4 23:04:18 2003 From: ducasse at iam.unibe.ch (Stephane Ducasse) Date: Wed, 4 Jun 2003 23:04:18 +0200 Subject: Naming templates In-Reply-To: Message-ID: <1AF2D161-96D0-11D7-AC09-000393B2AA24@iam.unibe.ch> I like that you like my trick, roel showed me this trick for UI. The inspect button :) I will publish my small work for now. Template will need names. I started to play with the templateEditor and added comments everytimes I understood something. I want to have a templateRepository (with templates with name) so that I can create, load, delete template....this will be cool. and I guess that in less than one hour we can have something really working. Stef Good night On Wednesday, June 4, 2003, at 10:55 PM, Lukas Renggli wrote: >> Just add a button in your page with a inspect message :) >> >> html submit: 'Inspect' callback: #inspect >> >> Now when you press the button you got an inspector. > > This is very cool, I was not aware about such things. I like the idea > so much, that I added this example and some others to the > callback-demo action in the bundle 'SmallWiki Examples'. > > html anchor: 'Inspector' to: self url callback: #inspect. > html anchor: 'Browser' to: self url callback: #browse. > html anchor: 'Debugger' to: self url callback: #halt. > > One could also create a template-component for developer (only) to > have those commands always at their fingertip. > > I also changed the semantics of the callback slightly: A callback is > now removed from the cache, after being executed. I think this solves > some problems with blocks getting executed twice, when refreshing a > page or going back and forward with the browser. As we do not have > continuations (yet), it makes no sense to keep them cached. > > Cheers > Lukas > > -- > Lukas Renggli > http://renggli.freezope.org > From renggli at student.unibe.ch Tue Jun 10 20:05:00 2003 From: renggli at student.unibe.ch (Lukas Renggli) Date: Tue, 10 Jun 2003 20:05:00 +0200 Subject: =?ISO-8859-1?Q?Re:_Feedback_bei_ung=FCltiger_Benutzereingabe?= In-Reply-To: Message-ID: <0D6DBE25-9B6E-11D7-A7CB-000393CFE6C8@student.unibe.ch> Hallo Mike, > Ich habe eine kleine Frage zur Benutzerf?hrung im SmallWiki: falls ein > User eine ung?ltige Eingabe macht (Beispiel: hinzuf?gen einer neuen > Seite mit leerem Titel) machst du momentan einfach etwas > "sinngem?sses" mit Defaultwerten (beim Beispiel: hinzuf?gen einer > Seite mit Defaulttitel Page, Page1, Page2 usw). > Hast du auch in Betracht gezogen, bei einer ung?ltigen Eingabe nix zu > machen und dem User Feedback zu geben? Oder w?re das nicht > Wiki-m?ssig? klar w?re es sch?n, wenn eine f?r den Anwender leicht verst?ndliche Fehlermeldung bei nicht automatisch korrigierbaren Problemen kommen w?rde. Leider ist dies mit der momentanen Architektur nur sehr schwer m?glich, da die Session selber keinen Zustand kennt. Eventuell k?nnte man noch eine Einstellung implementieren, wo man sagen kann was man sehen m?chte: Stacktrace oder nur den Exception-Text. > Ich stelle meine Frage, weil ich langsam mit der Logik meines > Unterprojekts fertig bin und die Benutzerf?hrung ein wenig verbessern > m?chte. Bis jetzt siehts bei mir so aus, dass entweder Fehleingaben > kommentarlos abgefangen werden oder es halt einen unsch?nen Stacktrace > ausgibt, was beides nicht ideal ist. Sch?ne Fehlermeldungen habe ich nur an zwei Stellen implementiert: Wenn ein Benutzer nicht autorisiert ist eine gewisse Aktion auszuf?hren oder wenn ein ung?ltiger Pfad eingegeben wurde; siehe dazu die Klasse ErrorAction, ihre beiden Subklassen und deren Referenzen. Vielleicht f?llt dir ja noch eine flexiblere und besser wiederverwendbare L?sung zu diesem Problem ein. > P.S. Jetzt kannst du in der LinkCollection deine Safari - Bookmarks > importieren ;-) Genial, dass muss ich gleich ausprobieren. Machst du es mit einem Apple-Script? Ist der Source-Code dazu in deinem Package? Gr?sse (ich hoffe dir etwas weitergeholfen zu haben) Lukas -- Lukas Renggli http://renggli.freezope.org From michael.meer at gmx.ch Wed Jun 11 20:04:37 2003 From: michael.meer at gmx.ch (Michael Meer) Date: Wed, 11 Jun 2003 20:04:37 +0200 Subject: =?ISO-8859-1?Q?Re:_Feedback_bei_ung=FCltiger_Benutzereingabe?= In-Reply-To: <0D6DBE25-9B6E-11D7-A7CB-000393CFE6C8@student.unibe.ch> Message-ID: <2A5D5902-9C37-11D7-B1DF-000A956CCCA4@gmx.ch> Hallo Lukas >> Ich stelle meine Frage, weil ich langsam mit der Logik meines >> Unterprojekts fertig bin und die Benutzerf?hrung ein wenig verbessern >> m?chte. Bis jetzt siehts bei mir so aus, dass entweder Fehleingaben >> kommentarlos abgefangen werden oder es halt einen unsch?nen >> Stacktrace ausgibt, was beides nicht ideal ist. > > Sch?ne Fehlermeldungen habe ich nur an zwei Stellen implementiert: > Wenn ein Benutzer nicht autorisiert ist eine gewisse Aktion > auszuf?hren oder wenn ein ung?ltiger Pfad eingegeben wurde; siehe dazu > die Klasse ErrorAction, ihre beiden Subklassen und deren Referenzen. > Vielleicht f?llt dir ja noch eine flexiblere und besser > wiederverwendbare L?sung zu diesem Problem ein. Nun, ein einfacher Ansatz zum Feedback ist bereits in der Action PageEdit drin. Dort gibts die Instanzvariable exception, die einen Wert erh?lt falls das Parsen der Benutzereingabe scheitert. Falls exception nun nicht nil ist, wird sie mit PageEdit >> renderError in der aktuellen Seite ausgegeben. Dies k?nnte man in dem Sinne erweitern, dass in den Callbacks einer Aktion die Eingabe ?berpr?ft wird; ist sie g?ltig wird die Aktion ausgef?hrt, ist sie nicht g?ltig wird die Variable exception gesetzt und die Seite neu geladen -> renderError zeigt dann die entsprechende Fehlermeldung an. Die Verantwortlichkeit zum ?berpr?fen der Benutzereingabe liegt bei diesem Vorschlag bei der Action und nicht bei Structure - nicht unbedingt der richtige Ort. >> P.S. Jetzt kannst du in der LinkCollection deine Safari - Bookmarks >> importieren ;-) > > Genial, dass muss ich gleich ausprobieren. Machst du es mit einem > Apple-Script? Ist der Source-Code dazu in deinem Package? Nein, der Benutzer l?dt einfach seine Bookmark-Datei rauf und diese wird dann geparst. Bei Safari handelt es sich dabei um ein XML-File (im Apple-eigenen und nicht unbedingt f?r parsen geeigneten .plist - Dialekt). Noch ist das ganze ein wenig roh, wollte einfach mal XML-Parsing lernen. Im Moment wird alles in die selbe Kategorie geschmissen; falls die Links im Browser in einem Unterordner sind, sollte sich das in der LinkCollection auch wiederspiegeln. Ich habe aber vor, das Ganze zu abstrahieren und Plugins f?r Camino und Mozilla zu schreiben. Wohl aber nicht mehr vor den Pr?fungen ;-) Beste Gr?sse, Mike From renggli at student.unibe.ch Wed Jun 11 21:27:32 2003 From: renggli at student.unibe.ch (Lukas Renggli) Date: Wed, 11 Jun 2003 21:27:32 +0200 Subject: =?ISO-8859-1?Q?Re:_Feedback_bei_ung=FCltiger_Benutzereingabe?= In-Reply-To: <2A5D5902-9C37-11D7-B1DF-000A956CCCA4@gmx.ch> Message-ID: Hallo Mike, > Nun, ein einfacher Ansatz zum Feedback ist bereits in der Action > PageEdit drin. Dort gibts die Instanzvariable exception, die einen > Wert erh?lt falls das Parsen der Benutzereingabe scheitert. Falls > exception nun nicht nil ist, wird sie mit PageEdit >> renderError in > der aktuellen Seite ausgegeben. Ach ja, den habe ich vergessen :-) > Dies k?nnte man in dem Sinne erweitern, dass in den Callbacks einer > Aktion die Eingabe ?berpr?ft wird; ist sie g?ltig wird die Aktion > ausgef?hrt, ist sie nicht g?ltig wird die Variable exception gesetzt > und die Seite neu geladen -> renderError zeigt dann die entsprechende > Fehlermeldung an. Zuerst die Frage des Designs und des Layouts: Wo m?chtest Du renderError denn anzeigen? Man k?nnte es zum Beispiel gerade nach dem Header einf?gen, w?re das aber nicht eine Einschr?nkung? Zum technischen Teil versuche ich kurz das gelesene zusammenzufassen, nur um sicherzustellen, dass wir uns verstehen: Du m?chtest also renderError in der Klasse Action implementieren und diese Methode dann ausf?hren, wenn w?hrend dem Verarbeiten der Callbacks eine Exception auftritt? Auf den ersten Blick, scheint mir das eine sehr vern?nftige L?sung zu sein. Muss mir aber noch ?berlegen, ob das keine unn?tigen Einschr?nkungen mit sich bringt und was passieren soll, wenn ausserhalb der Callbacks eine Exception auftritt. Ausserdem muss sichergestellt werden, dass keine Benutzereingaben verloren gehen und dass bei mehrfachen Exceptions keine Loops entstehen. > Die Verantwortlichkeit zum ?berpr?fen der Benutzereingabe liegt bei > diesem Vorschlag bei der Action und nicht bei Structure - nicht > unbedingt der richtige Ort. Wenn auch die Structure eine Exception mit einem netten Fehlertext wirft, spielt das ja keine Rolle von wo wir die Information erhalten. >>> P.S. Jetzt kannst du in der LinkCollection deine Safari - Bookmarks >>> importieren ;-) >> >> Genial, dass muss ich gleich ausprobieren. Machst du es mit einem >> Apple-Script? Ist der Source-Code dazu in deinem Package? > > Nein, der Benutzer l?dt einfach seine Bookmark-Datei rauf und diese > wird dann geparst. Bei Safari handelt es sich dabei um ein XML-File > (im Apple-eigenen und nicht unbedingt f?r parsen geeigneten .plist - > Dialekt). Noch ist das ganze ein wenig roh, wollte einfach mal > XML-Parsing lernen. Im Moment wird alles in die selbe Kategorie > geschmissen; falls die Links im Browser in einem Unterordner sind, > sollte sich das in der LinkCollection auch wiederspiegeln. Das t?nt ja viel eleganter als mit einem platformspezifischen Apple-Script. Ist im Endeffekt wohl auch einfacher f?r den Endbenutzer. Gr?sse Lukas -- Lukas Renggli http://renggli.freezope.org From ducasse at iam.unibe.ch Sat Jun 28 21:42:01 2003 From: ducasse at iam.unibe.ch (Stephane Ducasse) Date: Sat, 28 Jun 2003 21:42:01 +0200 Subject: Fwd: Howto use analog (a log analyser) with swiki logfile. Message-ID: <962E51DE-A9A0-11D7-AA29-000393B2AA24@iam.unibe.ch> Begin forwarded message: > From: "Samir Saidani" > Date: Sat Jun 28, 2003 6:51:26 PM Europe/Zurich > To: The general-purpose Squeak developers list > > Subject: Howto use analog (a log analyser) with swiki logfile. > Reply-To: The general-purpose Squeak developers list > > > Hello, > > Swiki log files correspond unfortunately to none standard logfiles > using by webservers. So almost none of web analysers could be used > with this non-standard file. I found recently a workaround for this > problem by using analog, which allows to specify your own logfile > format. > > You have to add this line to analog.conf : > #Swiki Log Format > LOGFORMAT (%s\t%j\t%j\t[%d/%M/%Y:%h:%n:%j %j]%w%r\t%j\t%b\t%B) > Then add > LOGFILE /path/mylogfile > > You have now to activate dnslookup (built-in analog) (swiki doesn't > resolve ip name in its log): > #DNS Lookup > DNS WRITE > DNSFILE /path/dnscache > DNSLOCKFILE /path/lockfile > > I suggest you to carefully read the great analog documentation (to set > up the language for instance), and to install report magic, which > outputs funnier reports than analog (but report magic needs analog > output). > > Samir > > PS: I think that we always should consider the log file format used in > whatever wiki or webserver. Developpers, please, consider the > possibility to follow more standard ways for those critical kind of > things ! Example: swiki returns "authorized" which is a non-standard > error code (cf. http protocol, particularly http response codes). > > > -- > Samir SAIDANI > PhD in CS / Doctorant en informatique web : > http://www.info.unicaen.fr/~saidani > Universite de Caen - Laboratoire GREYC tel : 02-31-56-74-30 > Equipe MAD - Campus II - 14032 Caen Cedex fax : 02-31-56-76-30 > From renggli at student.unibe.ch Tue Jun 10 20:05:00 2003 From: renggli at student.unibe.ch (Lukas Renggli) Date: Tue, 10 Jun 2003 20:05:00 +0200 Subject: =?ISO-8859-1?Q?Re:_Feedback_bei_ung=FCltiger_Benutzereingabe?= In-Reply-To: Message-ID: <0D6DBE25-9B6E-11D7-A7CB-000393CFE6C8@student.unibe.ch> Hallo Mike, > Ich habe eine kleine Frage zur Benutzerf?hrung im SmallWiki: falls ein > User eine ung?ltige Eingabe macht (Beispiel: hinzuf?gen einer neuen > Seite mit leerem Titel) machst du momentan einfach etwas > "sinngem?sses" mit Defaultwerten (beim Beispiel: hinzuf?gen einer > Seite mit Defaulttitel Page, Page1, Page2 usw). > Hast du auch in Betracht gezogen, bei einer ung?ltigen Eingabe nix zu > machen und dem User Feedback zu geben? Oder w?re das nicht > Wiki-m?ssig? klar w?re es sch?n, wenn eine f?r den Anwender leicht verst?ndliche Fehlermeldung bei nicht automatisch korrigierbaren Problemen kommen w?rde. Leider ist dies mit der momentanen Architektur nur sehr schwer m?glich, da die Session selber keinen Zustand kennt. Eventuell k?nnte man noch eine Einstellung implementieren, wo man sagen kann was man sehen m?chte: Stacktrace oder nur den Exception-Text. > Ich stelle meine Frage, weil ich langsam mit der Logik meines > Unterprojekts fertig bin und die Benutzerf?hrung ein wenig verbessern > m?chte. Bis jetzt siehts bei mir so aus, dass entweder Fehleingaben > kommentarlos abgefangen werden oder es halt einen unsch?nen Stacktrace > ausgibt, was beides nicht ideal ist. Sch?ne Fehlermeldungen habe ich nur an zwei Stellen implementiert: Wenn ein Benutzer nicht autorisiert ist eine gewisse Aktion auszuf?hren oder wenn ein ung?ltiger Pfad eingegeben wurde; siehe dazu die Klasse ErrorAction, ihre beiden Subklassen und deren Referenzen. Vielleicht f?llt dir ja noch eine flexiblere und besser wiederverwendbare L?sung zu diesem Problem ein. > P.S. Jetzt kannst du in der LinkCollection deine Safari - Bookmarks > importieren ;-) Genial, dass muss ich gleich ausprobieren. Machst du es mit einem Apple-Script? Ist der Source-Code dazu in deinem Package? Gr?sse (ich hoffe dir etwas weitergeholfen zu haben) Lukas -- Lukas Renggli http://renggli.freezope.org