Hi,

QUESTIONS (please read background before responding)

   * Would it be a help if I started a Functional Requirements
     document for the JetSpeed groupware stuff?
     (at http://www.officevision.com/pub/jetspeed/ )
   * Can we bounce around some proposals of what the package
     structure should be in the medium-term?
   * Should this structure follow some of the conventions
     for the "om" (object model) package reorganization
     being discussed on the turbine list?

Stephen

BACKGROUND

It sounds like Jeff has done a lot with calendaring
and Sandy has done a lot with project/task management.
Jeff suggested a new package that his calendar code would
be in and has volunteered to help additionally on Turbine-
integration with Sandy's code.

Currently, the package structure for JetSpeed is

   package org.apache.jetspeed.admin;
   package org.apache.jetspeed.calendar.simplestore;
   package org.apache.jetspeed.calendar;
   package org.apache.jetspeed.messaging;
   package org.apache.jetspeed.portal.portletmarkup;
   package org.apache.jetspeed.portal.portlets;
   package org.apache.jetspeed.portal.servlets;
   package org.apache.jetspeed.portal;
   package org.apache.jetspeed.test;
   package org.apache.jetspeed.util;
   package org.apache.jetspeed.xml.cache;
   package org.apache.jetspeed.xml.providers.impl;
   package org.apache.jetspeed.xml.providers;
   package org.apache.jetspeed.xml.rss.abstraction;
   package org.apache.jetspeed.xml.rss.downlevel;
   package org.apache.jetspeed.xml.rss;
   package org.apache.jetspeed.xml.subscriptions;
   package org.apache.jetspeed.xml;
   package org.apache.jetspeed;

I derived this simply by executing

   grep '^package' $(find org -name '*.java' -print) | sed -e 's/.*://' |
sort -u

on the source tree.
Jeff suggested the addition of

   package org.apache.jetspeed.icalendar;

How does this relate to the reorganization of Sandy's source code
or integration with turbine?  Currently, she uses only one package

   package org.apache.jetspeed.project;

She has the following classes all in that same package

   org/apache/jetspeed/project/Organization.java
   org/apache/jetspeed/project/Project.java
   org/apache/jetspeed/project/Timesheet.java
   <others, utility classes, etc.>

Among other things, she mentions the following future or current
functionality

   projects, tasks, clients, contacts, employees, notes sections 
   for each, allowing for discussion groups, etc.

It seems to me that if we want to make a separate package for
each major contributor, that is certainly a way to manage the
code in the short term.

However, in the longer term, I would propose that the package
structure (and the identification of business object classes) 
be driven by a bigger vision of where the functionality is going.
(i.e. The design should be driven by a statement of the
functional requirements. what a concept...)  ;-)

I would volunteer to produce and maintain such a functional
requirements document, unless someone else who has more history
with this project would like to do it or unless someone thinks
this is a bad idea.  I would clearly need contributions from
all of you who have ideas already of what the requirements are
(and what requirements/features the code already implements).

I would probably start by collecting what is already implemented,
add the essential requirements satisfied by MS Outlook, and
then add some of my own ideas that I have a particular interest
in helping implement.

As far as conventions go, the members of the Turbine list have
been discussing a reorganization of the packages within Turbine
to reflect that some of the classes actually implement business
objects, and they should go in a "logical package" (think UML)
under an "om" (object model) package.  A subset of the proposed
Turbine packages is listed below.

   org.apache.turbine.om
   org.apache.turbine.om.peer
   org.apache.turbine.om.user
   org.apache.turbine.om.user.peer
   org.apache.turbine.om.security
   org.apache.turbine.om.security.peer
   org.apache.turbine.util
   org.apache.turbine.util.db

Perhaps a standard for Turbine applications could be to include
the following package structure.

   org.apache.<appname>.om
   org.apache.<appname>.om.<logicalpackage>
   org.apache.<appname>.om.<logicalpackage>.peer
   org.apache.<appname>.util
   org.apache.<appname>.util.db

In this spirit, the project management and calendaring functionality
might be integrated into the following package structure.

   org.apache.jetspeed.om
   org.apache.jetspeed.om.project
   org.apache.jetspeed.om.project.peer
   org.apache.jetspeed.om.calendar
   org.apache.jetspeed.om.calendar.peer
   org.apache.jetspeed.util
   org.apache.jetspeed.util.db

(Or maybe calendaring is in fact part of the "project" package.)

Hopefully the utilities classes, persistence mechanisms, and login
screens can all eventually be rethought over time as part of 
Turbine integration.

P.S. Jeff, I think that the "calendaring client" that you mention
below (if it is servlet/HTML-based) is certainly not too ambitious
for the project.

Stephen

At 10:10 AM 2/12/00 -0500, you wrote:
>
>On Sat, 12 Feb 2000, Kevin A. Burton wrote:
>
>> Jeff Prickett wrote:
>> > 
>> > Kevin,
>> > Hello, I was wondering if you could update us here on the list about
>> > calendaring/project code and if this functionality should be in Jetspeed.
>> > Thanks to another member of the list Sandy's project stuff has a
temporary
>> > home.
>> 
>> +1.  Yes it should be in JetSpeed.  Hopefully integrated via the
>> plugin/portlication infrastructure.  As an FYI I think most JetSpeed
>> code should be done this way.  
>> 
><snip>
>
>Thanks for the reply. I will get the package structure reorganized to
>jetspeed. What do you think of org.apache.jetspeed.icalendar? I will send
>it to you later today or early Sunday.
>
<snip>
>
>5. Write a calendaring client. Maybe this one is too ambitious and it
>might not fit in with the java.apache.org site, ie server applications.
>
<snip>
>
>Jeff Prickett
>[EMAIL PROTECTED]
>



--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to