SummerTalk 2009

Project list

Safara by Luigi Panzeri


From 2008, we have been developing SqueakDBX.

Some time ago, we have realesed our first stable version (1.0) with lots of functionalities. SqueakDBX is really useful and works with several backends in Linux, Mac and Windows.

However, there are still some features to be added. All this information can be found in our wiki:

This year our most important plan is to make Glorp work in Squeak and Pharo with SqueakDBX. Actually, this may include three parts:

1) Glorp port to Pharo where we will face 2 major problems:

a) Glorp has no official manteiner for Squeak. Luckily, DiĆ³genes Moreira, a friend of us, will be in charge of that.

b) Even when the port to Squeak has been done, we need to do a second port from Squeak to Pharo.

2) The integration of GLORP with squeak is completely hardcoded with PostgreSQL driver (See SqueakDatabaseAccessor class for more information about this on our wiki). Because of this, first we will have to do a refactor in GLORP in order to enable it to support different drivers. We will create a PostgreSQL driver with thestuff that GLORP already has. We invited Alan Night to have dinner with us when he came to Argentina, told him our ideas and discussed for a while til we got a first design of this refactor.

3) Create a SqueakDBX driver for GLORP just like the one we are planning to do for PostgreSQL.

To sum up, our intention is to make a refactor over GLORP that will allow background compatibility and support different drivers. So, if you want to use SqueakDBX in an actual Glorp application, you will have no problems. In fact, you will be able to replace the native driver with theSqueakDBX one, in a quick, clean and easy way.

Through this integration, the squeak and pharo community will hopefully be able to interact with major database engines such as oracle and mssql, apart from those which are open source like postgresql, mysql and sqlite. Moreover, integrating this plugin with GLORP, will allow us to generate a complete and open source solution to relational data base access.

All the help and fundings that ESUG may provide us will be extremely useful for us to achieve our goal.



Safarà aims is to fill the lack of a modern text editing component in the Squeak Smalltalk implementation.

The wanted features are:

  • Highly configurable and customizable using Smalltalk code or a graphical customization interface.
  • Highly extensible in term of features and syntaxes supported
  • Easily embeddable as a widget in other applications (e.g. mail reader, applications using DSLs, etc.).
  • Well integrated with the tools present on a traditional Squeak development image
  • Support for collaborative editing

Status and Next Milestones

The project started as a Summer Of Code Project in 2008 and hosted at

At the current state of development we have got an alpha version able to do basic text editing operation. It has been designed to be portable and extensible. As a proof of concept an integration with the OmniBrowser has been developed.

The next goal is to take Safar&agrave; to a first release ready to be usable. Our plan includes the following milestones: {{{</p>

<ul> <li>Port Safar&agrave; to Pharo in order to test its portability</li> <li>Increase the code coverage test rate</li> <li>Improve its internal parsing algorithm, getting inspired by Sophie. A full suite of unit test must be developed for that aim.</li> <li>Complete the OmniBrowser extension and provide an easy to install package</li> </ul>

<p> We thanks the ESUG organization for the fundings and for the feedbacks, that are a great incentive at this stage. </p>