[Seaside] newbie questions

Avi Bryant avi at dabbledb.com
Mon Dec 17 08:56:00 UTC 2007

On 12/17/07, Micheal Cooper <cooper.me at gmail.com> wrote:

Hi Michael,

> All of my work must be bilingual Japanese and English, and while I know that
> Oshima-san has created a multilingual Squeak, I am hesitant to invest time
> in a framework that relies on  a programming language the i18n of which is
> tacked on. I had enough of that with PHP.
> Is anyone using Seaside with multibyte characters?

As a data point, and not because I necessarily suggest doing the same:
we do support multibyte data in Dabble DB, but not using the Squeak
3.8 multibyte support.  We use UTF8 for requests and responses, but
internally we use a normal String (with one byte characters), and for
the most part treat text as opaque binary data.  In cases where it
cannot be opaque (for example, when truncating to a certain number of
charaters), we use some minimal UTF8-aware operations like #nextUTF8
on ReadStream.

All in all, this has worked surprisingly well, but I can imagine that
for heavy text processing it would be woefully inadequate.

> I also wonder about document generation. Is there  a PDF or OpenOffice.org
> document generator that can be used with Seaside apps? My app is a college
> administration and info management system, and I have to dynamically produce
> printable documents in both English and Japanese. In fact, everything in the
> system has to switch between J and E.

We have a PDF generation system that is external to Seaside/Squeak -
it takes HTML input and produces very nice PDF output, with settings
for paper size, page break policies, etc.  We're toying with the idea
of licensing this to other developers who need a similar capability,
possibly as a hosted service.

Alternatively, I know NetStyle got some good results out of the
pure-Smalltalk SPDF library.

One path I've been down and regretted is generating XSL/FO and
processing that into PDF.

> Relational databases: I have a database with lots of data in it, and I need
> to accommodate that relational DB. Avi has said in several interviews that
> he doesn't like relational db's, so does that mean that Seaside doesn't work
> well with them?

Not really.  Unlike Django or Rails, Seaside is persistence-agnostic.
Many people write Seaside apps backed by relational DBs; probably the
most common framework used for this is GLORP.  ROE another option -
something I wrote a while ago but have never used in anger.

And for the record, it's not that I don't like relational DBs.  I do
very much dislike O/R mapping.

> Lastly, I wonder why I couldn't get Seaside to work this morning on my Tiger
> OS 10.4 machine. I downloaded the Mac dev package by Cassou and followed the
> directions, but when I try to open Seaside, I get a "a primitive has failed"
> error. I get the same when I try to open the regular Squeak 3.9 image and
> then try to install Seaside through SqueakMap or Universe when it tries
> "Installing DynamicBindings version 2.7" after I click "Install Selections".
> I can't even figure out how to copy and paste the error messages into this
> email.

That's a shame - I don't think that particularly has anything to do
with portability, but it certainly sounds like we can improve our
initial experience.

I see that Lukas has pointed you to the one-click distribution,
hopefully you'll have better luck with that.

As for error messages: check for a SqueakDebug.log file in the same
directory as your image file.  This is a good thing to email.


More information about the seaside mailing list