Quick self-intro/comment II (WebObjects)

Oops, I meant to include this in the other message: While browsing the
massive initial download of the ng, I thought I saw a post go by which
mentioned a Ruby-based Web services project patterned after the WebObjects
architecture.

I’ve worked with WebObjects for several years, and that project (assuming
I’m not totally imagining that I saw such a post) would be particularly
interesting to me. Can someone point me toward it?

  • dan

Oops, I meant to include this in the other message: While browsing the
massive initial download of the ng, I thought I saw a post go by which
mentioned a Ruby-based Web services project patterned after the
WebObjects architecture.

I’ve worked with WebObjects for several years, and that project
(assuming I’m not totally imagining that I saw such a post) would be
particularly interesting to me. Can someone point me toward it?

It is my flawed understanding that CGIKit is based on Apple WebObjects. A
quick search of raa.ruby-lang.org will get you there. I’d be very
interested to know what you think of it. Why not create a hobby web page
and contribute it to the project as a sample? :slight_smile:

Cheers,
Gavin

dhtapp wrote:

Oops, I meant to include this in the other message: While browsing the
massive initial download of the ng, I thought I saw a post go by which
mentioned a Ruby-based Web services project patterned after the WebObjects
architecture.

I’ve worked with WebObjects for several years, and that project (assuming
I’m not totally imagining that I saw such a post) would be particularly
interesting to me. Can someone point me toward it?

  • dan

I know Gavin already answered, but I think the answer you’re looking for
is IOWA.
http://raa.ruby-lang.org/list.rhtml?name=iowa

Chad

Funny, IOWA makes no mention of WebObjects in any of the docs I looked
at, whereas CGIKit mentions it up front.

Intrigued, I downloaded IOWA to have a look, but the example pages
didn't come up :frowning:

Gavin

···

On Monday, August 18, 2003, 9:38:22 PM, Chad wrote:

I've worked with WebObjects for several years, and that project (assuming
I'm not totally imagining that I saw such a post) would be particularly
interesting to me. Can someone point me toward it?

I know Gavin already answered, but I think the answer you're looking for
is IOWA.
http://raa.ruby-lang.org/list.rhtml?name=iowa

The design of IOWA was indeed heavily inspired by WebObjects; it’s
also a dead project, and it doesn’t at all surprise me that it doesn’t
work with recent versions of Ruby.

My work on IOWA jumped environments to Squeak Smalltalk almost two
years ago, and became “Seaside”. (More recently, small parts of
Seaside have been ported back to Ruby as “borges”, though not the
parts you would recognize as WOF-like). My philosophy of web app
development has also diverged a lot from WO since I wrote IOWA - most
notably, I don’t use the template/bindings idea anymore, preferring to
specify templates programmatically and link them to the model with
callbacks (blocks). I’ve also extended the subcomponent model to be
quite a bit more powerful, leaning much further towards composition
(vs inheritance) than typical WO apps do.

My standard recommendation to those interested in IOWA (which must get
awfully tiresome on a Ruby list) is to learn Smalltalk and use Seaside

  • it has an extra couple of years of development thrown into it, about
    100 more users than IOWA ever had, and 10 or so more commercial
    projects under its belt. I don’t think many people have taken me up
    on this, however. :wink:

Cheers,
Avi

···

Gavin Sinclair gsinclair@soyabean.com.au wrote:

Funny, IOWA makes no mention of WebObjects in any of the docs I looked
at, whereas CGIKit mentions it up front.

Intrigued, I downloaded IOWA to have a look, but the example pages
didn’t come up :frowning:

“Avi Bryant” avi@beta4.com wrote in message
news:6e869a6b.0308181156.76c55893@posting.google.com

My standard recommendation to those interested in IOWA (which must get
awfully tiresome on a Ruby list) is to learn Smalltalk and use Seaside

Thanks; duly noted.

Actually, I have a bit of Smalltalk experience, although (like most
everything else that I find genuinely fun and inspiring about this stuff)
it’s about ten years older than it was the last time I thought about it :slight_smile:

  • dan

Avi Bryant said:

The design of IOWA was indeed heavily inspired by WebObjects; it’s
also a dead project, and it doesn’t at all surprise me that it doesn’t
work with recent versions of Ruby.

I vanished off of the list about a year ago as a result of not having time
to keep up with the traffic and keep the family fed. I’m back actively
reading, though, and have been skimming through some archived posts for
interesting things. I came across this, and thought I’d send out a quick
update.

IOWA is not really a dead project. I picked it up for a production
application about a year and a half ago, and found it, while rough, a
package with a lot of potential. In the last year and a half I have
commented it, documented it, refined it, and expanded it quite a bit while
at the same time using it on pieces ranging from single dynamic report
pages to custom software apps to an entire dynamic site engine for sites
with significant dynamic content. I’ve got about a dozen discrete sites
using it at some level.

I’ve added the ability to receive a faux Apache::Request object into the
Iowa app that gives access to most everything Apache::Request does,
including the ability to alter the HTTP headers that go out to the client,
which lets one use cookies, have access to Query_String parameters, and
other useful things. I’ve created a system to use IOWA to map specific
URLs to IOWA, which makes it useful and practical to use IOWA for websites
with dynamic content, but which are not necessarily full fledged web
applications themselves. i.e. pages that deliver reports, or pages that
need to be bookmarkable, or even sites that map discrete content elements
to the same URLs, delivering one or another based on a login cookie (I
have a large, complete production site, running hundreds of thousands of
hits per day, that does this) or language preference or other criteria.

So, IOWA isn’t really dead. It’s very much alive. It’s just that I’ve
also been keeping it pretty quiet as I used it and worked on it. Unless
Avi has any objections (and I haven’t asked, yet), I’m working on setting
up a new website for IOWA that contains better documentation, live
examples, and a current, updated installation package.

Kirk Haines