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
Â
Â
Contact improvekit@gmail.com