Index: openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-table-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/sql/postgresql/Attic/project-manager-table-create.sql,v diff -u -r1.15 -r1.15.2.1 --- openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-table-create.sql 3 Oct 2003 22:21:45 -0000 1.15 +++ openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-table-create.sql 4 Dec 2003 21:00:13 -0000 1.15.2.1 @@ -14,6 +14,45 @@ -- PROJECTS +create sequence pm_project_status_seq start 3; + +create table pm_project_status ( + status_id integer + constraint pm_project_status_pk + primary key, + description varchar(100), + -- closed or open + status_type char(1) default 'c' + constraint pm_projects_status_type_ck + check (status_type in ('c','o')) +); + +insert into pm_project_status (status_id, description, status_type) values +(1, 'Open', 'o'); +insert into pm_project_status (status_id, description, status_type) values +(2, 'Closed', 'c'); + +-- categories + +create sequence pm_project_category_seq start 5; + +create table pm_project_category ( + category_id integer + constraint pm_project_category_pk + primary key, + description varchar(100) +); + +insert into pm_project_category (category_id, description) values +(1, 'On the market'); +insert into pm_project_category (category_id, description) values +(2, 'Trials'); +insert into pm_project_category (category_id, description) values +(3, 'Upcoming'); +insert into pm_project_category (category_id, description) values +(4, 'R & D'); + + create table pm_projects ( project_id integer constraint project_manager_id_fk @@ -27,6 +66,11 @@ planned_end_date timestamptz, actual_start_date timestamptz, actual_end_date timestamptz, + status_id integer + constraint pm_projects_status_id_nn + not null + constraint pm_projects_status_id_fk + references pm_project_status, ongoing_p char(1) default 'f' constraint pm_projects_ongoing_p_ck check (ongoing_p in ('t','f')), @@ -53,10 +97,20 @@ ); +create table pm_project_category_map ( + project_id integer + constraint pm_project_cm_fk + references pm_projects, + category_id integer + constraint pm_project_cm_fk + references pm_project_category +); + + -- ROLES -create sequence pm_role_seq start 3; +create sequence pm_role_seq start 4; create table pm_roles ( role_id integer @@ -78,15 +132,15 @@ or task. For example, they could be a manager, or client, or participant.. The sort order determines what order it is displayed in. The is_observer_p specifies whether they are directly - responsible for the task. People not directly responsible will not - get email notifications reminding them that tasks are overdue, for - example. + responsible for the task, or are just observers on it. '; -insert into pm_roles (role_id, one_line, description, sort_order) values ('1','Participant','Team members who are responsible for the completion of the project','10'); -insert into pm_roles (role_id, one_line, description, sort_order) values ('2','Manager','Manages the team to complete the project or task on time and on budget.','20'); +insert into pm_roles (role_id, one_line, description, sort_order) values ('1','Lead','Team members who are responsible for the completion of the project','10'); +insert into pm_roles (role_id, one_line, description, sort_order) values ('2','Player','A person on the team responsible for completion of the project','20'); +insert into pm_roles (role_id, one_line, description, sort_order, is_observer_p) values ('3','Watcher','A person interested in developments, possibly helping out on it.','30','t'); + create table pm_default_roles ( role_id integer constraint pm_default_role_fk