This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
To: modperl@apache.org From: Chris Winters <chris@cwinters.com> Subject: ANNOUNCE: OpenInteract Web Application Server Date: Tue, 6 Feb 2001 21:57:55 -0500 I'm jazzed to announce the public release of OpenInteract, an extensible web application framework using mod_perl and the Template Toolkit as its core technologies. But the README already does all the heavy lifting: <<<<<<<<<< WHAT IS IT? ========================= OpenInteract is an extensible application server using Apache and mod_perl built for developers but also to be manageable almost entirely via the web browser. It includes: - A robust system of components built on templates that can access your data just about any way that you can think of. - A very flexible separation of presentation and data access: you can use one template for accessing data from different sources (e.g., a listing of users from the system, from an LDAP server, from an NT/SMB authentication controller, etc.) or you can use one set of data to fill multiple templates. - A consistent security mechanism makes it a snap to control security for users and groups not only at the task level, but also at the individual data object level. - A simple user and group-management system that allows users to create their own accounts and an administrator to assign them to one or more groups. - A convenient packaging system that makes it simple for developers to distribute code, configuration and all other information necessary for an application. It also makes the installation and upgrading processes very straightforward. - An integrated, database-independent method for distributing data necessary for a package. You should be able to install any package on any database that's been tested with OpenInteract. (Some of this work must be done by the package authors, but OpenInteract tries to make this as painless as possible.) >>>>>>>>>> OpenInteract is available via CPAN in a bundle form ('Bundle::OpenInteract') for EZ install. SourceForge currently hosts CVS and mailing lists at: http://sourceforge.net/projects/openinteract/ Other information about the project (including press releases) is available at: http://www.openinteract.org/ OpenInteract is available under the same Artistic/GPL license as Perl. Hope you find it as much fun as I do! Chris === To: Chris Winters <chris@cwinters.com> From: Perrin Harkins <perrin@primenet.com> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Tue, 06 Feb 2001 19:35:09 -0800 Chris Winters wrote: > I'm jazzed to announce the public release of OpenInteract, an > extensible web application framework using mod_perl and the Template > Toolkit as its core technologies. I've been reading the docs for the last couple of days and it looks very interesting. It's great to see a well-documented open source project. I have a couple of specific questions, which I guess are really about SPOPS more than OpenInteract. First, how much control do I have over what gets loaded when in objects with dependencies? For example, if I have an object with relationships to other objects, some of which are expensive to fetch from the database, can I defer certain parts from loading until I actually use them? Second, how hard is it to override the default load/save stuff in a SPOPS object in order to do some fancy SQL? I've had situations before with O/R mappers where I want to use some more complex SQL for efficiency reasons (optimizer hints, etc.) or to load a set of objects at once (like a tree structure). Is that possible with SPOPS? Finally, if I'm using a SQL database, what support is provided for evolving the data model? Do I have to change my schema and write conversion scripts every time I change an object attribute, or does SPOPS try to use some sort of "generic" schema? And just out of curiosity, are you familiar with any of the similar projects that others have worked on, like Iaido (formerly Iaijutsu) or Jellybean? === To: Perrin Harkins <perrin@primenet.com> From: Chris Winters <chris@cwinters.com> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Tue, 6 Feb 2001 23:14:59 -0500 * Perrin Harkins (perrin@primenet.com) [010206 22:43]: > Hi Chris, > > I've been reading the docs for the last couple of days and it looks very > interesting. It's great to see a well-documented open source project. > I have a couple of specific questions, which I guess are really about > SPOPS more than OpenInteract. Hi Perrin, Thanks for the doc comments! More work always remains.... > First, how much control do I have over what gets loaded when in objects > with dependencies? For example, if I have an object with relationships > to other objects, some of which are expensive to fetch from the > database, can I defer certain parts from loading until I actually use > them? Nothing gets loaded until you do a fetch() on an object or on one of its dependent objects. For instance, in the standard user/group way of doing things: # Fetch the user object my $user = My::User->fetch( $user_id ); # None of the associated group objects get fetched until you ask for # them like this my $group_list = $user->group; That said, efficiency hasn't been at the top of the list yet. (Some basic caching hooks are there but nothing attached yet.) I'm following Andy Wardley's example with the Template Toolkit -- make it right first and fast second :-) > Second, how hard is it to override the default load/save stuff in a > SPOPS object in order to do some fancy SQL? I've had situations before > with O/R mappers where I want to use some more complex SQL for > efficiency reasons (optimizer hints, etc.) or to load a set of objects > at once (like a tree structure). Is that possible with SPOPS? It's not too difficult. The SQL stuff for DBI SPOPS objects actually goes through two layers -- one dealing with more abstract notions of 'save()' and 'remove()' and the other dealing with more concrete INSERT/UPDATE/DELETE statements. The second one (SPOPS::SQLInterface) is quite flexible but at a lower level which should enable you to do custom statements. You can do as much or as little as you like -- passing a fully-formed SQL statement with a list of values to bind does the right thing. So if you wanted to modify how objects get saved but not removed, you should just be able to override the 'save()' interface of SPOPS::DBI and nothing else. But I haven't tried this yet :-) > Finally, if I'm using a SQL database, what support is provided for > evolving the data model? Do I have to change my schema and write > conversion scripts every time I change an object attribute, or does > SPOPS try to use some sort of "generic" schema? It's actually much simpler than that. Since SPOPS doesn't save any schema information in the database itself, all you have to do is add the field to your database (with an 'ALTER TABLE' statement or whatnot) and add the field name to the SPOPS configuration definition in the 'field' key. Removals are the same. And datatype definitions shouldn't require any changes at all, as long as the DBD supports datatype discovery sufficient for SPOPS to bind variables smartly. It's a more lightweight approach than Tangram or Alzabo but deals with most of the issues I've run across in a few years of web (etc.) programming. > And just out of curiosity, are you familiar with any of the similar > projects that others have worked on, like Iaido (formerly Iaijutsu) or > Jellybean? I've looked into both of them at one time or another -- OpenInteract has been under construction for about a year and SPOPS (and ancestors) more another half-year before that. I'm jealous of Jellybean's self-sufficiency, of the cool apps built on Iaido so far and of the clean model of both of them. I hope to swipe (with generous attribution) as much as possible. Chris === To: Chris Winters <chris@cwinters.com> From: Stephane Bortzmeyer <bortzmeyer@pasteur.fr> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Thu, 08 Feb 2001 14:16:53 +0100 On Tuesday 6 February 2001, at 21 h 57, the keyboard of Chris Winters <chris@cwinters.com> wrote: > I'm jazzed to announce the public release of OpenInteract, an > extensible web application framework using mod_perl and the Template > Toolkit as its core technologies. Anyone compared it to Zope <http://www.zope.org/>? I'm hesitating. === To: Stephane Bortzmeyer <bortzmeyer@pasteur.fr> From: Perrin Harkins <perrin@primenet.com> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Thu, 8 Feb 2001 10:47:00 -0800 (PST) On Thu, 8 Feb 2001, Stephane Bortzmeyer wrote: > On Tuesday 6 February 2001, at 21 h 57, the keyboard of Chris Winters > <chris@cwinters.com> wrote: > > > I'm jazzed to announce the public release of OpenInteract, an > > extensible web application framework using mod_perl and the Template > > Toolkit as its core technologies. > > Anyone compared it to Zope <http://www.zope.org/>? I'm hesitating. Zope has a built-in concept of folders that allows you to use it as a sort of lame content management thing out of the box, i.e. you can edit pages and site structure through a web browser. (And there are other protocols like FTP that are supposed to work, although I haven't tried them.) OpenInteract doesn't seem to have an equivalent. Zope provides its own file-based database and indexer, while OpenInteract expects you to use an external database of some kind. OpenInteract has pretty solid-looking documentation. The Zope docs are a disaster, although a forthcoming book may improve that situation. Some of Zope's most interesting ideas - like Z Classes, a way to define object types at runtime through a web interface - seem cumbersome to work with or have odd restrictions. OpenInteract has no equivalent that I could see. In short, Zope wants to be more, but currently is difficult to figure out. That could be just my Perl experience, but I understood more of OpenInteract in half an hour than I did with Zope after several tries over the last few years. === To: Perrin Harkins <perrin@primenet.com> From: Matt Sergeant <matt@sergeant.org> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Thu, 8 Feb 2001 23:01:45 +0000 (GMT) On Thu, 8 Feb 2001, Perrin Harkins wrote: > In short, Zope wants to be more, but currently is difficult to figure > out. That could be just my Perl experience, but I understood more of > OpenInteract in half an hour than I did with Zope after several tries over > the last few years. Of course that may have a lot to do with your background. Zope isn't a tech tool like what we have coming out for mod_perl at the moment - its a much higher level. This is both good and bad, of course. Personally I think CMS' are very important, but then I would: http://axkit.com/products/axkit-cms/ :-) === To: Matt Sergeant <matt@sergeant.org> From: Robin Berjon <robin@knowscape.com> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Fri, 09 Feb 2001 01:23:10 +0100 At 23:01 08/02/2001 +0000, Matt Sergeant wrote: >Personally I think CMS' are very important, but then I >would: http://axkit.com/products/axkit-cms/ :-) I've been more or less following the AxKit CVS and saw a few things about AxKit-CMS. Nice looking new site. Would you care to expand on what your plans are ? It seems as if you haven'y really launched yet, but it's been looking as if you've been having something in the back of your mind for months :) === To: Robin Berjon <robin@knowscape.com> From: Matt Sergeant <matt@sergeant.org> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Fri, 9 Feb 2001 00:22:22 +0000 (GMT) On Fri, 9 Feb 2001, Robin Berjon wrote: > At 23:01 08/02/2001 +0000, Matt Sergeant wrote: > >Personally I think CMS' are very important, but then I > >would: http://axkit.com/products/axkit-cms/ :-) > > I've been more or less following the AxKit CVS and saw a few things about > AxKit-CMS. Nice looking new site. Would you care to expand on what your > plans are ? It seems as if you haven'y really launched yet, but it's been > looking as if you've been having something in the back of your mind for > months :) Its slowly coming along, so I put up the page to see if there was interest. I guess I'll see if I get commercial enquiries or not. I'm still unsure about the whole open source "Make money off consultancy/support" model of business, since its a headcount game, and I may just commercialise it, but I don't want to if I can help it. As for the spec/plans, well most of the details are on the site, I'll reveal more as time goes by. :-) Expect it to develop pretty rapidly from here on out. === To: Matt Sergeant <matt@sergeant.org> From: Robin Berjon <robin@knowscape.com> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Fri, 09 Feb 2001 02:16:48 +0100 At 00:22 09/02/2001 +0000, Matt Sergeant wrote: >> I've been more or less following the AxKit CVS and saw a few things about >> AxKit-CMS. Nice looking new site. Would you care to expand on what your >> plans are ? It seems as if you haven'y really launched yet, but it's been >> looking as if you've been having something in the back of your mind for >> months :) > >Its slowly coming along, so I put up the page to see if there was >interest. I guess I'll see if I get commercial enquiries or not. I'm still >unsure about the whole open source "Make money off >consultancy/support" model of business, since its a headcount game, and I >may just commercialise it, but I don't want to if I can help it. I nearly sent an enquiry then I remembered that I was on the because of something I read on the list so I thought I'd post here. I guess you could count that as one :) The open source + consultancy model is tricky, and I think that the devil's in the details. My company's been providing mostly open source solutions (the "mostly" is because over time we've developped stuff that hasn't been released, but will be as I progressively un-ad hoc it) for four years and we're doing well. In those four years it happened a few times that some customers decided that it would be a better investment for them if they employed their own techs to build upon what we'd made for them instead of turning to us for that but we've found that to be a marginal case, and even then those customers still turn to us for the bits they don't think their techs can handle as well. It's a different model (we customize and integrate more than we actually produce) but it bears a relationship. We certainly never felt we had to try to encrypt the code we provided to our customers or to documentation-starve them in order to force them to stay with us. I think there's a line between support and consultancy that can make a difference. If the product you supply is very end-user orientated then you'll need to supply more support than consultancy, and that will cost you a lot in customer service if you want to do it in a way that will satisfy your consumers. Support can be sold only for so much, so you'll need to be sure that your product will be used by many people for it to be profitable. That angle only works imho for very generic and widespread tools (eg linux). For those products, either giving up the idea of making money from the project entirely or going shareware and assimilated is probably best. If on the other it is a less used product that will more likely be bought by IT departments instead of simple end users, then consulting + open source works imho. The way to see it I think is that open source has a value which IT people will try to gauge against the value (in terms of money) at which another closed source project in the same sector is selling. If you try to go commercial in such areas, you'll have basically two levels of pricing. The first one is more or less as high as the big players in your field, in which case you'll need to have all the sales and marketing and advertising people to go with it. Possible, but it's a bet and it would take some serious VC. Or target the lower end pricing. In that case you'll have to deal with the fact that people instictively think cheaper = lesser, which is always a problem. And where people think beyond that (which is rare) you'll face the buy this commercial software and that's it vs use this open source software and invest the money in some consulting conundrum, the outcome of which at that price level is often to go for the latter (in my experience). If you're not going to go the big CMS player route straight away, then I think Open Source + consulting is a more viable model than pure commercial (ie it'll be more successful and make more money). I've talked for longer than I expected. This brings up something I've been thinking of for some time. I've been wondering a while if some sort of "modperl for professionals" (very bad name, I know) list would be of interest to the community. I know that most people on the list that use modperl are "professionals" (hence the fact that it is a bad name) but some of us use it internally (to produce a project that is a company project) while others sell modperl based solutions to others (creating the dynamic backend for someone else's project). That latter group could have things to share that are not technical and not just advocacy (or are too specific for it). Maybe I'm not the only one wondering which is the best way to sell a modperl solution based 100% on open source stuff to a company. On the other hand, yet another mailing list might not be the solution. === To: Stephane Bortzmeyer <bortzmeyer@pasteur.fr> From: Chris Winters <chris@cwinters.com> Subject: Re: ANNOUNCE: OpenInteract Web Application Server Date: Thu, 8 Feb 2001 22:41:33 -0500 * Stephane Bortzmeyer (bortzmeyer@pasteur.fr) [010208 08:28]: > On Tuesday 6 February 2001, at 21 h 57, the keyboard of Chris Winters > <chris@cwinters.com> wrote: > > > I'm jazzed to announce the public release of OpenInteract, an > > extensible web application framework using mod_perl and the Template > > Toolkit as its core technologies. > > Anyone compared it to Zope <http://www.zope.org/>? I'm hesitating. Hi Stephane, Sorry I missed the conversation earlier. Rotten time for the power to go out on my mail server... Well, everyone who has worked on OpenInteract would certainly be flattered by such a comparison. I think a lot of people have been inspired (and even made a little jealous) by Zope and the attention its drawn to Python. Competition is a healthy thing. :-) To be honest, I don't know as much about Zope as I probably should. However, after tooling around with it for a bit there were a number of lessons I've drawn. * Make it easy to develop custom modules. Like Zope, OpenInteract makes it pretty simple to write a self-contained module that implements some functionality, package it all up and send it to someone else to install on their server. * Make installation easy. Zope has an easier time of this because it's more self-contained, but it's extremely important for people to install the server without going through painful contortions. My experience with many other software packages has been this -- if I can get something running quickly, it's worth my while to look into it further. * Be consistent. In Zope, everything is (or is supposed to be) an object. We try to do the same thing. This makes certain tasks (like object/task security or relating entirely disparate things) possible and even pretty easy. Once you've got the mindset it also opens up interesting possibilities :-) * Even awkward browser-based tools can work. Using TEXTAREA boxes to create templates and pages is clunky but amazingly handy. And for most people it's all they need. People who know what they're doing can import templates to the database in their sleep, but don't design everything around them. I'm sure there are more similiarities and differences. (Along with strengths and weaknesses, but we can do that on the openinteract-dev mailing list. :-) I'd be interested in what people who know more about Zope think are its strengths and weaknesses. === To: "Matt Sergeant" <matt@sergeant.org>, From: "L.M.Orchard" <deus_x@pobox.com> Subject: Re: [Templates] Re: ANNOUNCE: OpenInteract Web Application Server Date: Thu, 8 Feb 2001 22:00:25 -0800 From: "Matt Sergeant" <matt@sergeant.org> Sent: Thursday, February 08, 2001 03:01 PM > On Thu, 8 Feb 2001, Perrin Harkins wrote: > > > In short, Zope wants to be more, but currently is difficult to figure > > out. That could be just my Perl experience, but I understood more of > > OpenInteract in half an hour than I did with Zope after several tries over > > the last few years. > > Of course that may have a lot to do with your background. Zope isn't a > tech tool like what we have coming out for mod_perl at the moment - its a > much higher level. This is both good and bad, of course. > > Personally I think CMS' are very important, but then I > would: http://axkit.com/products/axkit-cms/ :-) Zope has a very cool concept behind it, an object oriented web, where every resource behind every URL is an instantiation of a class. Every URL resource is both content and active component. The idea is that there is intelligence behind each piece of content, particular to that piece of content. A PDF object is not just a PDF file, it's also an interface to index the PDF, provide a summary of itself to an RSS file producer for example. Folders in the path to a piece of content can affect that content, so a particular piece of content can take on a different character depending upon where it is placed. It's more than just a CMS system, it's object orientation as applied to web resources. Whereas in OpenInteract, every piece of content is managed by a central component and one of its methods. Like /BasicPage/edit?id=2345. This is more like a procedural model than Zope's OO model. I'm still digging into OpenInteract, having just installed it a few nights ago. Still don't have much else to say about OI, though it looks pretty neato keen. Anyway, as for the complexity of Zope: If I understand the architecture correctly, is that Zope is the combination of what used to be three separate systems. I know one was persistence, the other was an ORB exposing object methods to web calls, not sure of the third. Maybe the templating system? But to me, it seems that they've been joined together in a Frankenstein kinda way. I mean you see things like "bobobase_modification_time" as the standard object property, and a jumble of other non-intuitively named properties, API calls. Not to mention that the DTML language doesn't resemble any other templating language I've seen, nor does it seem to have an easily graspable rhyme or reason for things. And, one of my pet peeves, they're trying to make it "XML compliant". Which to me means that it's looking more and more like the HTML I'm templating, and that's bad. I would like my template language to look distinct enough from what I'm templating, like Template Toolkit's [% %] default construct. So add on top of that a sparse patch of docs, and it's hard to wrap one's brain around. Now, if only I could get back to un-mothballing Iaijutsu/Iaido and do Zope the right way under perl... :) === To: "L.M.Orchard" <deus_x@pobox.com> From: Perrin Harkins <perrin@primenet.com> Subject: Re: [Templates] Re: ANNOUNCE: OpenInteract Web Application Server Date: Fri, 9 Feb 2001 11:03:23 -0800 (PST) On Thu, 8 Feb 2001, L.M.Orchard wrote: > Now, if only I could get back to un-mothballing Iaijutsu/Iaido and do Zope > the right way under perl... :) When I first looked at OI, I was thinking that it has a lot of the plumbing (O/R mapping, security model, application model) covered and you could probably write something like Iaido as an object publisher for it. I know Iaido has quite a few whizbang features that aren't currently in OI, but I think they could be fit into it, to the benefit of all. === To: "L.M.Orchard" <deus_x@pobox.com> From: Chris Winters <chris@cwinters.com> Subject: Re: [Templates] Re: ANNOUNCE: OpenInteract Web Application Server Date: Wed, 7 Feb 2001 00:46:49 -0500 * L.M.Orchard (deus_x@pobox.com) [010207 00:07]: > So, I'm trying to install OpenInteract now since from 50,000 ft it sounds a > lot like what I was trying to do with Iaido. Using Template Toolkit for the > presentation... abstracted data management... Need to look around more. > I'd be more than glad to help you and maybe even have Iaido get eaten up by > your project since I seem to have lost the momentum to sustain it by myself. > There are a lot of neat things going in in Iaido, and still on my TODO list > for it to get completely tossed, though. (Like, I really want to get that > FTPd interface to the data store up and running again :) ) > > Anyway, having major problems getting past the oi_manage install_sql step so > far, maybe I'll post to the -dev list or the bugs on sourceforge. It's probably early to talk about one project swallowing another :-) I'm certainly not shy about looking for great ideas wherever they are. And now that OpenInteract is out I hope to take a step back and look at other environments for inspiration. (Building some services on top of POE would be extremely cool, for starters.) One of the things OpenInteract has going for it is that a company (intes.net) uses it constantly and pays people to develop applications for it. I'm finding how difficult it is to do more programming after hours, even fun stuff like this. This is getting rapidly OT. Moving this onto the -dev list is a good idea. Thanks, Chris ===