Mike,
excellent plans for gjyve, but what is the current situation with building
jyva aginst the TDK rather than the old turbine.jar?
Tim
---------------------------------------------
Tim Dudgeon
[EMAIL PROTECTED]
--------------------------------------------
> -----Original Message-----
> From: Mike Haberman [mailto:[EMAIL PROTECTED]]
> Sent: 06 November 2000 7:47 PM
> To: [EMAIL PROTECTED]
> Subject: JYVE status report 11.06.2000
>
>
>
> Hello All,
>
> I'd like to start to post bi-weekly (2/month) status reports. So
> that people can keep in sync with what's going on with the
> new jyve system.
>
> I'd first encourage people to use the current jyve system, so
> that you can become familiar with how everything works and
> let us know how you would like it improved.
>
> What's the new jyve?
> -------------------
>
> I'd like to develop jyve from the ground up to be a
> generic system
> that can be used to manage threaded data (text). I'll call this
> gjyve (generic jyve). The system will allow for
> collaborative data
> management building. The current jyve (FAQ system) will
> be one example
> of using gjyve. Other examples would be to do lists,
> problem-solution
> system, even things like organizing a report might be
> possible. You
> will be able to organize the system in any way that best
> fits your
> needs. For example, you might want your faq set up to be:
>
> Project --> Question --> Answer
> or
> Questions --> answers -> reviews
>
> A to do list might be
> Project --> item --> responsible party
>
>
> When's it going to be ready ?
> ----------------------------
>
> Good question. I've been busy on other projects, but my time
> will free up so I can devote myself close to full
> time on this.
>
> I am tinkering with the idea of documenting
> everything as I
> go along so that I can then publish a step by
> step manual
> of using Turbine to develop a web app,
> including alternative
> ways of doing things. This will slow down
> the development
> cycle, but it may be worth it. let me know.
>
> Here's a general outline of stuff I want to get working before
> a cvs distribution is available. I really want to
> avoid putting
> out anything that doesn't work.
>
> 1. refine the db schema (jyve.xml)
> 2. use torque to build all the om stuff so that the sql for
> mysql and postgres are solid. (working with jason on this
> now)
> 3. get basic templates built so that basic stuff works (sans
> permission system)
> 4. create the distribution tree and get the basics in there
> so we can all start the development
> (directory structure, ant, docs/how tos)
>
> Once we get the basics working....
> 5. get the permission system in
> 6. refine all the templates/screens
>
>
> Here's the latest schema for gjyve. Take a look at it
> and post/send me
> comments. Remember, if we try to be all things to
> all people, this
> project will get nowhere fast. I am trying to keep
> it as lean as
> possible without sacrificing too much functionality.
>
>
> more soon!
>
> mike
>
>
> So here's nailing down #1 above:
> BTW, you can now have several projects in the same database!
>
> //
> // The parent table
> //
> DROP SEQUENCE Project_id_seq;
> DROP TABLE Project;
> CREATE TABLE Project
> (
> id SERIAL, // auto increment primary key
>
> name varchar(80) NOT NULL,
>
> displayOrder integer DEFAULT 0,
>
> // status
> deleted char NOT NULL DEFAULT 'N',
> released char NOT NULL DEFAULT 'N',
>
> // who did what, when
> createdBy integer, // fkey into Visitor
> deletedBy integer,
> modifiedBy integer,
> modifedDate timestamp default 'now',
>
> releasedBy integer,
> releasedDate timestamp default 'now',
>
>
> // web/ui info to dynamically serve up views
> templateName varchar(80),
> iconFile varchar(80),
> cssFile varchar(80),
>
> PRIMARY KEY(id)
> );
> create unique index p_idx1 on project (name);
>
>
> //
> // project level allows you to assign semantic meaning to each
> // level of a project. This table will be populated by the author
> // of the project
> //
> DROP SEQUENCE ProjectLevel_id_seq;
> DROP TABLE ProjectLevel;
> CREATE TABLE ProjectLevel
> (
> id SERIAL, // auto increment primary key
>
> projectId integer NOT NULL, // fkey into Project
>
> name varchar(80) NOT NULL,
> levelValue integer NOT NULL default 0,
>
> beforeActiontrigger varchar(80),
> afterActiontrigger varchar(80),
> // if not null, these classes will be loaded and called when a
> // dataSegment is added, updated, marked as released or deleted at
> // this level
> // it's for the future; perhaps the interface will be
> // ClassName.actionToTake(actionName, dataSegment)
> // ClassName.actionCompleted(actionName, dataSegment)
> // triggers best belong on the server side, but it's a
> way to cleanly
> // attach additional business logic to the system where
> the only client
> // will be jyve and the dbase doesn't support
> triggers/stored procedures
>
> // options available for tagging the data (in
> DataSegments) at this level
> optionGroupId integer, // fkey into OptionGroup
> // options available for tagging any dates at this level
> optionGroupDateId integer, // fkey into OptionGroup
>
>
> // web/ui info to dynamically serve up views
> templateName varchar(80),
> iconFile varchar(80),
> cssFile varchar(80),
>
> PRIMARY KEY(id)
> );
> create unique index pl_idx1 on projectlevel (id, projectId);
> create unique index pl_idx2 on projectlevel (projectId, name);
>
>
> //
> // dataSegments are the threaded data that belong to a project
> //
> // NOTE: projectLevelId must be updated if parentId is changed.
> // this will only occur when a data segment is moved from one
> // branch to another, the UI for this is not a priority right now.
> // so we won't worry about this for awhile
> // assert: (this.projectLevel.level == parent's
> projectLevel.level + 1)
> //
> DROP SEQUENCE DataSegment_id_seq;
> DROP TABLE DataSegment;
> CREATE TABLE DataSegment
> (
> id SERIAL, // auto increment primary key
>
> parentId integer NOT NULL default 0, // fkey into DataSegment
>
> projectLevelId integer not null, // fkey into ProjectLevel
>
> // the actual text data
> html text NOT NULL,
>
> optionId integer, // fkey into Option; can be null
>
> // order in which to display it
> displayOrder integer DEFAULT 0,
>
> // status
> deleted char NOT NULL DEFAULT 'N',
> released char NOT NULL DEFAULT 'N',
>
> // who did what, when
> createdBy integer, // fkey into Visitor
> deletedBy integer,
>
> modifiedBy integer,
> modifedDate timestamp default 'now',
>
> releasedBy integer,
> releasedDate timestamp default 'now',
>
> PRIMARY KEY (id)
> );
> create index ds_idx1 on datasegment (parentId);
> create index ds_idx2 on datasegment (projectLevelId);
>
>
> // a data segment can have 0 or more dates
> DROP SEQUENCE DataSegmentDate_id_seq;
> DROP TABLE DataSegmentDate;
> CREATE TABLE DataSegmentDate
> (
> id SERIAL, // auto increment primary key
>
> dataSegmentId integer,
> optionId integer, // fkey into Option
> date date,
> info varchar(80),
>
> PRIMARY KEY (id)
> );
> create index dsd_idx1 on datasegmentdate (dataSegmentId);
>
>
> //
> // the following tables allow you to assign additional
> // type information to each dataSegment and dataSegmentDates
> // it's a way to generically tag data
> // usually the author of the project will populate these tables
> // Note that they are project independant
> //
> DROP SEQUENCE optiongroup_id_seq;
> DROP TABLE OptionGroup;
> CREATE TABLE OptionGroup
> (
> id SERIAL, // auto increment primary key
>
> name varchar(80) NOT NULL,
>
> PRIMARY KEY(id)
> );
> create unique index og_idx1 on optiongroup (name);
>
> DROP SEQUENCE option_id_seq;
> DROP TABLE Option;
> CREATE TABLE Option
> (
> id SERIAL, // auto increment primary key
>
> optionGroupId integer not null,
> name varchar(80) NOT NULL,
>
> PRIMARY KEY(id)
> );
> create index op_idx1 on option (optionGroupId);
> create unique index op_idx2 on option (optionGroupId, name);
>
>
>
>
> --
> --------------------------------------------------------------
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> Archives and Other: <http://java.apache.org/main/mail.html>
> Problems?: [EMAIL PROTECTED]
>
--------------------------------------------------
DISCLAIMER: This message contains proprietary
information some or all of which may be
confidential and/or legally privileged. It is for
the intended recipient only who may use and apply
the information only for the intended purpose.
Internet communications are not secure and
therefore the British Biotech group does not
accept legal responsibility for the contents of
this message. Any views or opinions presented are
only those of the author and not those of the
British Biotech group. If you are not the intended
recipient please delete this e-mail and notify the
author immediately by calling ++44 (0)1865 748747;
do not use, disclose, distribute, copy, print or
rely on this e-mail.
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Archives and Other: <http://java.apache.org/main/mail.html>
Problems?: [EMAIL PROTECTED]