[Zope-PTK] Comparision with SquishDot

Steve Alexander steve@cat-box.net
Mon, 26 Jun 2000 09:05:55 +0100


David,

At this point, I'd better let on that I've never developed a site using
Squishdot. Someone else who is experienced in that might chip in later
:-)

I'll answer your answers in terms of what I know and think about PTK.
The main difference is that Squishdot is available and ready to go right
now. The PTK will need more development from you to get it working how
you want it.

Having said that, PTK is much more powerful. There has been talk of
making Squishdot into a PTK application at some distant point in the
future.

David Burch wrote:
> 
> > What are you aiming to do?
> 
> I am trying to build an online site targeted towards writers, with a daily
> writing quote, columns, classified ads (writing markets), and writing links
> organized by topic (Yahoo-like). 

I'm showing a demonstration site (built using PTK) that does all this,
to clients this very afternoon.

Basically, you write (in Python and DTML) your various portal-content
types. I'm using ZTopics for the Yahoo-like organisation of topics.

Writing the portal-content types isn't that hard -- just not
particularly documented.

> I would like to build the system so that
> members could manage as much of the material as possible.

PTK is excellent for this. Most users have just the "Member" role, and
they can write stuff, but can't make it public.
You give some users the role "Contributor", and they can publish their
own stuff. You give special trusted users the role "Reviewer", and they
can choose to publish Member's stuff for them.

> How many users?
> <= 40,000 to start.

PTK will handle this, but you will probably want to wait for BTree-based
folders so that the vast number of members' folders as subfolders of
"Members" doesn't become a bottleneck.

You can hack the source so that members' folders are spread about in
some sort of sensible pattern, instead. Trivial example follows:

  Members
    A
      arthur
      andrew
    B
      bob
      bill
    C
      ...

You will also want to think about whether you'll keep the members'
details (username, password, roles, other simple stuff) in a ZODB Rack
in the LoginManager, or whether you want to put them in some external
database such as LDAP or RDBMS. This decision depends largely on whether
you want easy access to the membership data, so that it can be
integrated with other things such as mailing list managers, newsgroup
access, credit-card gubbins.

> > Do your users take on different roles?
> I envision the columns being posted by members (or myself at first) but
> approved by myself before appearing on the website.  As the site grows, I
> hope to have different people serving in the approval role for different
> sections of the website.

Answered above.

> > When do you aim to deliver a working version?
> This is open-ended.  I currently have a website that serves to advertise
> online writing groups.  Basically, the answer is however long it takes.
>
> > How critical is the timing of the project?
> Not critical.

You can use the PTK with confidence :-)

PTK isn't going away. It's just taking a while to mature.

> > What is your project team's background in developing software in Python?
> > What is your project team's background in developing software using
> > Zope?
> 
> The team is me.  And I currently program mainly in Perl, and I'm getting
> acquainted in C, TCL, and Vignette StoryServer at work.  I have no
> experience in Python or Zope. 

You'll need to get some :-)  I suggest you learn Python, just as a
programming language, at the same time as you start playing with
External Methods and products such as the Boring Product in Zope.

If you already know one imperative language well, you'll pick up Python
quickly. The only think that seems to take some folk a bit of time is
really getting happy with Python's take on Object-Orientation. The good
news is that python's Object model is also easy to learn, and is largely
explicit and transparent, rather than implicit (like Java's). This makes
it easy to develop a complete mental "device model" of Python's OO.


> My ISP uses a shared version of Zope, so I
> have no access to Z Classes.  Both PTK and SquishDot are installed but I
> don't know if I can expect them to keep up with new releases.

From what you say here, I don't think your ISP's shared version of Zope
will be any good for what you want, if you go with PTK. You need your
own Zope instance that you can install Python products and ZClasses
onto.

> > How do you expect the system's requirements to evolve over the next
> > three months?
> 
> I don't expect to have it done in three months.

Even better :-)

> I expect small changes
> three months after deployed.  Most of the changes I envison have to do with
> the member interface in their roles in the website:  Enhancements to posting
> columns, new type of material they can post, preference customizations.

Nothing too hard here.

> > Do you need to interface with external systems for authentication?
> 
> No.
> 
> > Do you need to interface with databases other than the ZODB?
> 
> No.  My ISP will not support this.
> 
> Note:  If this project outgrows its current environment, I plan to move to a
> co-located server where I could use Apache and Zope and an external DB if I
> needed it (probably MySQL, Oracle I come into some cash).

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net