[Zope] CRM and Zope

Anthony Baxter Anthony Baxter <anthony@interlink.com.au>
Wed, 08 Sep 1999 12:07:44 +1000


>>> Bjorn Stabell wrote
> We're currently evaluating customer relationship management (CRM)
> solutions for future projects.  The main contenders are BroadVision
> and Vignette so far, but it's hard to navigate the forest of CRM
> solutions.

I've built a simple customer system here in Zope, which is gradually 
accreting new features. It was amazingly easy to do.

> I am, however, concerned with Zope's maturity and comprehensiveness
> compared to current state-of-the-art commercial solutions.  I'd like
> to hear other people's opinions as well.  

While it's not as full-featured out of the box, that it's so easy to 
work with, and you get source, more than make up for this (imho). Trying
to build your absolutely critical business processes using hard-to-modify 
commercial software is (to me) foolish. Unless your business conforms to
one of the preset notions that the software vendor had in mind, you're
going to be severely constrained.

> 1) Work-flow.  Zope doesn't seem to have any inherent work-flow
> capabilities, so I guess that'll have to be developed?  Is anyone
> working on tools and toolkits for this?

I've refrained from pre-announcing this, but seeing as it's come up - 
I hope to have an initial workflow system in Zope available "soon".

> 2) Personalization.  Again, this can undoubtably be developed in Zope,
> but is anyone working on toolkits to lift the personalization features
> to a higher level?  Something similar to Vignette's self-learning
> ability (and collaborative filtering like NetPerceptions), and having
> a business layer that allows business types to do targeting is also
> useful.

I'm not sure what you mean here - can you be more specific? Are you
talking about users of the system getting customis(ed,able) views of
the data? The Zope PTK (*nudges DC*) should be a huge help here.

> 3) Content management.  With big websites you need content management
> systems that'll help you keep the content consistent and up-to-date.
> Again, this will have to be developed in Zope.

A lot of the basics for this are already there - you can delegate the
content management out to your heart's content, then give the responsible
users either access to the management screens, or ftp/webdav access. I have
a production system where the content is being maintained by both graphic
design/wordsmith types and also by techies. It seems to work well.
 
> 4) Scalability.  How scalable is Zope when it comes to handling many
> requests, and how does it perform when the database grows?  Are there
> any inherent limitations?

I'll let others answer this. It's a fairly common query on the list - you
might want to check the mailing list archive for more.

> 5) Replication, distribution.  Can the Zope database be replicated and
> the copies kept synchronized?  If not, does anyone have an idea how
> much work it'll be to develop this in Zope (it should be possible to
> do this at a pretty low level, transparently, just above the object
> database layer).

I did some work on this earlier this year, with a "master Zope" that 
was used for management and editing, and "child Zope"s that actually
served up the data. The children would run in read-only mode - when I 
wanted to push out a change, I'd copy the Data.fs file, then restart
the children. This of course meant only one-way distribution of changes.
There were a number of ways to improve this, including just pushing out
the new entries in the Data.fs file.
I've been thinking on occasion about how you'd distribute around changes
from a number of Zope installations to each other (so, without a master). 
It's probably something that could be developed as something outside Zope.

> The good news is that Zope is already so flexible that I think it
> won't take much work, relatively speaking, to develop modules that'll
> lift Zope up to the same level as commercial solutions.  Any efforts
> going on already?

Sure. :)