IMPROVEKIT

Primal Swiki

 

Experiments and something else done a long time back in 2001. Starting from a Swiki developed by the community in Squeak, it was extended to build the first intranet of the software development process improvement group in a company that was beginning to grow.

Wikipedia was not known yet, and the idea seemed very strange, there was even hostility towards it. Previously, I had implemented a configuration management process using a Weblog to post release releases. This tool was not so resisted, I suppose because the impact on the groups was more limited.

The Swiki was used mainly by the process improvement group, only many years later, when the technology spread, was it accepted (buying tools). But beyond that, I began to use it as a development platform for various utilities and prototypes (even mini applications), which I now share for anyone who wants to look at it, even as a "museum article"

 

Package Content

Download and unzip the file. Open Squeak and experiment: drag wichi.image onto Squeak 3.8.12beta4U.app (Mac). On other platforms it is the same, but you need to download Squeak virtual machine for your OS

Swiki

Extensions to the original Swiki, UI improvements (with the help of graphic designer F. Loza) and added behavior (see packages Carcaranha, Wichi, Code Generation)

 

Ejemplo - template forms para editar una página utilizando una plantilla de tipo ´Minuta´

 

<TABLE width="716" border="0" cellpadding="0" cellspacing="0">
<tr><td>TITULO DE LA MINUTA</td><td>FECHA Y HORA</td></tr>
<TR>
<TD><?editUserPanelC:1 490 30?></TD>
<TD><?editUserPanelC:4 175 30?><br></TD>
</tr>
</table>
<TABLE width="716" border="0" cellpadding="0" cellspacing="0" align="center">
<TR>
<TD><?editUserPanelC:7 132 150?></TD>
<TD><?editUserPanelC:10 132 150?></TD>
<TD><?editUserPanelC:13 370 150?><br></TD>
</tr>
<TR>
<TD colspan="3"><?editUserPanelC:16 710 250?><br></TD>
</tr>
<tr>
<TD colspan="3"><?editUserPanelC:19 710 250?></TD>
</tr>
</table>

 

Carcaranha

A web server on Smalltalk. It was used as a Wiki server

 

Wichi

Dynamic object model based on Prevayler (used from Swiki). Used as a model and persistence layer in Swiki

 

testPrevalence
self assert: SwikiShelf allInstances size > 0.
b _ SwikiShelf allInstances first books detect:[:book|book name = 'refs'] ifNone: [].
self assert: b notNil.
self assert: (b prevayler base fileExists: 'prevayler.1.snapshot').
b objects removeEntities.
self assert: b objects entities keys size = 0.
self assert: (b prevayler base fileExists: 'prevayler.1.clog').
b shutDown.

SUnit testing Prevayler

Code Generation

Various Smalltalk (Squeak, VisualWorks) translators to another language (via templates defined in Swiki). It was used to reverse engineer a very large application made in Smalltalk, displaying the generated code as UML

 

| classes |
classes := Smalltalk allClasses select:[:c | c category asString includesSubString:'Swiki'].
(SqueakSmalltalkTranslator pythonOn: classes) run.
(SqueakSmalltalkTranslator javaOn: classes) run.
(SqueakSmalltalkTranslator objectiveCOn: classes) run.
(SqueakSmalltalkTranslator cSharpOn: classes) run.

 

Dali

Tool prototyping to support creativity. Beginnings of a domain analysis

 

 

Print-Screens

 

Squeak image with Projects
Dali Prototyping

 

Contact improvekit@gmail.com