[Zope] User Profiles?

Hadar Pedhazur hadar@verticality.com
Sat, 13 Mar 1999 10:11:11 -0500


    Jeff> I am working on a web site for a local outdoors
    Jeff> group. They have about 1,000 members and are
    Jeff> growing fast, but their web site needs help. I had
    Jeff> lunch with their leader today, and strongly
    Jeff> advocated the use of Zope to redo their entire web
    Jeff> site. He loved my ideas, and gave me the go ahead
    Jeff> on the site.

Cool. Sounds like a very good fit for Zope.

    Jeff> Now, my first question (I'm sure I'll have many)
    Jeff> to the group is: How do I create user profiles?
    Jeff> Each user of the system needs to have specific
    Jeff> information associated with them including: full
    Jeff> name, address, telephone numbers, a picture (gif
    Jeff> or jpeg, easily uploadable by the user), their
    Jeff> interests, a history of the events they've
    Jeff> sponsored and/or attended, a buddy list (basically
    Jeff> just a collection of other member ids), and so on.

There are many ways to do this, as you might imagine given
that Zope is a fully programmable environment. One such way
was done by Andy Smith (cc'ed on this reply) in building an
"alumni community site" for our (Andy and my) old
department. The site is http://www.ged.org. Unfortunately,
you won't be able to see much, as it's a password protected
site for members (there are two public pages). However, on
one of the public pages, you will note that it was the
intention all along to publish the source to the site for
the Zope Community at large.

As functional as the site is already, I think Andy had some
very cool extensions in mind before opening it up to the
public. Still, he can easily ship you the GEDUserFolder that
he built to keep track of everyone's contact info (easily
extendible to all of the fields you have in mind). As a user
of the site, I can assure you that it's a breeze to use!

Perhaps, this will also be incentive enough for Andy to
polish off some of his other goodies and release them :-)

    Jeff> I have downloaded the UserDb product, and figure I
    Jeff> might be able to extend it to support the extra
    Jeff> columns I require. However, a big part of me wants
    Jeff> to keep as much of this in Zope as I can. I like
    Jeff> the idea of the objectstore, and don't necessarily
    Jeff> like having to fudge SQL tables every time I add
    Jeff> or remove an attribute from the profiles (not that
    Jeff> I will be doing that, necessarily).

Andy's stuff above is all kept in the Zope DB :-)

    Jeff> What do those with a higher Zope Zen Rating than I
    Jeff> suggest in this situation? I'm also going to be
    Jeff> making an Events Calendar, which is connected up
    Jeff> with all the User information (who's running the
    Jeff> event, who's signed up to attend, etc.). Is all of
    Jeff> this something that Tabula would be good for? If
    Jeff> so, who do I have to sleep with to get it? :^)

Tablua, what's that? Just kidding, it's now called Z Tables
:-). For the moment, we are actively selling (without
actively promoting) Z Tables. While you get the source, it
is _not_ an Open Source product. The license does not permit
redistribution of any kind, and does not permit derivative
works, etc. It does, however, permit you to use it to
operate any kind of website, including a publicly accessible
one, etc... The price is dirt cheap for the functionality
(IMHO). The license also has a clause that specifically
permits Digital Creations to eventually release Z Tables as
Open Source(tm). Meaning, when we're ready to release it,
don't be mad that you paid for it when others get it for
free... This is important, because it is our intention that
over time, the vast majority of our stuff will be Open
Source!

So, why do we charge now? A few reasons:

1) The docs are really weak. Rather than get beat up in
   public for it, we have a license clause that forces you
   to acknowledge that the docs are weak, and that you need
   to be able to read source to really understand the full
   power.

2) Support. Everything that we put out there causes a
   certain amount of extra work. The more sophisticated the
   code, the more work. Z Tables is _hot_, so if it were out
   there in its current form, everyone would want to use it
   (trust me on this one!), so it would become a support
   burden for us. Pay us for the product, and it's worth our
   while to support you!

3) Before putting out something to the world, we really want
   to make sure it's been beat up. It may sound strange that
   we would charge people to help us turn something into a
   polished product, but it's already powerful enough to
   solve real problems, so motivated users are our best bet
   to help us achieve our goals for a more general release.

See some earlier posts from people who have recently gotten
Z Tables! For example, check out a recent
"performance-oriented" post by Theodore Patrick of
Indigo Networks!!!

    Jeff> I am willing to write up a case study,
    Jeff> testimonial, contribute any code I write back to
    Jeff> the community, etc., whatever is requested. I just
    Jeff> want to do a good job for these guys, making
    Jeff> myself and Zope look good in the process.

Wonderful.

    Jeff> HELP! *grin*

I hope this helped at least a little...

    Jeff> Jeff K. Hoffman

Hadar