[Zope] HR Department Org Chart

rgines@purina.com rgines@purina.com
Thu, 2 Dec 1999 18:08:55 -0600


I am getting ready to build an Organizational Chart 'product' within Zope.
Since I still consider myself somewhat of a newbie I'm actually trying to
plan this thing before I dive into building it (I know that is a scary
thought ... trust me, I usually just dive right into things without
thinking ... so I am in new territory here <g>)

Since several of you have MUCH more experience with Zope I'd like to throw
out some ideas with the hope that those of you who have mastered the Zen of
Zope can share some of your wisdom.   Of course if I do manage to make
something of this it'll show up on the Zope site.


THE STRUCTURE

I am planning on a structure similar to the following

/OrgChart - - - -
          /DeptHead1 - - -
                    /Manager1 - - -
                              /surf1
                              /peon2
                              /slave3
                    /Manager2 - - -
                              /Moe
                              /Curly
                              /Larry
          etc, etc, etc

I do not see any difficulty with being able to display the charts using the
tree functionality.   I'm pretty comfortable here.

I would like to be able to have DeptHeads and managers be able to
add/delete/edit any objects below them.   I am assuming that this will be
handled fine through local roles.   Does anyone see a problem with this?

This one has me stumped and am hoping that it is just brain fart.   If I
have user (employee) log on at the root,
but would like for them to be able to edit/manage their own editable
information... given the structure above,
how do I find their resource.   I'm looking for something similar to what
the Zope site has for editing /Member/username, however that is a flat
structure.   I understand how to find things UP a tree structure, but how
would I find something DOWN the structure.   Do I have to make this thing
ZCatalog aware, or can I just use the standard ZCatalog indexing?   I think
I am making this too difficult, but am stumped.

If there is employee information which can be edited, would it make sense
to have this information stored as properties to 'username' or should I
create separate standard DTMLDocuments which can be edited by the user?
I'm going to want to hide even the 'Zope' interface from these users as
much as possible.

If a user wants to build a 'homepage' off their directory using a 'web
design tool'.  Is there a way to create a 'virtual' or 'aliased' directory
structure based on userid?   Right now, the current FTP server that I am
using lets me alias an n-deep directory structure and map to a single root
level directory based on userid.   It's pretty cool.

I think I understand everything else that I need.   Thanks in advance for
your wisdom ....