[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Here is a preliminary DB tables for the 'edara' (task/project manager).
Let me know if I'm missing any major pieces or if something doesn't make
sense (the calendar is the more difficult part, esp with its 'repeated'
entry - please visualize that code in terms of any missing table parts).

Look-n-Feel: the idea is to have something like epiware.com (note TABs),
but with the calendar looking like webcalendar.sourceforge.net.  Each
one of these things (admin, tasks, users, calendar) should be its own
pluggable project into edara, so that in the future if someone wants
to write a time-tracker (or whatever), no problem - write it and edara
will create a TAB for it and it'll all play together.

 - Nadim

# admin_priv 	- privilage, 0:no_priv, 1:admin, 2:user
# admin_options - options, unknown as this time
# admin_login	- last login info (update with NULL to rewrite)
CREATE TABLE edara_admin
  admin_id	smallint	NOT NULL unsigned auto_increment,
  admin_name	tinytext	NOT NULL,
  admin_email	tinytext	NOT NULL,
  admin_passwd	tinytext	NOT_NULL,
  admin_priv	tinyint		NOT_NULL default '0',
  admin_options	tinytext	NULL,
  admin_login	timestamp	NULL,
  PRIMARY KEY (admin_id)

# task_approved    - valids (N, Y if self-entry)
# task_create_date - in the format YYYYMMDD
# task_due_date    - in the format YYYYMMDD
# task_status      - valids (OPEN, ANALYZED, REJECTED, CLOSED)
# task_email	   - notes a list of email addresses to mail info to (if any)
CREATE TABLE edara_task
  task_id		smallint	NOT NULL unsigned auto_increment,
  task_from_id		smallint	NOT NULL unsigned,
  task_to_id		smallint	NOT NULL unsigned,
  task_approved		char	(1)	NOT NULL,
  task_subject		tinytext	NOT_NULL,
  task_create_date	int		NOT_NULL,
  task_due_date		int,
  task_status		tinytext	NOT_NULL,
  task_desc		text,
  task_email		text,
  PRIMARY KEY (task_id)

# task_apporved    - valids (N, Y)
# user_create_date - in the format YYYYMMDD
# user_bday        - birthdate in the format YYYYMMDD
# user_from        - person from orignally,   format "city, country"
# user_at          - person living currenlty, format "city, country"
CREATE TABLE edara_user
  user_id		smallint	NOT NULL unsigned auto_increment,
  user_approved		char	(1)	NOT NULL default 'N',
  user_create_date	int		NOT_NULL,
  user_name		tinytext	NOT NULL,
  user_email		tinytext	NOT NULL,
  user_bday		tinytext	NOT_NULL,
  user_from		tinytext	NOT_NULL,
  user_at		tinytext	NOT_NULL,
  user_skill		tinytext	NOT_NULL,
  user_desc		text		NOT_NULL,
  PRIMARY KEY (user_id)

# task_approved   - valids (N, Y if self-entry)
# cal_create_date - in the format YYYYMMDD
# cal_day_alph	  - valid (MON, TUE, WED, THU, FRI, SAT, SUN)
# cal_private	  - valid (N, Y) w/ Y others see blocked time no what's in it
# cal_duration	  - is in minutes
# cal_repeated	  - valid (NO, DAILY, WEEKLY, BI-WEEKLY, MONTHLY)
CREATE TABLE edara_calendar
  cal_id		smallint	NOT NULL unsigned auto_increment,
  cal_user_id		smallint	NOT NULL unsigned,
  cal_approved		char	(1)	NOT NULL,
  cal_create_date	int		NOT_NULL,
  cal_year		int	(4)	NOT_NULL unsigned,
  cal_month		int	(2)	NOT_NULL unsigned,
  cal_day_num		int	(2)	NOT_NULL unsigned,
  cal_day_alph		char	(3),
  cal_subject		tinytext, 	NOT_NULL,
  cal_desc		text,
  cal_private		char	(1)	NOT_NULL default 'N',
  cal_duration		smallint,
  cal_repeated		tinytext	NOT_NULL default 'NO',
  PRIMARY KEY (user_id)

Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!