[Zope] Pre-newbie question: how to implement this app?
Don Dwiggins
dwig@competitive-knowledge.com
08 Nov 2000 09:28:14 -0800
I'm calling this a "pre-newbie" question because I'm not running Zope yet,
although I've been looking into it for some time, and have recently started
reading in earnest.
I have an application that I think would be a good initial app for getting
into Zope, and I'd like some advice on how to go about it. It's a basic
task list management system for a small group of developers, and it has the
following characteristics:
- There are two main entities: Task and Person. The relationship between
them is many-to-many (a person may be assigned to multiple tasks, a task
may have multiple people assigned).
- There will be a relatively small number of tasks and people.
- Tasks will be added, removed, and modified frequently; people less so.
- When a task or person is removed, integrity should be maintained by
removing assignments involving the removed entity.
- I'll start with a couple of basic views that let people see the tasks,
their status, assignments, priorities, etc. Later, there'll probably be
more.
- I want to be able to add attributes to both entities at will.
- Initially, I'll be maintaining the list, but I'd like to add the
capability for people to sign up for tasks, and to change the status of
tasks they're assigned to.
- Security isn't an issue here, but avoiding blunders is.
Questions:
- What are the pros and cons of storing the entities in the ZODB vs. a
relational DB?
- How best to represent the many-to-many relationship? (Usually, in a
relational DB, I'd use a relationship table such as PersonTaskAssignment.)
In particular, how does Zope handle references between independent
objects?
- What Zope products should I consider using to aid in the implementation?
- Is there already an app like this that I could adapt?
Thanks for any good words you can offer,
Don Dwiggins
Competitive Knowledge, Inc.